Skip to content

Instantly share code, notes, and snippets.

View mehmetalierol's full-sized avatar
🥑
Learning

Mehmet Ali EROL mehmetalierol

🥑
Learning
View GitHub Profile
namespace Company.Application.Common.Api
{
#region ObjectResult
/// <summary>
/// Tipi çalışma anında belli olacak ya da kontrol etmek istemediğimiz standart tipler olacak ise bu nesne ile dönüşümüzü yapacağız.
/// Her bir standart ValueType için nesne oluşturmak yerine, object tipinde bir nesne oluşturup kutulama(boxing) yaparak dönüş yapacağız.
/// Kutulama valueType'ların referenceType lara dönüştürülmesidir. Sistem bunu otomatik olarak yapar. Bu nesne oluşturulduğun data propertisine atanacak tip sistem tarafından otomatik olarak explicit boxing işlemine tabi tutulacaktır.
/// </summary>
public class ApiResult
using Company.Application.Common.Enums;
using System;
namespace Company.Application.Common.Data
{
public class EntityBase
{
/// <summary>
/// Tüm entitylerimizde bulunması gereken propertyleri bu base class ile tanımlıyoruz.
/// Bu sınıfımızı inherit alacak derived class'ımız dğrudan aşağıdaki propertylere sahip olacak ve biz tekrarlı kod yazmak zorunda kalmayacağız
using Company.Application.Common.Enums;
using System;
namespace Company.Application.Common.Dto
{
public class DtoBase
{
/// <summary>
/// Bu sınıfı inherit alacak derived class'larımızın içereceği alanları yazıyoruz
/// Böylece tekrarlı kod yazmanın önüne geçmiş olacağız.
namespace Company.Application.Common.Enums
{
/// <summary>
/// Projemiz içerisinde kullanacağımız tüm durumları bu class içerisinde yazarak hepsini bir araya toplamış olacağız.
/// Bu sayede bir durum ataması yaparken ya da kontrol gerçekleştirirken sadece bu enum'ı kullanmak yeterli olacak.
/// </summary>
public enum AppStatus
{
//Durumlarınızı nasıl tanımlamak isterseniz o şekilde bu kısma yazabilirsiniz ben örnek olması açısından 4 adet tanımladım
Aktif = 1,
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=ApplicationDB;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
using Company.Application.Common.Data;
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace Company.Application.Data.Entities
{
/// <summary>
/// Müşterilerin bilgilerin, tutan sınıf
/// </summary>
using Company.Application.Common.Data;
using System.ComponentModel.DataAnnotations;
namespace Company.Application.Data.Entities
{
/// <summary>
/// Firmaların bilgilerinin tutalacağı sınıf
/// </summary>
public class Organization : EntityBase
{
using Company.Application.Common.Data;
using System;
using System.ComponentModel.DataAnnotations;
namespace Company.Application.Data.Entities
{
/// <summary>
/// Çoklu dil alt yapısına sahip projemizin sözlüğü görevini görecek olan sınıfımız.
/// Kelimelerin hangi diller ne anlama geldiği bu sınıf üzerinde tutulacak
/// </summary>
using Company.Application.Common.Data;
using System.ComponentModel.DataAnnotations;
namespace Company.Application.Data.Entities
{
/// <summary>
/// Uygulamamızda desteklediğimiz dilleri tutan sınıfımız
/// </summary>
public class Language : EntityBase
{
using Company.Application.Common.Enums;
using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;
namespace Company.Application.Data.Entities
{
/// <summary>
/// Bu sınıf IdentityUser sınıfından kalıtım alır ve bu sayede projemize .Net Core Identity yapısını entegre etmiş oluruz
/// Sisteme giriş yapacak tüm kullanıcılar bu sınıf ile yönetilecek