private void FilterDraftMoratoriumByCreditor(BreathingSpaceResponse response)
        {
            var bsStatus = response.DebtorDetails.MoratoriumStatus;

            if (bsStatus == MoratoriumStatus.Draft)
            {
                throw new UnauthorizedHttpResponseException();
            }
        }
Пример #2
0
 public DebtorAddressViewModel(BreathingSpaceResponse accountSummary)
 {
     if (accountSummary.CurrentAddress != null)
     {
         CurrentAddress = new Address(accountSummary.CurrentAddress);
     }
     PreviousAddresses = accountSummary.PreviousAddresses?
                         .Select(add => new Address(add)) ?? Enumerable.Empty <Address>()
                         .ToList();
     AddressHidden = accountSummary.DebtorDetails.AddressHidden;
 }
 public CreditorDebtorDetailViewModel(BreathingSpaceResponse debtorDetail)
 {
     PersonalDetail     = new DebtorPersonalDetailViewModel(debtorDetail.DebtorDetails);
     AddressDetail      = new DebtorAddressViewModel(debtorDetail);
     NotificationDetail = new DebtorNotificationPartialViewModel(debtorDetail.DebtorDetails);
     BusinessDetails    = debtorDetail.DebtorBusinessDetails
                          ?.Select(b =>
                                   new BusinessAddressViewModel(
                                       b.BusinessName,
                                       b.Address,
                                       debtorDetail.CurrentAddress,
                                       debtorDetail.DebtorDetails.AddressHidden,
                                       b.Id
                                       ))
                          ?? Enumerable.Empty <BusinessAddressViewModel>();
 }
        public DebtorAccountSummaryViewModel(BreathingSpaceResponse accountSummary)
        {
            if (accountSummary is null)
            {
                throw new ArgumentNullException(nameof(accountSummary));
            }

            DebtorDetail = new DebtorDetailViewModel(accountSummary);
            DebtDetails  = accountSummary.DebtDetails?
                           .Select(d => new DebtDetailViewModel(
                                       d, accountSummary.DebtorEligibilityReviews
                                       .FirstOrDefault(r => r.CreditorId == d.CreditorId)))
                           .ToList();
            MoneyAdviceOrganisation = new MoneyAdviceOrganisationViewModel(accountSummary.MoneyAdviserOrganization);
            DebtorTransfer          = accountSummary.DebtorTransfer is null ? null:
                                      new DebtorTransferViewModel(DebtorDetail.PersonalDetail, MoneyAdviceOrganisation, accountSummary.DebtorTransfer);
        }
        public void SetDebtorDetailCurrentAddress(BreathingSpaceResponse response)
        {
            if (response.CurrentAddress == null)
            {
                return;
            }

            if (!response.DebtorDetails.AddressHidden)
            {
                response.CurrentAddress = MapCurrentAddressResponse(response.CurrentAddress);
                return;
            }
            else
            {
                response.CurrentAddress = null;
                return;
            }
        }
        public void FilterMoratoriumByCreditor(BreathingSpaceResponse response, Guid creditorId)
        {
            response.DebtDetails = response.DebtDetails.Where(d => d.CreditorId == creditorId);
            response.DebtorEligibilityReviews = response.DebtorEligibilityReviews.Where(d => d.CreditorId == creditorId);

            response.DebtorDetails.IsInMentalHealthMoratorium = null;

            foreach (var businessAddress in response.DebtorBusinessDetails)
            {
                SetBusinessAddress(businessAddress, response.CurrentAddress, response.DebtorDetails.AddressHidden);
            }

            SetDebtorDetailCurrentAddress(response);

            FilterMoratoriumTransferRequestByCreditor(response);
            FilterInactiveMoratoriumByCreditor(response);
            FilterDraftMoratoriumByCreditor(response);
        }
 public DebtorDetailsResponse MapDebtorDetailPublicData(BreathingSpaceResponse response)
 {
     return(new DebtorDetailsResponse
     {
         FirstName = response.DebtorDetails.FirstName,
         MiddleName = response.DebtorDetails.MiddleName,
         LastName = response.DebtorDetails.LastName,
         DateOfBirth = response.DebtorDetails.DateOfBirth.Value.Date,
         AddressHidden = response.DebtorDetails.AddressHidden,
         MoratoriumStatus = response.DebtorDetails.MoratoriumStatus,
         IsInMentalHealthMoratorium = response.DebtorDetails.IsInMentalHealthMoratorium,
         ReferenceNumber = response.DebtorDetails.ReferenceNumber,
         StartsOn = response.DebtorDetails.StartsOn,
         EndsOn = response.DebtorDetails.EndsOn,
         CancellationDate = response.DebtorDetails.CancellationDate,
         CancellationReason = response.DebtorDetails.CancellationReason
     });
 }
        public CreditorBreathingSpaceViewModel(BreathingSpaceResponse breathingSpace)
        {
            if (breathingSpace is null)
            {
                throw new ArgumentNullException(nameof(breathingSpace));
            }

            DebtorDetail = new CreditorDebtorDetailViewModel(breathingSpace);

            Debts = breathingSpace.DebtDetails
                    .Select(debtDetail => new CreditorDebtPartialViewModel(
                                debtDetail,
                                DebtorDetail.PersonalDetail.ActiveMoratoriumEndDate,
                                DebtorDetail.PersonalDetail.IsInMentalHealthMoratorium))
                    .ToList();

            EligibilityReviews = breathingSpace.DebtorEligibilityReviews.ToList();
        }
 public DebtorDetailViewModel(BreathingSpaceResponse accountSummary)
 {
     PersonalDetail     = new DebtorPersonalDetailViewModel(accountSummary.DebtorDetails);
     AddressDetail      = new DebtorAddressViewModel(accountSummary);
     NotificationDetail = new DebtorNotificationPartialViewModel(accountSummary.DebtorDetails);
     BusinessDetails    = accountSummary.DebtorBusinessDetails
                          ?.Select(b =>
                                   new BusinessAddressViewModel(
                                       b.BusinessName,
                                       b.Address,
                                       accountSummary.CurrentAddress,
                                       accountSummary.DebtorDetails.AddressHidden,
                                       b.Id
                                       ))
                          ?? Enumerable.Empty <BusinessAddressViewModel>();
     DebtorNominatedContactSummary = accountSummary.DebtorNominatedContactResponse != null
         ? new DebtorNominatedContactSummaryViewModel(accountSummary.DebtorNominatedContactResponse)
         : null;
 }
        private void FilterInactiveMoratoriumByCreditor(BreathingSpaceResponse response)
        {
            var bsStatus = response.DebtorDetails.MoratoriumStatus;

            if (bsStatus != MoratoriumStatus.Active && bsStatus != MoratoriumStatus.Draft)
            {
                response.DebtorDetails = new DebtorDetailsResponse()
                {
                    EndsOn          = response.DebtorDetails.EndsOn,
                    ReferenceNumber = response.DebtorDetails.ReferenceNumber,
                    ModifiedOn      = response.DebtorDetails.ModifiedOn,
                };

                response.CurrentAddress           = null;
                response.DebtorBusinessDetails    = null;
                response.MoneyAdviserOrganization = null;
                response.PreviousAddresses        = null;
            }
        }
 public void SetDebtorDetailSensitiveData(BreathingSpaceResponse response, DynamicsGatewayOptions options)
 {
     response.PreviousAddresses = response.PreviousAddresses
                                  .Where(add => add.DateTo.HasValue)
                                  .Select(add => MapPreviousAddressResponse(add, true))
                                  .ToList();
     response.DebtorDetails.IsInMentalHealthMoratorium = response.DebtorDetails.IsInMentalHealthMoratorium;
     response.DebtorDetails.NotificationEmailAddress   = response.DebtorDetails.NotificationEmailAddress;
     response.DebtorDetails.ContactPreference          = response.DebtorDetails.ContactPreference;
     response.DebtorDetails.StartsOn         = response.DebtorDetails.StartsOn;
     response.DebtorDetails.EndsOn           = response.DebtorDetails.EndsOn;
     response.DebtorDetails.CreatedOn        = response.DebtorDetails.CreatedOn;
     response.DebtorDetails.ModifiedOn       = response.DebtorDetails.ModifiedOn;
     response.DebtorDetails.MoratoriumStatus = response.DebtorDetails.MoratoriumStatus;
     response.DebtorBusinessDetails          = response.DebtorBusinessDetails
                                               .Select(b => new BusinessAddressResponse
     {
         BusinessName = b.BusinessName,
         Address      = MapCurrentAddressResponse(b.Address)
     })
                                               .ToList();
 }
 private void FilterMoratoriumTransferRequestByCreditor(BreathingSpaceResponse response)
 {
     response.DebtorTransfer = null;
 }