Example #1
0
 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();
 }
Example #2
0
        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);
        }
Example #4
0
        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();
            }
        }
Example #5
0
        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");
            }
        }
Example #6
0
 public Repository(IRepositoryDAL repositoryDAL)
 {
     _repositoryDAL = repositoryDAL;
 }