Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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());
        }