public ActionResult Create([Bind(Include = "Id, RefundableProduct, SubNumber, Employee, GuarantorStatus, Notes")] Guarantor guarantor) { Db db = new Db(DbServices.ConnectionString); if (ModelState.IsValid) { try { GuarantorServices.Insert(CurrentUser.Id, guarantor, db); TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "InsertConfirmed"); return(RedirectToAction("Index")); } catch (CfException cfex) { TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage; } catch (Exception ex) { TempData["Failure"] = ex.Message; } } ViewBag.EmployeeList = new SelectList(EmployeeServices.List(db), "Id", "FirstName"); ViewBag.GuarantorStatusList = new SelectList(GuarantorStatusServices.List(db), "Id", "Name"); ViewBag.RefundableProductList = new SelectList(RefundableProductServices.List(db), "Product", "Name"); return(View(guarantor)); }
public ActionResult CreateGuarantorWithStatement(GuarantorWithStatmentViewModel model) { try { Db db = new Db(DbServices.ConnectionString); if (!(db.Connection.State == ConnectionState.Open)) { db.Connection.Open(); } db.Transaction = db.Connection.BeginTransaction(); if (ModelState.IsValid) { try { model.Guarantor.GuarantorStatus = (int)GuarantorStatusEnum.New; // 1- Add Guaratntor Guarantor g = GuarantorServices.Insert(CurrentUser.Id, model.Guarantor, db); //2-Add GuarantorStatement model.GuarantorStatement.Guarantor = g.Id; GuarantorStatement gs = GuarantorStatementServices.Insert(CurrentUser.Id, model.GuarantorStatement, db); Request r = db.RequestGet(model.Guarantor.RefundableProduct); RefundableProduct rp = db.RefundableProductGet(model.Guarantor.RefundableProduct); //Calculate Solvency GetEmployeeSolvencyFilter filter = new GetEmployeeSolvencyFilter() { EmployeeId = model.Guarantor.Employee, Amount = r.Amount, Date = r.Date, Installment = rp.Installment, GrossSalary = model.GuarantorStatement.GrossSalary, NetSalary = model.GuarantorStatement.NetSalary }; GetEmployeeSolvencyResult solvencyResult = db.GetEmployeeSolvencyFirstOrDefault(filter); // update notes field at Guarantor string result = getResult(solvencyResult); g.Notes = result; GuarantorServices.Update(CurrentUser.Id, g, db); TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "InsertConfirmed"); } catch (CfException cfex) { TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage; } catch (Exception ex) { TempData["Failure"] = ex.Message; } } if (db.Transaction != null) { db.Transaction.Commit(); } return(RedirectToAction("Details", new { id = model.Guarantor.RefundableProduct })); } catch { return(View("Details")); } }