Skip to content

kad1r/CqrsOrm

 
 

Repository files navigation

CqrsOrm

Simple CQRS Pattern sample with Dapper.Net

public class SampleDapperApp
{
	private IContext context;
	private IConnection connection;
	private AbsSuppliersService service;
	private string connectionString = @"data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\App_Data\Suppliers.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework";
	public SampleDapperApp()
	{
		connection = new DapperConnection(connectionString);
		context = new ContextBase(connection);
		service = new SupplierService(context);
	}

	public void GetSuppliers()
	{
		IEnumerable<Supplier> suppliers = service.GetAllSuppliers();
		DisplaySuppliers(suppliers);
	}

	public void GetSuppliersByCountry()
	{
		IEnumerable<Supplier> suppliers = service.GetSuppliersByCountry(Country.Turkey.ToString());
		DisplaySuppliers(suppliers);
	}

	public void SaveSuppliers()
	{
		Supplier suppliers = new Supplier
		{
			CompanyName = "Deneme " + new Random().Next(1, 1000),
			Country = Country.Turkey,
			ContactName = "Berkay Başöz" + new Random().Next(1, 1000)
		};

		service.SaveSupplier(suppliers);

	}

	public void DeleteSuppliers()
	{
		service.DeleteSuppliers();
	}

	public void DisplaySuppliers(IEnumerable<Supplier> suppliers)
	{
		foreach (var supplier in suppliers)
		{
			Console.WriteLine($"Id {supplier.SupplierId} company {supplier.CompanyName} contact {supplier.ContactName}");
		}
	}

	public void DisplayLine()
	{
		Console.WriteLine($"-----------------------------------");
	}

	public void Wait()
	{
		Console.ReadLine();
	}
}

 public class SupplierService : AbsSuppliersService
{
    public SupplierService(IContext context) : base(context)
    {
    }

    public override void DeleteSuppliers()
    {
        _context.Execute(new DeleteSuppliers());
    }

    public override IEnumerable<Supplier> GetAllSuppliers()
    {

        return _context.Query(new GetAllSuppliers());
    }

    public override IEnumerable<Supplier> GetSuppliersByCountry(string country)
    {
        return _context.Query(new GetSuppliersByCommonName(country));
    }

    public override void SaveSupplier(Supplier supplier)
    {
        _context.Execute(new SaveSupplier(supplier));
    }


}

About

Simple CQRS ORM with Generic Unit of Work and Repository Pattern

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%