public async Task <ActionResult <MortgageProposal> > PostMortgageProposal(MortgageRequirementDto requirementDto) { var requirement = _mapper.Map <MortgageRequirement>(requirementDto); var proposal = await _mortgageService.CreateProposal(requirement); var proposalDto = _mapper.Map <MortgageProposalDto>(proposal); return(CreatedAtAction("PostMortgageProposal", new { id = proposal.Id }, proposalDto)); }
/// <summary> /// List the suitable products for this requirement /// </summary> /// <param name="requirement"></param> /// <param name="intermediaryDetailsDto"></param> /// <returns></returns> public virtual List<ProductSummaryDto> ListSuitableProduct(MortgageRequirementDto requirement) { var domainRequirement = _IntermediaryAdaptor.AdaptRequirement(requirement); var suitableProducts = domainRequirement.ListSuitableProducts(); var suitableDtoProducts = _IntermediaryAdaptor.AdaptProductSummary(suitableProducts); return suitableDtoProducts; }
public void ListSuitableProducts() { var bindings = new DefaultBindings(); var service = IntermediaryFactory.GetModellingService(bindings); var requirements = new MortgageRequirementDto(); requirements.LoanAmount = 250000; requirements.PurchasePrice = 400000; requirements.TermInMonths = 256; var suitableProducts = service.ListSuitableProduct(requirements); Assert.IsNotNull(suitableProducts, "Products should have been returned"); Assert.IsTrue(suitableProducts.Count > 0, "AT least one product should have been returned."); return; }
/// <summary> /// return a requirement based on a rate switch /// </summary> /// <param name="domainRequirement"></param> /// <returns></returns> RequirementDto IMortgageAdaptor.AdaptRequirement(RateSwitchRequirement domainRequirement) { var mortgageRequirement = domainRequirement; var dtoRequirement = new MortgageRequirementDto(mortgageRequirement.AccountToSwitch, mortgageRequirement.Id, mortgageRequirement.CreatedDate); return dtoRequirement; }
/// <summary> /// return a requirement based on BTL /// </summary> /// <param name="domainRequirement"></param> /// <returns></returns> RequirementDto IMortgageAdaptor.AdaptRequirement(BuyToLetRequirement domainRequirement) { var mortgageRequirement = domainRequirement; var dtoRequirement = new MortgageRequirementDto(mortgageRequirement.MonthlyRental,mortgageRequirement.Id, mortgageRequirement.CreatedDate); return dtoRequirement; }
/// <summary> /// Return a requirement based on HP /// </summary> /// <param name="domainRequirement"></param> /// <returns></returns> RequirementDto IMortgageAdaptor.AdaptRequirement(HousePurchaseRequirement domainRequirement) { var mortgageRequirement = domainRequirement; var dtoRequirement = new MortgageRequirementDto(mortgageRequirement.Id, mortgageRequirement.LoanAmount, mortgageRequirement.TermInMonths, mortgageRequirement.PurchasePrice, mortgageRequirement.Recommended, mortgageRequirement.CreatedDate); return dtoRequirement; }
public MortgageSolutionDto(List<ProductDto> products, MortgageRequirementDto requirement) : base(products, requirement) { return; }