//[ValidateAntiForgeryToken] public async Task <IActionResult> Create(ApplicantViewModel model, CancellationToken cancellationToken) { var user = userManager.GetUserAsync(User); if (user.Result.IsFirstLogin) { return(View("~/Views/Home/ChangePassword.cshtml")); } var applicant = await this.applicantService.AddAsync(model.ToServiceModel(), cancellationToken); //return CreatedAtAction(nameof(GetByIdAsync), new { id = loanApplication.Id }, loanApplication.ToViewModel()); //model.Id = applicant.Id; var userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var name = HttpContext.User.Identity.Name; // TODO service get user by email/username var loanViewModel = new LoanApplicationViewModel { ApplicantId = applicant.Id, OpenedById = userId, EmailId = model.EmailId }; return(PartialView("_CreateLoanPartial", loanViewModel)); }
public ActionResult DiplayApplicationWithStatus()//has a view { var L1 = db.loan_application; var L2 = db.loan_app_or_rej; var Q = (from la in L1 join ls in L2 on la.application_id equals ls.application_id where ls.status == "approved" || ls.status == "rejected" orderby ls.date_of_approval descending select new { ApplicantID = la.application_id, Name = la.name, LoanAmount = la.loan_amount, MonthlyIncome = la.monthly_income, Status = ls.status, DateOfApproval = ls.date_of_approval }).ToList(); List <LoanApplicationViewModel> listViewModel = new List <LoanApplicationViewModel>(); foreach (var item in Q) { LoanApplicationViewModel viewmodel = new LoanApplicationViewModel(); viewmodel.ApplicationId = item.ApplicantID; viewmodel.Name = item.Name; viewmodel.LoanAmount = item.LoanAmount; viewmodel.MonthlyIncome = item.MonthlyIncome; viewmodel.DateOfApproval = item.DateOfApproval; viewmodel.Status = item.Status; listViewModel.Add(viewmodel); } return(View(listViewModel)); }
public async Task <IActionResult> Edit(/*Guid id, */ ApplicantViewModel model, CancellationToken cancellationToken) { var user = userManager.GetUserAsync(User); if (user.Result.IsFirstLogin) { return(View("~/Views/Home/ChangePassword.cshtml")); } //model.Id = id; var applicant = await this.applicantService.UpdateAsync(model.ToServiceModel(), cancellationToken); //if (applicant is null) //{ // return NotFound(); //} //return View("", loanApplication.ToViewModel()); var name = HttpContext.User.Identity.Name; // get logged user id var userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var loanViewModel = new LoanApplicationViewModel { ApplicantId = applicant.Id, OpenedById = userId, EmailId = model.EmailId }; return(PartialView("_CreateLoanPartial", loanViewModel)); }
public ActionResult LoanApplication(LoanApplicationViewModel model, string btnPrevious, string btnNext) { const string requiredFieldMessage = "Obligatoriskt fält"; try { model.Occupations = Occupations; model.MaritalStatuses = MaritalStatuses; if (ModelState.IsValid) { if (!string.IsNullOrEmpty(btnNext)) { var isValidInput = true; if (!IsMaritalStatusValid(model.MaritalStatus)) { model.MaritalStatusValidationMsg = requiredFieldMessage; isValidInput = false; } if (!IsValidOccupation(model.Occupation)) { model.OccupationValidationMsg = requiredFieldMessage; isValidInput = false; } if (!IsYearOfBirthValid(model.YearOfBirthString, out int year)) { model.YearOfBirthValidationMsg = "Ogiltigt värde"; isValidInput = false; } if (isValidInput) { model.YearOfBirth = year; SetTempData(model); return(RedirectToAction(nameof(Summary))); } } else if (!string.IsNullOrEmpty(btnPrevious)) { if (IsYearOfBirthValid(model.YearOfBirthString, out int year)) { model.YearOfBirth = year; } SetTempData(model); return(RedirectToAction(nameof(ContactInfo))); } } return(View(model)); } catch { return(View(model)); } }
public IActionResult Index(LoanApplicationViewModel model) { using (var dbContext = _dbFactory()) { var application = new LoanApplication(model.Name, model.From, model.Amount, model.Description); dbContext.LoanApplications.Add(application); dbContext.SaveChanges(); } return(Redirect("/LoanApplications")); }
public async Task <IActionResult> UpdateAsync(Guid id, LoanApplicationViewModel model, CancellationToken cancellationToken) { model.Id = id; var loanApplication = await this.loanApplicationService.UpdateAsync(model.ToServiceModel(), cancellationToken); if (loanApplication is null) { return(NotFound()); } //return View("", loanApplication.ToViewModel()); return(RedirectToAction("Index")); }
public LoanApplicationDTO MapFrom(LoanApplicationViewModel entity) { return(new LoanApplicationDTO() { Id = entity.Id, FirstName = entity.FirstName, LastName = entity.LastName, EGN = entity.EGN, Status = entity.Status, CardId = entity.CardId, PhoneNumber = entity.PhoneNumber, EmailId = entity.EmailId, }); }
public async Task <IActionResult> Create(LoanApplicationViewModel model, CancellationToken cancellationToken) { //var currentOperatorId = this.User.FindFirst(u => u.Type == ClaimTypes.NameIdentifier); var currentUserId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; model.OpenedById = currentUserId; //model.OpenedById = currentOperatorId; var loanApplication = await this.loanApplicationService.AddAsync(model.ToServiceModel(), cancellationToken); await this.emailService.ChangeToOpenAsync(model.EmailId, cancellationToken); //return CreatedAtAction(nameof(GetByIdAsync), new { id = loanApplication.Id }, loanApplication.ToViewModel()); return(Redirect("/Email/Index")); }
public static LoanApplication ToServiceModel(this LoanApplicationViewModel viewModel) { return(viewModel != null ? new LoanApplication { Id = viewModel.Id, LoanAmount = viewModel.LoanAmount, ApplicantId = viewModel.ApplicantId, ApplicationStatusId = viewModel.ApplicationStatusId, ClosedBy = viewModel.ClosedBy, OpenedBy = viewModel.OpenedBy, ClosedById = viewModel.ClosedById, OpenedById = viewModel.OpenedById, EmailId = viewModel.EmailId } : null); }
public async Task <IActionResult> ApproveApplication(LoanApplicationViewModel loanViewModel, CancellationToken cancellationToken) { try { await this.emailService.ChangeToCloseAsync(loanViewModel.Id, cancellationToken); await this.loanApplicationService.ApproveAsync(loanViewModel.ToServiceModel(), cancellationToken); } catch (Exception) { //return NoContent(); } return(RedirectToAction(nameof(Index))); }
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 async Task <IActionResult> ApplicationForm(LoanApplicationViewModel loanModel) { if (!ModelState.IsValid || loanModel.FirstName == null || loanModel.LastName == null || loanModel.EGN == null || loanModel.Phone == null) { this.toast.AddWarningToastMessage("Not valid data."); return(RedirectToAction("Application", "Email", new { id = loanModel.EmailId })); } try { var operatorId = userManager.GetUserId(User); var clientData = await this.clientService.FindClientAsync(loanModel.FirstName, loanModel.LastName, loanModel.EGN); if (clientData is null) { var clientDataDTO = this.clientDataDTOFactory.Create(loanModel.FirstName, loanModel.LastName, loanModel.EGN, loanModel.Phone, operatorId); clientData = await this.clientService.CreateClientData(clientDataDTO); Log.Information($"{DateTime.Now} Client Data has been created by {operatorId}."); } var loanApplicationDTO = await this.loanApplicationService.CreateLoanApplicationAsync(clientData.Id, loanModel.EmailId, loanModel.Status, operatorId, loanModel.Amount); this.toast.AddSuccessToastMessage($"Loan Application has been created successfully!"); Log.Information($"{DateTime.Now} Loan Application has been created by {operatorId}."); var emailStatus = await this.emailStatusService.GetEmailStatusByNameAsync("Closed Application"); await this.emailService.UpdateEmailStatus(new EmailDTO { Id = loanModel.EmailId }, emailStatus, operatorId); return(RedirectToAction("Application", "Email", new { id = loanModel.EmailId })); } catch (Exception ex) { this.toast.AddWarningToastMessage("Oops... Something went wrong. Please, call your system administrator."); Log.Error($"{DateTime.Now} {ex.Message}"); } return(RedirectToAction("Application", "Email", new { id = loanModel.EmailId })); }
public async Task <LoanApplicationViewModel> GetById(LoanApplicationId applicationId) { var domainEvents = await _eventStore.GetEventsByStreamId(new LoanApplicationEventStreamId(applicationId)); if (domainEvents.Count == 0) { return(null); } var model = new LoanApplicationViewModel(applicationId); foreach (var domainEvent in domainEvents.Cast <LoanApplicationDomainEvent>()) { _projection.Apply(model, domainEvent); } return(model); }
public void Apply(LoanApplicationViewModel model, LoanApplicationDomainEvent domainEvent) { switch (domainEvent) { case LoanApplicationRegistered applicationRegistered: model.RequestedAmount = applicationRegistered.RequestedAmount; model.OrganisationNumber = applicationRegistered.OrganisationNumber; model.Status = LoanApplicationStatus.Registered; break; case ApplicationApproved _: model.Status = LoanApplicationStatus.Approved; break; case ApplicationDenied _: model.Status = LoanApplicationStatus.Denied; break; } }
public static IReadOnlyCollection <LoanApplicationViewModel> ToViewModel(this IReadOnlyCollection <LoanApplication> entities) { if (entities.Count == 0) { return(Array.Empty <LoanApplicationViewModel>()); } var loanApplications = new LoanApplicationViewModel[entities.Count]; var index = 0; foreach (var entity in entities) { loanApplications[index] = entity.ToViewModel(); ++index; } return(new ReadOnlyCollection <LoanApplicationViewModel>(loanApplications)); }
//[ValidateAntiForgeryToken] public async Task <string> CreateAsync(LoanApplicationViewModel vm) { if (!ModelState.IsValid) { throw new ArgumentException("Invalid application VM!"); } //logger logsmth var isRealEgn = await checkEgnService.IsRealAsync(vm.EGN); if (!isRealEgn) { return("false egn"); } var isRealPhoneNumber = await checkPhoneNumberService.IsRealAsync(vm.PhoneNumber); if (!isRealPhoneNumber) { return("false phonenumber"); } var isRealCardId = await checkCardIdService.IsRealAsync(vm.CardId); if (!isRealCardId) { return("false cardId"); } vm.CardId = encryptService.EncryptString(vm.CardId); vm.LastName = encryptService.EncryptString(vm.LastName); vm.EGN = encryptService.EncryptString(vm.EGN); var application = this.applicationViewModelMapper.MapFrom(vm); await this.applicationService.CreateAsync(application); //Redirect to smth return("true"); }
private static bool HasPageReloaded(LoanApplicationViewModel model) { return(string.IsNullOrEmpty(model.FirstName) || string.IsNullOrEmpty(model.LastName) || string.IsNullOrEmpty(model.Email)); }