Example #1
0
        static void CheckDbUpdateConcurrencyExceptionWithDifferentUnitOfWorkAndContext()
        {
            var connectionString = ConfigurationManager.ConnectionStrings["BankDepositsDatabase"].ConnectionString;
            var optionsBuilder   = new DbContextOptionsBuilder <BankDepositsContext>()
                                   .UseSqlServer(connectionString);

            using (var context1 = new BankDepositsContext(optionsBuilder.Options))
            {
                var rand = new Random();

                var unitOfWork = new UnitOfWork(context1);
                IAddressRepository addressRepository = new AddressRepository(unitOfWork);

                var address = new Address();
                addressRepository.Create(address);
                address.Apartment = 5;
                address.House     = 10;
                address.Housing   = "A";
                address.Street    = new Street()
                {
                    Locality = new Locality()
                    {
                        LocalityName = "Partizanski" + rand.NextDouble(),
                        LocalityType = LocalityType.City,
                        Region       = "Minsk"
                    },
                    StreetName = "Frolikova",
                    Postcode   = 220037
                };

                addressRepository.Commit().Wait();

                var addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result;
                PrintAddresses(addresses);

                using (var context2 = new BankDepositsContext(optionsBuilder.Options))
                {
                    var unitOfWork2 = new UnitOfWork(context2);
                    unitOfWork2.ExecuteQuery("Delete from dbo.Addresses where address_id = " + address.Id).Wait();
                }

                addressRepository.Delete(address);

                addressRepository.Commit().Wait();

                addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result;
                PrintAddresses(addresses);
            }

            Console.ReadLine();
        }
Example #2
0
        static void UpdateUseCase()
        {
            var connectionString = ConfigurationManager.ConnectionStrings["BankDepositsDatabase"].ConnectionString;
            var optionsBuilder   = new DbContextOptionsBuilder <BankDepositsContext>()
                                   .UseSqlServer(connectionString);

            using (var context = new BankDepositsContext(optionsBuilder.Options))
            {
                var rand = new Random();

                var unitOfWork = new UnitOfWork(context);
                IAddressRepository addressRepository = new AddressRepository(unitOfWork);

                var address = new Address();
                addressRepository.Create(address);
                address.Apartment = 5;
                address.House     = 10;
                address.Housing   = "A";
                address.Street    = new Street()
                {
                    Locality = new Locality()
                    {
                        LocalityName = "Partizanski" + rand.NextDouble(),
                        LocalityType = LocalityType.City,
                        Region       = "Minsk"
                    },
                    StreetName = "Frolikova",
                    Postcode   = 220037
                };

                addressRepository.Commit().Wait();

                var addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result;
                PrintAddresses(addresses);

                var adr = addressRepository.GetById(address.Id, a => a.Street).Result;
                context.Entry(adr).State = EntityState.Detached;
                adr.Housing = "OLD";
                adr.House   = 0;

                addressRepository.Update(adr);

                addressRepository.Commit().Wait();

                addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result;
                PrintAddresses(addresses);
            }

            Console.ReadLine();
        }
Example #3
0
 public PassportsController(BankDepositsContext context,
                            IEmployeeRepository employeeRepository,
                            IIssuingAuthorityRepository issuingAuthorityRepository,
                            ILocalityRepository localityRepository,
                            IPhoneNumberOperatorRepository phoneNumberOperatorRepository,
                            IIssuingAuthorityLocalityRepository issuingAuthorityLocalityRepository,
                            IStreetRepository streetRepository)
 {
     _context = context;
     this.employeeRepository                 = employeeRepository;
     this.issuingAuthorityRepository         = issuingAuthorityRepository;
     this.localityRepository                 = localityRepository;
     this.phoneNumberOperatorRepository      = phoneNumberOperatorRepository;
     this.issuingAuthorityLocalityRepository = issuingAuthorityLocalityRepository;
     this.streetRepository = streetRepository;
 }
Example #4
0
 public DepositorsController(BankDepositsContext context)
 {
     _context = context;
 }
 public EmployeesController(BankDepositsContext context)
 {
     _context = context;
 }
 public StreetsController(BankDepositsContext context)
 {
     _context = context;
 }
Example #7
0
 public AccountsController(BankDepositsContext context)
 {
     _context = context;
 }
 public IssuingAuthoritiesController(BankDepositsContext context)
 {
     _context = context;
 }
Example #9
0
 public PhoneNumberOperatorsController(BankDepositsContext context)
 {
     _context = context;
 }
Example #10
0
 public CurrencyConversionsController(BankDepositsContext context)
 {
     _context = context;
 }
 public ContractsController(BankDepositsContext context)
 {
     _context = context;
 }
Example #12
0
 public LocalitiesController(BankDepositsContext context)
 {
     _context = context;
 }
 public AddressesController(BankDepositsContext context)
 {
     _context = context;
 }