Exemplo n.º 1
0
        public void GetAssessmentEventValueByAssessmentEventTransactionId_RetrievesRecord_DoesNotMatchId()
        {
            IAssessmentEventRepository assessmentEventRepository = new AssessmentEventRepository(_context, null);
            AssessmentEventValue       assessmentEventValue      = assessmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(AssessmentEventTransactionId + 1).Result;

            assessmentEventValue.ShouldBeNull();
        }
Exemplo n.º 2
0
        public void GetAssessmentEventValueByAssessmentEventTransactionId_RetrievesRecords_MatchesId()
        {
            IAssessmentEventRepository assessmentEventRepository = new AssessmentEventRepository(_context, null);
            AssessmentEventValue       assessmentEventValue      = assessmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(AssessmentEventTransactionId).Result;

            assessmentEventValue.Attribute1.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute1);
            assessmentEventValue.Attribute2.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute2);
            assessmentEventValue.DynCalcStepTrackingId.ShouldBe(AssessmentEventValueBaseYear4Asmt.DynCalcStepTrackingId);
            assessmentEventValue.Id.ShouldBe(AssessmentEventValueBaseYear4Asmt.Id);
            assessmentEventValue.TaxYear.ShouldBe(AssessmentEventValueBaseYear4Asmt.TaxYear);
            assessmentEventValue.ValueAmount.ShouldBe(AssessmentEventValueBaseYear4Asmt.ValueAmount);
            assessmentEventValue.ValueTypeId.ShouldBe(AssessmentEventValueBaseYear4Asmt.ValueTypeId);
            assessmentEventValue.AsmtEventTranId.ShouldBe(AssessmentEventValueBaseYear4Asmt.AsmtEventTranId);
            assessmentEventValue.Attribute2Description.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute2Description);
        }
Exemplo n.º 3
0
        public async Task <AssessmentEventDto> GetAsync(int id)
        {
            id.ThrowBadRequestExceptionIfInvalid("assessmentEventId");

            var assesmentEventRepoModel = await _assesmentEventRepository.GetAsync(id);

            if (assesmentEventRepoModel == null)
            {
                throw new RecordNotFoundException(
                          id.ToString(), typeof(Repository.Models.V1.AssessmentEvent), string.Format("Id {0} is missing.", id));
            }

            AssessmentEventDto assessmentEventDto = assesmentEventRepoModel.ToDomain();

            //Primary Base Year
            AssessmentEventTransactionDto assessmentEventTransaction
                = assessmentEventDto.AssessmentEventTransactions.OrderByDescending(aet => aet.Id).FirstOrDefault();

            if (assessmentEventTransaction != null)
            {
                AssessmentEventValue assessmentEventValue
                    = await _assesmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(assessmentEventTransaction.Id);

                assessmentEventDto.PrimaryBaseYear =
                    assessmentEventValue?.Attribute1;
                assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription =
                    assessmentEventValue?.Attribute2Description;
            }
            else
            {
                assessmentEventDto.PrimaryBaseYear = null;
                assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription = null;
            }

            return(assessmentEventDto);
        }
        public async Task <AssessmentEventValue> GetAssessmentEventValueByAssessmentEventTransactionIdAsync(int assessmentEventTransactionId)
        {
            AssessmentEventValue assessmentEventValue = await
                                                        _assessmentEventContext.AssessmentEventValue.SingleOrDefaultAsync(
                aev => aev.AsmtEventTranId == assessmentEventTransactionId &&
                aev.ValueType.ShortDescr == "BaseYear4Asmt");

            if (assessmentEventValue != null)
            {
                assessmentEventValue.Attribute2Description
                    = (await _assessmentEventContext.SystemType
                       .SingleOrDefaultAsync(t1 => t1.effStatus == ActiveEffectiveStatus &&
                                             t1.begEffDate == (_assessmentEventContext.SystemType.Where(
                                                                   t2 => (t2.Id == t1.Id))
                                                               //If no rows are returned then there is nothing to max and we should throw
                                                               //but Max has to handle this possibility otherwise the LINQ engine won't
                                                               //convert Max to SQL
                                                               //see https://github.com/aspnet/EntityFrameworkCore/issues/7901
                                                               .Max(new Func <SystemType, DateTime?>(t3 => t3.begEffDate)) ?? DateTime.MaxValue) &&
                                             t1.Id == assessmentEventValue.Attribute2))?.descr.Trim();
            }

            return(assessmentEventValue);
        }