public void Load() { IRepositoryDAL <CustomerDbObject> databaseLayer = DALFactory.CreateCustomerDAL(DALType.ADOSQL); IRepositoryDAL <CustomerDbObject> databaseLayer0 = DALFactory.CreateCustomerDAL(DALType.ADOOLEDB); IRepositoryDAL <CustomerDbObject> databaseLayer1 = DALFactory.CreateCustomerDAL(DALType.EF); IEnumerable <CustomerDbObject> allCustomers = databaseLayer.Search(); }
public void AddCustomerInfo() { CustomerDbObject customer = GenericFactory <CustomerDbObject> .Create("Lead"); IRepositoryDAL <CustomerDbObject> databaseLayer0 = GenericFactory <IRepositoryDAL <CustomerDbObject> > .Create("SQLDatabase"); IRepositoryDAL <CustomerDbObject> databaseLayer = DALFactory.CreateCustomerDAL(DALType.ADOSQL); IRepositoryDAL <CustomerDbObject> databaseLayer1 = DALFactory.CreateCustomerDAL(DALType.EF); databaseLayer.Add(customer); // in memory databaseLayer.Save(); // physical saving }
public TodoListManager() { todoListRepository = new RepositoryDAL(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Task, TaskBL>(); cfg.CreateMap <Category, CategoryBL>(); cfg.CreateMap <CompletedTask, CompletedTaskBL>(); }); _mapper = new Mapper(config); }
public void UOW() // should be within one transaction unit { CustomerDbObject cust = new Customer(); cust.CustomerName = "sample customer"; CustomerDbObject lead = new Lead(); lead.CustomerName = "sample lead"; IRepositoryDAL <CustomerDbObject> dal = DALFactory.CreateCustomerDAL(DALType.ADOSQL); IUnitOfWork uow = new SQLUnitOfWork(GlobalConnectionString.ConnString); dal.SetUnitWork(uow); dal.Add(cust); try { uow.Commit(); } catch (Exception) { uow.RollBack(); } IRepositoryDAL <CustomerDbObject> dal2 = DALFactory.CreateCustomerDAL(DALType.EF); IUnitOfWork uow2 = new EFUnitOfWork(GlobalConnectionString.ConnString); dal2.SetUnitWork(uow2); dal2.Add(lead); dal2.Add(cust); try { uow2.Commit(); } catch (Exception) { uow2.RollBack(); } }
public static IRepositoryDAL <T> CreateDAL <T>(DALType type) { switch (type) { case DALType.ADOSQL: IRepositoryDAL <CustomerDbObject> adoSql = new CustomerSQLDAL(GlobalConnectionString.ConnString); adoSql.SetUnitWork(new SQLUnitOfWork(GlobalConnectionString.ConnString)); IRepositoryDAL <T> valSQL = adoSql as IRepositoryDAL <T>; // here cast T into AbsSimpleCustomerInfo. Bad idea if (valSQL == null) { throw new ArgumentNullException("Cannot convert IRepositoryDAL<CustomerDbObject> to IRepositoryDAL<T>"); } return(valSQL); case DALType.ADOOLEDB: IRepositoryDAL <CustomerDbObject> adoOleDb = new CustomerOLEDAL(GlobalConnectionString.ConnString); adoOleDb.SetUnitWork(new OLEUnitIOfWork(GlobalConnectionString.ConnString)); IRepositoryDAL <T> valOleDb = adoOleDb as IRepositoryDAL <T>; if (valOleDb == null) { throw new ArgumentNullException("Cannot convert IRepositoryDAL<CustomerDbObject> to IRepositoryDAL<T>"); } return(valOleDb); case DALType.EF: CustomerEFDAL ef = new CustomerEFDAL(GlobalConnectionString.ConnString); ef.SetUnitWork(new EFUnitOfWork(GlobalConnectionString.ConnString)); IRepositoryDAL <T> valEF = ef as IRepositoryDAL <T>; if (valEF == null) { throw new ArgumentNullException("Cannot convert IRepositoryDAL<CustomerDbObject> to IRepositoryDAL<T>"); } return(valEF); default: throw new ArgumentException("Don't know what type of DALType"); } }
public Repository(IRepositoryDAL repositoryDAL) { _repositoryDAL = repositoryDAL; }