public LoanApplication MapFrom(LoanApplicationDTO entity) { return(new LoanApplication() { FirstName = entity.FirstName, LastName = entity.LastName, EGN = entity.EGN, Status = entity.Status, CardId = entity.CardId, PhoneNumber = entity.PhoneNumber, EmailId = entity.EmailId, }); }
public static LoanApplicationViewModel ToVM(this LoanApplicationDTO dataDTO) { var dataModel = new LoanApplicationViewModel { Id = dataDTO.Id, FirstName = dataDTO.ClientFristName, LastName = dataDTO.ClientLastName, EGN = dataDTO.ClientEGN, Phone = dataDTO.ClientPhone, Amount = dataDTO.LoanAmount, EmailId = dataDTO.EmailId, Status = dataDTO.ApplicationStatusName, }; return(dataModel); }
public static LoanApplication ToEntity(this LoanApplicationDTO dto) { if (dto is null) { return(null); } var entity = new LoanApplication { Id = dto.Id, Amount = dto.LoanAmount, ApplicationStatus = (ApplicationStatus)Enum.Parse(typeof(ApplicationStatus), dto.ApplicationStatusName), EmailId = dto.EmailId, }; return(entity); }
public async Task <LoanApplicationDTO> CreateAsync(LoanApplicationDTO newLoan) { var loanApplication = this.loanApplicatioDTOMapper.MapFrom(newLoan); if (loanApplication == null) { throw new ArgumentNullException(); } loanApplication.Status = LoanApplicationStatus.NotReviewed; this.dbcontext.LoanApplications.Add(loanApplication); await this.dbcontext.SaveChangesAsync(); return(newLoan); }
public static LoanApplicationDTO ToDTO(this LoanApplication entity) { if (entity is null) { return(null); } var loanApplication = new LoanApplicationDTO { Id = entity.Id, LoanAmount = entity.Amount, ClientEGN = entity.ClientData?.EGN, ClientFristName = entity.ClientData?.FirstName, ClientLastName = entity.ClientData?.LastName, ClientPhone = entity.ClientData?.Phone, EmployeeName = entity.User?.UserName, EmailId = entity.EmailId, ApplicationStatusName = entity.ApplicationStatus.ToString(), }; return(loanApplication); }
public void SetUp(CustomHeaderData customHeaderData, MismoContentModel mismoContentModel) { // Deserialize the MISMO xml to MISMO object LoanApplicationDTO mismoXmlLoan = null; using (TextReader reader = new StringReader(mismoContentModel.content)) { mismoXmlLoan = (LoanApplicationDTO) new XmlSerializer(typeof(LoanApplicationDTO)).Deserialize(reader); } // Map MISMO object to IUSLoan.Loan object MismoMapManager loanMapper = new MismoMapManager(mismoXmlLoan); MismoLoan loan = new MismoLoan(); loan = loanMapper.MapToLoan(); // Create IUSLoan object IUSLoan iUSLoan = new IUSLoan { DocType = customHeaderData.DocTypeEnum, GuideLineDt = customHeaderData.GuidelineDt, MismoLoan = loan, Source = customHeaderData.SourceType, ImpacProgramCode = customHeaderData.ImpacProgramCode }; _IUSLoan = iUSLoan; DocTypeCalcResolver resolver = new DocTypeCalcResolver { DocType = customHeaderData.DocTypeEnum, GuideLineDt = customHeaderData.GuidelineDt, Source = customHeaderData.SourceType }; _docTypeCalcResolver = resolver; }
public void SetUp(CustomHeaderData customHeaderData, LoanCalcRequestModel loanCalcRequestModel) { MismoContentModel mismoContentModel = loanCalcRequestModel.MismoContent; List <CreditContentModel> creditContents = loanCalcRequestModel.CreditContents; // Deserialize the MISMO xml to MISMO object LoanApplicationDTO mismoXmlLoan = null; using (TextReader reader = new StringReader(mismoContentModel.content)) { mismoXmlLoan = (LoanApplicationDTO) new XmlSerializer(typeof(LoanApplicationDTO)).Deserialize(reader); } // Map MISMO object to IUSLoan.Loan object MismoMapManager loanMapper = new MismoMapManager(mismoXmlLoan); MismoLoan loan = new MismoLoan(); loan = loanMapper.MapToLoan(); // Deserialize each credit xml to Credit MISMO object List <CreditResponseGroup> creditResponseGroups = new List <CreditResponseGroup>(); foreach (CreditContentModel creditContent in creditContents) { CREDITREPORTING_RESPONSE_GROUP_Type creditXml = null; using (TextReader reader = new StringReader(creditContent.content)) { creditXml = (CREDITREPORTING_RESPONSE_GROUP_Type) new XmlSerializer(typeof(CREDITREPORTING_RESPONSE_GROUP_Type)).Deserialize(reader); } // Map MISMO object to IUSLoan.Loan object CreditMapManager creditMapper = new CreditMapManager(creditXml); CreditResponseGroup creditResponseGroup = new CreditResponseGroup(); creditResponseGroup = creditMapper.MapToCredit(); creditResponseGroups.Add(creditResponseGroup); } // Create IUSLoan object IUSLoan iUSLoan = new IUSLoan { DocType = customHeaderData.DocTypeEnum, GuideLineDt = customHeaderData.GuidelineDt, MismoLoan = loan, Source = customHeaderData.SourceType, ImpacProgramCode = customHeaderData.ImpacProgramCode, CreditReports = creditResponseGroups }; _IUSLoan = iUSLoan; //Adding BankStatement if DocType is BankStatement or premier if (_IUSLoan.DocType == DocTypeEnum.BankStatements || _IUSLoan.DocType == DocTypeEnum.BankStatementsPremier) { List <BankStatement> bankStatements = new List <BankStatement>(); List <BankStatementContentModel> bankStatementContents = loanCalcRequestModel.BankStatementContents; if (bankStatementContents != null) { foreach (BankStatementContentModel BankStatModel in bankStatementContents) { object bankStatementDTO; XmlSerializer serializer = new XmlSerializer(typeof(BankStatementDTO)); using (TextReader reader = new StringReader(BankStatModel.content)) { bankStatementDTO = serializer.Deserialize(reader); } BankStatementMapManager BankStatementMapper = new BankStatementMapManager((BankStatementDTO)bankStatementDTO); BankStatement bankStatement = new BankStatement(); bankStatement = BankStatementMapper.MapToBankStatement(); bankStatements.Add(bankStatement); } _IUSLoan.BankStatements = bankStatements; } else { //_logger.LogError("BankStatement not found"); } } if (loanCalcRequestModel.IUSLoanInfo != null) { // Merge MortgageTerms request info with loan's mortgage terms object if (loanCalcRequestModel.IUSLoanInfo.MortgageTermsInfo != null) { MortgageTermsMergeManager mortgageTermsMergeMapper = new MortgageTermsMergeManager(loanCalcRequestModel.IUSLoanInfo.MortgageTermsInfo); mortgageTermsMergeMapper.MergeWith(_IUSLoan.MismoLoan.MortgageTerms); } // Merge ReoProperties request info with loan object if (loanCalcRequestModel.IUSLoanInfo.ReoPropertiesInfo != null) { ReoPropertyMergeManager reoPropertyMergeMapper = new ReoPropertyMergeManager(loanCalcRequestModel.IUSLoanInfo.ReoPropertiesInfo); reoPropertyMergeMapper.MergeWith(_IUSLoan.MismoLoan.ReoProperties); } } // Use Liability Merge Manager to apply bussiness logic on merging liabilities. List <CreditLiability> allCreditLiabilities = new List <CreditLiability>(); foreach (CreditResponseGroup creditReport in _IUSLoan.CreditReports) { allCreditLiabilities.AddRange(creditReport.Response.ResponseData.CreditResponse.CreditLiabilities); } LiabilityMergeManager liabilityMergeManager = new LiabilityMergeManager(allCreditLiabilities); liabilityMergeManager.MergeWith(_IUSLoan.MismoLoan.Liabilities); DocTypeCalcResolver resolver = new DocTypeCalcResolver { DocType = customHeaderData.DocTypeEnum, GuideLineDt = customHeaderData.GuidelineDt, Source = customHeaderData.SourceType }; _docTypeCalcResolver = resolver; }