public async Task <IActionResult> Create([Bind("FirstName,LastName,DateOfBirth,AnnualIncome")] ApplicantDetails applicantDetails) { if (ModelState.IsValid) { var existingApplicantDetails = await ApplicantDetailsRepository.LoadApplicantDetails(applicantDetails); if (existingApplicantDetails == null) { applicantDetails.Initialize(); await ApplicantDetailsRepository.Create(applicantDetails); } else { existingApplicantDetails.AnnualIncome = applicantDetails.AnnualIncome; await ApplicantDetailsRepository.Update(existingApplicantDetails); } var guid = applicantDetails.GuId; if (existingApplicantDetails != null) { guid = existingApplicantDetails.GuId; } return(RedirectToAction(nameof(Selection), new { guid })); } return(View(applicantDetails)); }