Пример #1
0
        public OccupationDTO AddOccupation(OccupationDTO occupationDTO)
        {
            var occp = new Occupation()
            {
                OrganisationName = occupationDTO.OrganisationName,
                PhoneNumber      = occupationDTO.PhoneNumber,
                WorkType         = occupationDTO.WorkType,
                Designation      = occupationDTO.Designation,
                Patientid        = occupationDTO.Patientid
            };

            _context.Occupations.Add(occp);
            _context.SaveChanges();
            int Occpid = occp.OccupationId;

            var addr = new WorkAddress()
            {
                StreetNumber = occupationDTO.StreetNumber,
                Area         = occupationDTO.Area,
                City         = occupationDTO.City,
                State        = occupationDTO.State,
                Country      = occupationDTO.Country,
                ZipCode      = occupationDTO.ZipCode,
                Occupationid = Occpid
            };

            _context.WorkAddresses.Add(addr);
            _context.SaveChanges();
            return(occupationDTO);
        }
        public WorkAddress Update(WorkAddress addressChanges)
        {
            var address = _context.WorkAddresses.Attach(addressChanges);

            address.State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.SaveChanges();
            return(addressChanges);
        }
Пример #3
0
        public WorkAddress GetWorkAddressIDM(IDMOrganisation org)
        {
            var launderer = new CachedAddressLaunderer(_cachedRepo, _actualLaunderer, _coordinates);

            if (org.Vejnavn == null || org.Vejnavn == "")
            {
                return(null);
            }

            var splitStreetAddress = SplitAddressIDM(org.Vejnavn, org.PostNr, org.PostDistrikt);

            var addressToLaunder = new Address
            {
                StreetName   = splitStreetAddress.ElementAt(0),
                StreetNumber = splitStreetAddress.ElementAt(1),
                ZipCode      = Convert.ToInt32(splitStreetAddress.ElementAt(3)),
                Town         = splitStreetAddress.ElementAt(2),
                Description  = org.Navn
            };

            addressToLaunder = launderer.Launder(addressToLaunder);

            var launderedAddress = new WorkAddress()
            {
                StreetName   = addressToLaunder.StreetName,
                StreetNumber = addressToLaunder.StreetNumber,
                ZipCode      = addressToLaunder.ZipCode,
                Town         = addressToLaunder.Town,
                Latitude     = addressToLaunder.Latitude ?? "",
                Longitude    = addressToLaunder.Longitude ?? "",
                Description  = org.Navn
            };

            var existingOrg = _orgRepo.AsQueryable().FirstOrDefault(x => x.OrgOUID.Equals(org.OUID));

            // If the address hasn't changed then set the Id to be the same as the existing one.
            // That way a new address won't be created in the database.
            // If the address is not the same as the existing one,
            // Then the Id will be 0, and a new address will be created in the database.
            if (existingOrg != null &&
                existingOrg.Address != null &&
                existingOrg.Address.StreetName == launderedAddress.StreetName &&
                existingOrg.Address.StreetNumber == launderedAddress.StreetNumber &&
                existingOrg.Address.ZipCode == launderedAddress.ZipCode &&
                existingOrg.Address.Town == launderedAddress.Town &&
                existingOrg.Address.Latitude == launderedAddress.Latitude &&
                existingOrg.Address.Longitude == launderedAddress.Longitude &&
                existingOrg.Address.Description == launderedAddress.Description)
            {
                launderedAddress.Id = (int)existingOrg.AddressId;
            }
            else
            {
                var a = 2;
            }

            return(launderedAddress);
        }
Пример #4
0
        /// <summary>
        /// Gets work address wor organisation.
        /// </summary>
        /// <param name="org"></param>
        /// <returns>WorkAddress</returns>
        public WorkAddress GetWorkAddress(Organisation org)
        {
            var launderer = new CachedAddressLaunderer(_cachedRepo, _actualLaunderer, _coordinates);

            if (org.Gade == null)
            {
                return(null);
            }

            var splitStreetAddress = SplitAddressOnNumber(org.Gade);

            var addressToLaunder = new Address
            {
                StreetName   = splitStreetAddress.ElementAt(0),
                StreetNumber = splitStreetAddress.Count > 1 ? splitStreetAddress.ElementAt(1) : "1",
                ZipCode      = org.Postnr ?? 0,
                Town         = org.By,
                Description  = org.Navn
            };

            addressToLaunder = launderer.Launder(addressToLaunder);

            var launderedAddress = new WorkAddress()
            {
                StreetName   = addressToLaunder.StreetName,
                StreetNumber = addressToLaunder.StreetNumber,
                ZipCode      = addressToLaunder.ZipCode,
                Town         = addressToLaunder.Town,
                Latitude     = addressToLaunder.Latitude ?? "",
                Longitude    = addressToLaunder.Longitude ?? "",
                Description  = org.Navn
            };

            var existingOrg = _orgRepo.AsQueryable().FirstOrDefault(x => x.OrgId.Equals(org.LOSOrgId));

            // If the address hasn't changed then set the Id to be the same as the existing one.
            // That way a new address won't be created in the database.
            // If the address is not the same as the existing one,
            // Then the Id will be 0, and a new address will be created in the database.
            if (existingOrg != null &&
                existingOrg.Address != null &&
                existingOrg.Address.StreetName == launderedAddress.StreetName &&
                existingOrg.Address.StreetNumber == launderedAddress.StreetNumber &&
                existingOrg.Address.ZipCode == launderedAddress.ZipCode &&
                existingOrg.Address.Town == launderedAddress.Town &&
                existingOrg.Address.Latitude == launderedAddress.Latitude &&
                existingOrg.Address.Longitude == launderedAddress.Longitude &&
                existingOrg.Address.Description == launderedAddress.Description)
            {
                launderedAddress.Id = existingOrg.AddressId;
            }
            else
            {
                var a = 2;
            }

            return(launderedAddress);
        }
Пример #5
0
 public ActionResult Put(int id, [FromBody] WorkAddress address)
 {
     if (id > 0)
     {
         ar.Update(address);
         return(Ok("Address Updated"));
     }
     return(NotFound());
 }
        public WorkAddress Delete(int id)
        {
            WorkAddress address = _context.WorkAddresses.Find(id);

            if (address != null)
            {
                _context.WorkAddresses.Remove(address);
                _context.SaveChanges();
            }
            return(address);
        }
Пример #7
0
 /// <summary>
 /// To add the work address details of the user.
 /// </summary>
 /// <param name="workAddress"></param>
 public void AddWorkAddressDetails(WorkAddress workAddress)
 {
     try
     {
         _clientDbContext.WorkAddress.Add(workAddress);
         _clientDbContext.SaveChanges();
     }
     catch
     {
         throw;
     }
 }
Пример #8
0
        /// <summary>
        /// Gets work address from API Address.
        /// </summary>
        /// <param name="org"></param>
        /// <returns>WorkAddress</returns>
        private WorkAddress GetWorkAddress(APIOrgUnit apiOrgunit)
        {
            var launderer = new CachedAddressLaunderer(_cachedRepo, _actualLaunderer, _coordinates);

            if (apiOrgunit.Address?.Street == null)
            {
                return(null);
            }

            var splitStreetAddress = SplitAddressOnNumber(apiOrgunit.Address.Street);

            var addressToLaunder = new Address
            {
                StreetName   = splitStreetAddress.ElementAt(0),
                StreetNumber = splitStreetAddress.Count > 1 ? splitStreetAddress.ElementAt(1) : "1",
                ZipCode      = apiOrgunit.Address.PostalCode,
                Town         = apiOrgunit.Address.City,
                Description  = apiOrgunit.Name
            };

            addressToLaunder = launderer.Launder(addressToLaunder);

            var launderedAddress = new WorkAddress()
            {
                StreetName   = addressToLaunder.StreetName,
                StreetNumber = addressToLaunder.StreetNumber,
                ZipCode      = addressToLaunder.ZipCode,
                Town         = addressToLaunder.Town,
                Latitude     = addressToLaunder.Latitude ?? "",
                Longitude    = addressToLaunder.Longitude ?? "",
                Description  = apiOrgunit.Name
            };

            var existingOrg = _orgUnitRepo.AsNoTracking().FirstOrDefault(x => x.OrgId.Equals(apiOrgunit.Id));

            // If the address hasn't changed then set the Id to be the same as the existing one.
            // That way a new address won't be created in the database.
            // If the address is not the same as the existing one,
            // Then the Id will be 0, and a new address will be created in the database.
            if (existingOrg != null &&
                existingOrg.Address != null &&
                existingOrg.Address.StreetName == launderedAddress.StreetName &&
                existingOrg.Address.StreetNumber == launderedAddress.StreetNumber &&
                existingOrg.Address.ZipCode == launderedAddress.ZipCode &&
                existingOrg.Address.Town == launderedAddress.Town &&
                existingOrg.Address.Latitude == launderedAddress.Latitude &&
                existingOrg.Address.Longitude == launderedAddress.Longitude &&
                existingOrg.Address.Description == launderedAddress.Description)
            {
                launderedAddress.Id = existingOrg.AddressId;
            }
            return(launderedAddress);
        }
Пример #9
0
 /// <summary>
 /// To delete the user work address details.
 /// </summary>
 /// <param name="workAddress"></param>
 public void DeleteWorkAddressDetails(WorkAddress workAddress)
 {
     try
     {
         _clientDbContext.WorkAddress.Remove(workAddress);
         _clientDbContext.SaveChanges();
     }
     catch
     {
         throw;
     }
 }
        public WorkAddress Add(WorkAddress address)
        {
            _context.WorkAddresses.Add(address);
            _context.SaveChanges();


            //_context.Addresses.Add(new Address()
            //{
            //    StreetNumber = address.StreetNumber,
            //    Area = address.Area,
            //    Locality = address.Locality,
            //    City = address.City,
            //    State = address.State,
            //    Country = address.Country,
            //    ZipCode = address.ZipCode
            //});
            //_context.SaveChanges();

            return(address);
        }
Пример #11
0
 /// <summary>
 /// To upadte the user work address details.
 /// </summary>
 /// <param name="workAddress"></param>
 public void UpdateWorkAddressDetails(WorkAddress workAddress)
 {
     try
     {
         var workAdrs = _masterDbContext.WorkAddress.Where(a => a.UserID == workAddress.UserID && a.WorkAddressID == workAddress.WorkAddressID && a.RoleID == 1).FirstOrDefault();
         if (workAdrs != null)
         {
             _masterDbContext.Entry(workAddress).State = System.Data.Entity.EntityState.Modified;
             _masterDbContext.SaveChanges();
         }
         else
         {
             _clientDbContext.Entry(workAddress).State = System.Data.Entity.EntityState.Modified;
             _clientDbContext.SaveChanges();
         }
     }
     catch
     {
         throw;
     }
 }
Пример #12
0
        /// <summary>
        /// Validates this object. It validates dependencies between properties and also calls Validate on child collections;
        /// </summary>
        /// <param name="validationContext"></param>
        /// <returns>A IEnumerable of ValidationResult. The IEnumerable is empty when the object is in a valid state.</returns>
        public override IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (Type == PersonType.None)
            {
                yield return(new ValidationResult("Type can't be None.", new[] { "Type" }));
            }

            if (DateOfBirth < DateTime.Now.AddYears(Constants.MaxAgePerson * -1))
            {
                yield return(new ValidationResult("Invalid range for DateOfBirth; must be between today and 130 years ago.", new[] { "DateOfBirth" }));
            }
            if (DateOfBirth > DateTime.Now)
            {
                yield return(new ValidationResult("Invalid range for DateOfBirth; must be between today and 130 years ago.", new[] { "DateOfBirth" }));
            }

            foreach (var result in PhoneNumbers.Validate())
            {
                yield return(result);
            }

            foreach (var result in EmailAddresses.Validate())
            {
                yield return(result);
            }

            foreach (var result in HomeAddress.Validate())
            {
                yield return(result);
            }

            foreach (var result in WorkAddress.Validate())
            {
                yield return(result);
            }
        }
Пример #13
0
        public void MigrateHistories()
        {
            var historiesToMigrate  = _provider.GetAddressHistoriesAsQueryable();
            var failedWorkAddresses = new List <string>();
            var failedHomeAddresses = new List <string>();

            var i   = 0;
            var max = historiesToMigrate.Count();

            foreach (var ah in historiesToMigrate)
            {
                if (i % 10 == 0)
                {
                    Console.WriteLine("Migrating AddressHistory " + i + " of " + max + ".");
                }
                i++;

                var currentDateTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

                var employments = _employmentRepo.AsQueryable().Where(x => x.EmploymentId == ah.MaNr);
                var employment  = new Employment();
                if (employments.Count() == 1)
                {
                    employment = employments.First();
                }
                else if (employments.Count() > 1)
                {
                    employment = employments.Single(x => x.EndDateTimestamp == 0 || x.EndDateTimestamp > currentDateTimestamp);
                }


                var homeAddressLookup = new Address();
                var homeAddress       = new PersonalAddress();
                try
                {
                    homeAddressLookup = _coords.GetAddressCoordinates(new Address()
                    {
                        StreetName   = SplitAddressOnNumber(ah.HjemmeAdresse)[0],
                        StreetNumber = SplitAddressOnNumber(ah.HjemmeAdresse)[1],
                        ZipCode      = ah.HjemmePostNr,
                        Town         = ah.HjemmeBy
                    });

                    homeAddress = new PersonalAddress()
                    {
                        Type         = PersonalAddressType.OldHome,
                        PersonId     = employment.PersonId,
                        StreetNumber = homeAddressLookup.StreetNumber,
                        StreetName   = homeAddressLookup.StreetName,
                        Town         = homeAddressLookup.Town,
                        ZipCode      = homeAddressLookup.ZipCode,
                        Latitude     = homeAddressLookup.Latitude,
                        Longitude    = homeAddressLookup.Longitude
                    };

                    homeAddress = _personalAddressRepo.Insert(homeAddress);
                    _personalAddressRepo.Save();
                }
                catch (Exception)
                {
                    failedHomeAddresses.Add(ah.HjemmeAdresse);
                }

                var workAddressLookup = new Address();
                var workAddress       = new WorkAddress();

                try
                {
                    workAddressLookup = _coords.GetAddressCoordinates(new Address()
                    {
                        StreetName   = SplitAddressOnNumber(ah.ArbejdsAdresse)[0],
                        StreetNumber = SplitAddressOnNumber(ah.ArbejdsAdresse)[1],
                        ZipCode      = ah.ArbejdsPostNr,
                        Town         = ah.ArbejdsBy
                    });

                    workAddress = new WorkAddress()
                    {
                        StreetNumber = workAddressLookup.StreetNumber,
                        StreetName   = workAddressLookup.StreetName,
                        Town         = workAddressLookup.Town,
                        ZipCode      = workAddressLookup.ZipCode,
                        Latitude     = workAddressLookup.Latitude,
                        Longitude    = workAddressLookup.Longitude
                    };


                    workAddress = _workAddressRepo.Insert(workAddress);

                    _workAddressRepo.Save();
                }
                catch (Exception)
                {
                    failedWorkAddresses.Add(ah.ArbejdsAdresse);
                }



                var history = new Core.DomainModel.AddressHistory()
                {
                    EmploymentId   = employment.Id,
                    StartTimestamp = (Int32)(ah.AktivFra.Subtract(new DateTime(1970, 1, 1))).TotalSeconds,
                    EndTimestamp   = (Int32)(ah.AktivTil.Subtract(new DateTime(1970, 1, 1))).TotalSeconds,
                    HomeAddressId  = homeAddress.Id,
                    WorkAddressId  = workAddress.Id
                };

                _historyRepo.Insert(history);
            }
            _historyRepo.Save();
        }
        public void UpdateAddressHistories_WithTwoActiveHistories_ChangesInOneHomeAddressOneWorkAddress_ShouldDeactivateBothHistories()
        {
            var homeAddress1 = new PersonalAddress
            {
                StreetName   = "TestStreetHome",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234",
                Type         = PersonalAddressType.Home,
                PersonId     = 1
            };

            var workAddress1 = new WorkAddress
            {
                StreetName   = "TestStreetWork",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234"
            };

            var homeAddress2 = new PersonalAddress
            {
                StreetName   = "TestStreetHome",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234",
                Type         = PersonalAddressType.Home,
                PersonId     = 2
            };

            var workAddress2 = new WorkAddress
            {
                StreetName   = "TestStreetWork",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234"
            };

            var emplRepoMock = NSubstitute.Substitute.For <IGenericRepository <Employment> >();

            emplRepoMock.AsQueryable().ReturnsForAnyArgs(new List <Employment>
            {
                new Employment()
                {
                    Id       = 1,
                    PersonId = 1,
                    OrgUnit  = new OrgUnit()
                    {
                        Address = workAddress1
                    }
                },
                new Employment()
                {
                    Id       = 2,
                    PersonId = 2,
                    OrgUnit  = new OrgUnit()
                    {
                        Address = new WorkAddress
                        {
                            StreetName   = "NewTestStreetWork",
                            StreetNumber = "1",
                            ZipCode      = 1234,
                            Town         = "TestTown",
                            Latitude     = "1234",
                            Longitude    = "1234"
                        }
                    }
                }
            }.AsQueryable());

            var addressHistoryRepoMock = NSubstitute.Substitute.For <IGenericRepository <AddressHistory> >();
            var historyList            = new List <AddressHistory>
            {
                new AddressHistory()
                {
                    EmploymentId = 1,
                    EndTimestamp = 0,
                    Employment   = emplRepoMock.AsQueryable().Single(x => x.Id == 1),
                    WorkAddress  = workAddress1,
                    HomeAddress  = homeAddress1,
                },
                new AddressHistory()
                {
                    EmploymentId = 2,
                    EndTimestamp = 0,
                    Employment   = emplRepoMock.AsQueryable().Single(x => x.Id == 2),
                    WorkAddress  = workAddress2,
                    HomeAddress  = homeAddress2,
                }
            };

            var personalAddressRepoMock = NSubstitute.Substitute.For <IGenericRepository <PersonalAddress> >();

            personalAddressRepoMock.AsQueryable().ReturnsForAnyArgs(new List <PersonalAddress>
            {
                new PersonalAddress
                {
                    StreetName   = "NewTestStreetHome",
                    StreetNumber = "1",
                    ZipCode      = 1234,
                    Town         = "TestTown",
                    Latitude     = "1234",
                    Longitude    = "1234",
                    Type         = PersonalAddressType.Home,
                    PersonId     = 1
                }, homeAddress2
            }.AsQueryable());

            addressHistoryRepoMock.AsQueryable().ReturnsForAnyArgs(historyList.AsQueryable());

            var uut = new AddressHistoryService(emplRepoMock, addressHistoryRepoMock, personalAddressRepoMock);

            uut.UpdateAddressHistories();
            Assert.AreNotEqual(0, historyList.ElementAt(0).EndTimestamp);
            Assert.AreNotEqual(0, historyList.ElementAt(1).EndTimestamp);
        }
Пример #15
0
        public void TransferFromTempToActual()
        {
            var tempRepo            = NinjectWebKernel.CreateKernel().Get <IGenericRepository <TempAddressHistory> >();
            var actualRepo          = NinjectWebKernel.CreateKernel().Get <IGenericRepository <AddressHistory> >();
            var workAddressRepo     = NinjectWebKernel.CreateKernel().Get <IGenericRepository <WorkAddress> >();
            var personalAddressRepo = NinjectWebKernel.CreateKernel().Get <IGenericRepository <PersonalAddress> >();
            var coords   = new AddressCoordinates();
            var emplRepo = NinjectWebKernel.CreateKernel().Get <IGenericRepository <Employment> >();

            var i = 0;

            var rows = tempRepo.AsQueryable().Where(x => !x.WorkIsDirty && !x.HomeIsDirty).ToList();

            foreach (var tempHistory in rows)
            {
                i++;
                Console.WriteLine(i + " of " + rows.Count);
                var currentTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
                var empls            = emplRepo.AsQueryable().Where(x => x.EmploymentId == tempHistory.MaNr).ToList();
                if (empls.Count == 0)
                {
                    continue;;
                }
                var empl = new Employment();
                if (empls.Count == 1)
                {
                    // If only one empl with manr exists just use that
                    empl = empls.First();
                }
                else
                {
                    // If more than one exists then select the active one.
                    // If an active one does not exist then select the one that ended most recently
                    empl = empls.FirstOrDefault(x => x.EndDateTimestamp == 0) ??
                           empls.OrderByDescending(x => x.EndDateTimestamp).First();
                }

                var workTemp = coords.GetAddressCoordinates(new WorkAddress()
                {
                    StreetName   = SplitAddressOnNumber(tempHistory.ArbejdsAdresse)[0],
                    StreetNumber = SplitAddressOnNumber(tempHistory.ArbejdsAdresse)[1],
                    ZipCode      = tempHistory.ArbejdsPostNr,
                    Town         = tempHistory.ArbejdsBy,
                });

                var workAddress = new WorkAddress
                {
                    StreetName   = workTemp.StreetName,
                    StreetNumber = workTemp.StreetNumber,
                    ZipCode      = workTemp.ZipCode,
                    Town         = workTemp.Town,
                    Latitude     = workTemp.Latitude,
                    Longitude    = workTemp.Longitude
                };

                var homeTemp = coords.GetAddressCoordinates(new PersonalAddress
                {
                    StreetName   = SplitAddressOnNumber(tempHistory.HjemmeAdresse)[0],
                    StreetNumber = SplitAddressOnNumber(tempHistory.HjemmeAdresse)[1],
                    ZipCode      = tempHistory.HjemmePostNr,
                    Town         = tempHistory.HjemmeBy,
                });

                var homeAddress = new PersonalAddress()
                {
                    StreetName   = homeTemp.StreetName,
                    StreetNumber = homeTemp.StreetNumber,
                    ZipCode      = homeTemp.ZipCode,
                    Town         = homeTemp.Town,
                    Latitude     = homeTemp.Latitude,
                    Longitude    = homeTemp.Longitude,
                    PersonId     = empl.PersonId,
                    Type         = PersonalAddressType.OldHome,
                };

                workAddressRepo.Insert(workAddress);
                personalAddressRepo.Insert(homeAddress);
                workAddressRepo.Save();
                personalAddressRepo.Save();

                var addressHistory = new Core.DomainModel.AddressHistory
                {
                    WorkAddressId  = workAddress.Id,
                    HomeAddressId  = homeAddress.Id,
                    StartTimestamp = tempHistory.AktivFra,
                    EndTimestamp   = tempHistory.AktivTil,
                    EmploymentId   = empl.Id,
                    IsMigrated     = true,
                };

                actualRepo.Insert(addressHistory);
            }
            actualRepo.Save();
        }
        public void UpdateAddressHistories_WithOneActiveHistory_NoChangesInAddress_ShouldNotDeactivate()
        {
            var homeAddress = new PersonalAddress
            {
                StreetName   = "TestStreetHome",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234",
                Type         = PersonalAddressType.Home,
                PersonId     = 1
            };

            var workAddress = new WorkAddress
            {
                StreetName   = "TestStreetWork",
                StreetNumber = "1",
                ZipCode      = 1234,
                Town         = "TestTown",
                Latitude     = "1234",
                Longitude    = "1234"
            };

            var emplRepoMock = NSubstitute.Substitute.For <IGenericRepository <Employment> >();

            emplRepoMock.AsQueryable().ReturnsForAnyArgs(new List <Employment>
            {
                new Employment()
                {
                    Id       = 1,
                    PersonId = 1,
                    OrgUnit  = new OrgUnit()
                    {
                        Address = workAddress
                    }
                }
            }.AsQueryable());

            var addressHistoryRepoMock = NSubstitute.Substitute.For <IGenericRepository <AddressHistory> >();
            var historyList            = new List <AddressHistory>
            {
                new AddressHistory()
                {
                    EmploymentId = 1,
                    EndTimestamp = 0,
                    Employment   = emplRepoMock.AsQueryable().First(),
                    WorkAddress  = workAddress,
                    HomeAddress  = homeAddress,
                }
            };

            var personalAddressRepoMock = NSubstitute.Substitute.For <IGenericRepository <PersonalAddress> >();

            personalAddressRepoMock.AsQueryable().ReturnsForAnyArgs(new List <PersonalAddress>
            {
                homeAddress
            }.AsQueryable());

            addressHistoryRepoMock.AsQueryable().ReturnsForAnyArgs(historyList.AsQueryable());

            var uut = new AddressHistoryService(emplRepoMock, addressHistoryRepoMock, personalAddressRepoMock);

            uut.UpdateAddressHistories();
            Assert.AreEqual(0, historyList.ElementAt(0).EndTimestamp);
        }
Пример #17
0
 public ActionResult Post([FromBody] WorkAddress address)
 {
     ar.Add(address);
     return(Ok());
 }