public async Task<ActionResult> LoadDetailAdvancePaymentVoucher(string dataDetail, string act, string voucherNo) { string[] data = dataDetail.Split('|'); var model = new advancePaymentVoucher(); for (int i = 0; i < data.Count(); i++) { string[] value = data[i].Split(';'); if (value[1].ToString() == "") break; string idxRows = value[0].ToString(); string t_accountNo = value[1].ToString(); //string t_accountName = value[2].ToString(); decimal t_amount = value[2].ToString() != "" ? Convert.ToDecimal(value[2].ToString()) : 0; var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { voucherNo = voucherNo, accountNo = t_accountNo, amount = t_amount }; model.detailAdvancePaymentVoucher.Add(editor); } ViewData["dataDetail"] = model.detailAdvancePaymentVoucher.ToList(); ViewBag.COA = ccm.ddlAccountCOA(string.Empty); return PartialView("_PartialPageAPV1"); }
protected void loadDetail(string id) { var model = new advancePaymentVoucher(); var tempDetail = db.advancePaymentVoucherDetails.Where(x => x.voucherNo == id).ToList(); foreach (var a in tempDetail) { string t_accountNo = a.accountNo; decimal t_amount = Convert.ToDecimal(a.amount); var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { accountNo = t_accountNo, amount = t_amount }; model.detailAdvancePaymentVoucher.Add(editor); } ViewData["dataDetail"] = model.detailAdvancePaymentVoucher.ToList(); }
public ActionResult Edit(advancePaymentVoucher advancepaymentvoucher) { if (acm.cekSession() == false) return RedirectToAction("Logout", "Account"); lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false) return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() }); #region collect detail purchase request var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtAccountNo_")) countChk++; } var model = new advancePaymentVoucher(); for (int i = 1; i <= countChk; i++) { var colVal = Request.Form["txtAccountNo_" + i]; if (colVal == "") break; string t_accountNo = Request.Form["txtAccountNo_" + i].ToString(); decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { voucherNo = "", accountNo = t_accountNo, amount = t_amount }; model.detailAdvancePaymentVoucher.Add(editor); } ViewData["dataDetail"] = model.detailAdvancePaymentVoucher.ToList(); #endregion ViewBag.Bank = ccm.ddlBank(advancepaymentvoucher.bankID.ToString()); ViewBag.COA = ccm.ddlAccountCOA(string.Empty); if (ModelState.IsValid) { try { using (TransactionScope ts = new TransactionScope()) { lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; advancepaymentvoucher.modifiedUser = lvm.userID; advancepaymentvoucher.modifiedDate = DateTime.Now; db.Entry(advancepaymentvoucher).State = EntityState.Modified; #region insertDetail bool runFirst = true; for (int i = 1; i <= countChk; i++) { if (runFirst == true) { db.advancePaymentVoucherDetails.RemoveRange(db.advancePaymentVoucherDetails.Where(x => x.voucherNo == advancepaymentvoucher.voucherNo)); runFirst = false; } var colVal = Request.Form["txtAccountNo_" + i]; if (colVal == "") break; string t_accountNo = Request.Form["txtAccountNo_" + i].ToString(); decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { voucherNo = advancepaymentvoucher.voucherNo, accountNo = t_accountNo, amount = t_amount }; db.advancePaymentVoucherDetails.Add(editor); } #endregion db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string a = exc.Message; } } return View(advancepaymentvoucher); }
public ActionResult Create(advancePaymentVoucher advancepaymentvoucher) { if (acm.cekSession() == false) return RedirectToAction("Logout", "Account"); lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false) return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() }); #region collect detail purchase request var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtAccountNo_")) countChk++; } var model = new advancePaymentVoucher(); for (int i = 1; i <= countChk; i++) { var colVal = Request.Form["txtAccountNo_" + i]; if (colVal == "") break; string t_accountNo = Request.Form["txtAccountNo_" + i].ToString(); decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { voucherNo = "", accountNo = t_accountNo, amount = t_amount }; model.detailAdvancePaymentVoucher.Add(editor); } ViewData["dataDetail"] = model.detailAdvancePaymentVoucher.ToList(); #endregion ViewBag.Bank = ccm.ddlBank(advancepaymentvoucher.bankID.ToString()); ViewBag.COA = ccm.ddlAccountCOA(string.Empty); if (ModelState.IsValid) { try { using (TransactionScope ts = new TransactionScope()) { string generateID = prefix + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); var apvCreated = db.advancePaymentVouchers.Where(x => x.voucherNo.Contains(generateID)).OrderByDescending(x => x.createdDate).Select(x => x.voucherNo).ToList(); if (apvCreated.Count == 0) { generateID = generateID + "0001"; } else { generateID = generateID + (Convert.ToInt32(apvCreated[0].Substring((apvCreated[0].Length - 4))) + 1).ToString().PadLeft(4, '0'); } advancepaymentvoucher.voucherNo = generateID; lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; advancepaymentvoucher.createdUser = lvm.userID; advancepaymentvoucher.createdDate = DateTime.Now; advancepaymentvoucher.preparedBy = lvm.userID; advancepaymentvoucher.preparedDate = DateTime.Now; advancepaymentvoucher.preparedStatus = true; db.advancePaymentVouchers.Add(advancepaymentvoucher); #region insertDetail for (int i = 1; i <= countChk; i++) { var colVal = Request.Form["txtAccountNo_" + i]; if (colVal == "") break; string t_accountNo = Request.Form["txtAccountNo_" + i].ToString(); decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; var editor = new advancePaymentVoucher.advancePaymentVoucherDetail() { voucherNo = advancepaymentvoucher.voucherNo, accountNo = t_accountNo, amount = t_amount }; db.advancePaymentVoucherDetails.Add(editor); } #endregion db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string a = exc.Message; } } return View(advancepaymentvoucher); }