public JsonResult UpdateCostClosingDate(String loanId, String closingDate) { try { if (string.IsNullOrEmpty(loanId) || string.IsNullOrEmpty(closingDate)) { throw new ArgumentNullException("Loan Id and Closing Date are required"); } int userAccountId = IdentityManager.GetUserAccountId(); Guid loanIdGuid = new Guid(loanId); DateTime enteredClosingDate = DateTime.Parse(closingDate); UserAccount loggedUser = ( UserAccount )System.Web.HttpContext.Current.Session[SessionHelper.UserData]; var closingDateHistory = new ClosingDateHistory { ClosingDate = enteredClosingDate, DateOfChange = DateTime.Now, LoanId = loanIdGuid, UserName = loggedUser.Party.FirstName + " " + loggedUser.Party.LastName }; LoanServiceFacade.UpdateManuallyEnteredCloseDate(loanIdGuid, true, userAccountId); LoanServiceFacade.UpdateLoanClosingDate(loanIdGuid, enteredClosingDate, userAccountId); CostServiceFacade.UpdateCostsAndClosingDate(loanIdGuid, enteredClosingDate, userAccountId); LoanServiceFacade.CreateClosingDateHistory(closingDateHistory, userAccountId); var model = ManageFeesHelper.GetCostByLoanId(loanIdGuid, loggedUser, HttpContext); var group901 = model.CostGroups.FirstOrDefault(x => x.CostGroupNumber == 90).Costs.FirstOrDefault(x => x.HUDLineNumber == 901); var group1002 = model.CostGroups.FirstOrDefault(x => x.CostGroupNumber == 10).Costs.FirstOrDefault(x => x.HUDLineNumber == 1002); var group1004 = model.CostGroups.FirstOrDefault(x => x.CostGroupNumber == 10).Costs.FirstOrDefault(x => x.HUDLineNumber == 1004); int isClosingDateChanged = model.HasClosingDateHistory ? 1 : 0; return(Json(new { success = true, group901 = group901, group1002 = group1002, group1004 = group1004, isClosingDateChanged = isClosingDateChanged })); } catch (Exception exception) { TraceHelper.Error(TraceCategory.LoanCenter, "_closingcosts.cshtml::UpdateCostClosingDate", exception, Guid.Empty, IdentityManager.GetUserAccountId()); return(Json(new { success = false })); } }