public void Get_InsertsAndRetrievesRevenueObjectIdWithSitus() { IRevenueObjectRepository revenueObjectRepository = new RevenueObjectRepository(_context); var revenueObject = revenueObjectRepository.GetRevenueObjectSitusAddressByPin(PinWithSitus); SitusAddress situsAddress = revenueObject.SitusAddress; situsAddress.FreeFormAddress.ShouldBe(_situsAddress.FreeFormAddress); situsAddress.City.ShouldBe(_situsAddress.City); situsAddress.StateCode.ShouldBe(_situsAddress.StateCode); situsAddress.PostalCode.ShouldBe(_situsAddress.PostalCode); }
private SitusAddress GetSitusAddress(int revenueObjectId, DateTime effectiveDate) { var situsAddressRoleByEffDate = _revenueObjectContext.SitusAddressRole.Where( sar => sar.BeginEffectiveDate == _revenueObjectContext.SitusAddressRole.Where( sarsub => (sarsub.BeginEffectiveDate < effectiveDate.AddDays(1)) && (sarsub.Id == sar.Id)) .Max(new Func <SitusAddressRole, DateTime?>(sarsub => sarsub.BeginEffectiveDate)) && (sar.EffectiveStatus == ActiveEffectiveStatus)); var situsAddressByEffDate = _revenueObjectContext.SitusAddress.Where( sa => sa.BeginEffectiveDate == _revenueObjectContext.SitusAddress.Where( sasub => (sasub.BeginEffectiveDate < effectiveDate.AddDays(1)) && (sasub.Id == sa.Id)) .Max(new Func <SitusAddress, DateTime?>(sasub => sasub.BeginEffectiveDate)) && (sa.EffectiveStatus == ActiveEffectiveStatus)); //Must handle the null case because the revenueObjectId itself may not exist. var situsAddressRoleJoinedToSitusAddress = situsAddressRoleByEffDate .Join(situsAddressByEffDate, sar => sar.SitusAddressId, sa => sa.Id, (sar, sa) => new { sar, sa }) .SingleOrDefault(t => t.sar.ObjectType == GetRevenueObjectSysTypeId() && t.sar.ObjectId == revenueObjectId && t.sar.PrimeAddr == 1 ); //trim if (situsAddressRoleJoinedToSitusAddress?.sa == null) { return(situsAddressRoleJoinedToSitusAddress?.sa); } SitusAddress situsAddress = situsAddressRoleJoinedToSitusAddress.sa; situsAddress.FreeFormAddress = situsAddress.FreeFormAddress.Trim(); situsAddress.City = situsAddress.City.Trim(); situsAddress.StateCode = situsAddress.StateCode.Trim(); situsAddress.PostalCode = situsAddress.PostalCode.Trim(); return(situsAddressRoleJoinedToSitusAddress.sa); }
public void Get_InsertsAndRetrievesTheRecord_MatchesId() { IRevenueObjectRepository revenueObjectRepository = new RevenueObjectRepository(_context); var revenueObjects = revenueObjectRepository.Get(Id, _newestEffectiveDate); revenueObjects.ShouldNotBeNull(); revenueObjects.Id.ShouldBe(Id); revenueObjects.BeginEffectiveDate.ShouldBe(_newestEffectiveDate); revenueObjects.PropertyType.ShouldBe(SysTypeShortDescrParcel); SitusAddress situsAddress = revenueObjects.SitusAddress; situsAddress.FreeFormAddress.ShouldBe(_situsAddress.FreeFormAddress); situsAddress.City.ShouldBe(_situsAddress.City); situsAddress.StateCode.ShouldBe(_situsAddress.StateCode); situsAddress.PostalCode.ShouldBe(_situsAddress.PostalCode); revenueObjects.Description.ShouldBe(DescHeaderDescription); revenueObjects.ClassCodeDescription.ShouldBe(SysTypeClassCdDescr); revenueObjects.RelatedPins.ShouldContain(RelatedRevenueObjectId.ToString()); revenueObjects.RelatedPins.ShouldContain(RelatedRevenueObjectPin); revenueObjects.RelatedPins.ShouldContain(SysTypeClassCdId.ToString()); revenueObjects.RelatedPins.ShouldContain(RelatedRevenueObjectRollType.ToString()); }