public ActionResult Edit([Bind(Include = "Request, NetIncome, TotalDeduction")] LoanRequest loanRequest) { Db db = new Db(DbServices.ConnectionString); if (ModelState.IsValid) { try { LoanRequestServices.Update(CurrentUser.Id, loanRequest, db); TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "UpdateConfirmed"); return(RedirectToAction("Index")); } catch (CfException cfex) { TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage; } catch (Exception ex) { TempData["Failure"] = ex.Message; } } ViewBag.RequestList = new SelectList(RequestServices.List(db), "Product", "Attachment", loanRequest.Request); return(View(loanRequest)); }
public ActionResult Edit(LoanRequestViewModel model) { Db db = new Db(DbServices.ConnectionString); if (ModelState.IsValid) { try { EmployeeProductCalculatorFilter f = new EmployeeProductCalculatorFilter(); f.EmployeeId = model.RequestProduct.Employee; f.ProductTypeId = (short)model.RequestProduct.ProductType; f.Amount = (decimal)model.Request.Amount; f.Period = (short)model.RequestProductProductRefundableProduct.PaymentPeriod; List <EmployeeProductCalculatorResult> result = db.EmployeeProductCalculator(f); if (result.Count > 0) { model.RequestProductProductRefundableProduct.NetAmount = result[0].NetAmount.Value; model.RequestProductProductRefundableProduct.ProfitAmount = result[0].ProfitAmount.Value; model.RequestProductProductRefundableProduct.Installment = result[0].Installment.Value; } // 1- Add Prouct // set the Amount of the Produt the same as Request //model.RequestProduct.Amount = model.Request.Amount; ProductServices.Update(CurrentUser.Id, model.RequestProduct, db); ProductServices.Update(CurrentUser.Id, model.RequestProduct, db); //2-Add Request //model.Request.Product = model.RequestProduct.Id; // model.Request.RequestStatus = (int)RequestStatusEnum.New; //model.Request.Cost = 5; RequestServices.Update(CurrentUser.Id, model.Request, db); //3-Add LoanRequest //model.LoanRequest.Request = model.RequestProduct.Id; LoanRequestServices.Update(CurrentUser.Id, model.LoanRequest, db); //4- Add RefundableProduct //model.RequestProductProductRefundableProduct.Product = model.RequestProduct.Id; RefundableProductServices.Update(CurrentUser.Id, model.RequestProductProductRefundableProduct, db); TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "UpdateConfirmed"); return(RedirectToAction("Index", "LoanRequest")); } catch (CfException cfex) { TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage; } catch (Exception ex) { TempData["Failure"] = ex.Message; } } // For Product ViewBag.EmployeeList = new SelectList(EmployeeServices.List(db), "Id", "FirstName", model.RequestProduct.Employee); ViewBag.ProductTypeList = new SelectList(ProductTypeServices.List(db), "Id", "Name", model.RequestProduct.ProductType); // For Request ViewBag.BypassStatusList = new SelectList(BypassStatusServices.List(db), "Id", "Name", model.Request.BypassStatus); ViewBag.ProductList = new SelectList(ProductServices.List(db), "Id", "Notes", model.Request.Product); ViewBag.RequestStatusList = new SelectList(RequestStatusServices.List(db), "Id", "Name", model.Request.RequestStatus); return(View(model)); }