public async Task<ActionResult> LoadDetailCategoryProducts(string dataDetail, string act) { string[] data = dataDetail.Split('|'); var model = new journalHeader(); for (int i = 0; i < data.Count(); i++ ) { string[] value = data[i].Split(';'); if (value[1].ToString() == "") break; int idCoa = Convert.ToInt32(value[1].ToString()); string othrAccountName = value[2].ToString(); string remak = value[3].ToString(); decimal debt = value[4].ToString() != "" ? Convert.ToDecimal(Convert.ToDouble(value[4].ToString().Replace('.', ','))) : 0; decimal credt = value[5].ToString() != "" ? Convert.ToDecimal(Convert.ToDouble(value[5].ToString().Replace('.', ','))) : 0; var editor = new journalHeader.journalDetail() { coaId = idCoa, accountNameOther = othrAccountName, remarks = remak, debit = debt, credit = credt }; model.detailJournal.Add(editor); ViewData["ddlAccount" + (i + 1)] = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = x.accountName + " [" + x.accountNo + "]" }), "id", "accountName", idCoa); } ViewData["dataDetail"] = model.detailJournal.ToList(); //ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = /*"[" + */x.accountNo/* + "] " + x.accountName */ }), "id", "accountName"); ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { id = x.id + "-" + x.accountName, accountName = x.accountName + " [" + x.accountNo + "]" }), "id", "accountName"); //var lookupId = int.Parse(categoryId); ////var model = await this.GetFullAndPartialViewModel(lookupId); return PartialView("_PartialPage1"); }
// GET: /JournalAdjustment/Delete/5 public ActionResult Delete(string id) { 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() }); if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } journalHeader journalheader = db.journalHeaders.Find(id); if (journalheader == null) { return HttpNotFound(); } #region getDataDetail var data = db.journalDetails.Where(x => x.voucherNo == id).ToList(); var model = new journalHeader(); for (int i = 0; i < data.Count(); i++) { int idCoa = Convert.ToInt32(data[i].coaId.ToString()); string othrAccountName = data[i].accountNameOther.ToString(); string remak = data[i].remarks.ToString(); decimal debt = Convert.ToDecimal(data[i].debit.ToString()); decimal credt = Convert.ToDecimal(data[i].credit.ToString()); var coaName = db.chartOfAccounts.Where(x => x.id == idCoa).ToList(); var editor = new journalHeader.journalDetail() { coaId = idCoa, accountNameOther = coaName[0].accountName/*othrAccountName*/, remarks = remak, debit = debt, credit = credt }; model.detailJournal.Add(editor); //ViewData["ddlAccount" + (i + 1)] = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = /*"[" + */x.accountNo/* + "] " + x.accountName */ }), "id", "accountName", idCoa); ViewData["ddlAccount" + (i + 1)] = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { id = x.id + "-" + x.accountName, accountName = x.accountNo }), "id", "accountName", (idCoa + "-" + coaName[0].accountName)); } ViewData["dataDetail"] = model.detailJournal.ToList(); //ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = /*"[" + */x.accountNo/* + "] " + x.accountName */ }), "id", "accountName"); ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { id = x.id + "-" + x.accountName, accountName = x.accountNo }), "id", "accountName"); #endregion return View(journalheader); }
public ActionResult Edit([Bind(Include = "voucherNo,voucherDate,journalType,remark,createdDate,createdUser,modifiedDate,modifiedUser")] journalHeader journalheader, string hdnTotalRows) { 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 journal var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("ddlAccount_")) countChk++; } var model = new journalHeader(); for (int i = 1; i <= countChk; i++) { var ddlValue = Request.Form["ddlAccount_" + i]; if (ddlValue == "") break; var acctName = Request.Form["txtAccountName_" + i]; var remark = Request.Form["txtRemark_" + i]; var debit = Request.Form["txtDebit_" + i].Trim() == "" ? "0" : Request.Form["txtDebit_" + i]; var credit = Request.Form["txtCredit_" + i].Trim() == "" ? "0" : Request.Form["txtCredit_" + i]; string[] ddlVal = ddlValue.ToString().Split('-'); var editor = new journalHeader.journalDetail() { coaId = Convert.ToInt32(ddlVal[0].ToString()), accountNameOther = acctName.ToString(), remarks = remark.ToString(), debit = Convert.ToDecimal(Convert.ToDouble(debit.ToString().Replace('.', ','))), credit = Convert.ToDecimal(Convert.ToDouble(credit.ToString().Replace('.', ','))) }; model.detailJournal.Add(editor); ViewData["ddlAccount_" + i] = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = /*"[" + */x.accountNo/* + "] " + x.accountName */ }), "id", "accountName", ddlValue); } ViewData["dataDetail"] = model.detailJournal.ToList(); #endregion ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { id = x.id + "-" + x.accountName, accountName = x.accountName + " [" + x.accountNo + "]" }), "id", "accountName"); if (ModelState.IsValid) { lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; try { using (TransactionScope ts = new TransactionScope()) { var ids = db.journalHeaders.AsNoTracking().Where(x => x.voucherNo == journalheader.voucherNo).ToList(); long id = ids[0].id; journalheader.id = id; journalheader.modifiedDate = DateTime.Now; journalheader.modifiedUser = lvm.userID; db.Entry(journalheader).State = EntityState.Modified; //db.SaveChanges(); #region insertDetail bool runFirst = true; for (int i = 1; i <= countChk; i++) { if (runFirst == true) { db.journalDetails.RemoveRange(db.journalDetails.Where(x => x.voucherNo == journalheader.voucherNo)); //db.SaveChanges(); runFirst = false; } var ddlValue = Request.Form["ddlAccount_" + i]; if (ddlValue == "" || ddlValue == null) break; var acctName = Request.Form["txtAccountName_" + i]; var remark = Request.Form["txtRemark_" + i]; var debit = Request.Form["txtDebit_" + i].Trim() == "" ? "0" : Request.Form["txtDebit_" + i]; var credit = Request.Form["txtCredit_" + i].Trim() == "" ? "0" : Request.Form["txtCredit_" + i]; string[] ddlVal = ddlValue.ToString().Split('-'); db.journalDetails.Add(new journalHeader.journalDetail() { voucherNo = journalheader.voucherNo, //coaId = Convert.ToInt32(ddlValue.ToString()), coaId = Convert.ToInt32(ddlVal[0].ToString()), accountNameOther = acctName.ToString(), remarks = remark.ToString(), debit = Convert.ToDecimal(Convert.ToDouble(debit.ToString().Replace('.', ','))), credit = Convert.ToDecimal(Convert.ToDouble(credit.ToString().Replace('.', ','))) }); } #endregion db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch(Exception exc) { } } return View(journalheader); }
public ActionResult Create([Bind(Include = "voucherNo,voucherDate,journalType,remark,createdDate,createdUser,modifiedDate,modifiedUser")] journalHeader journalheader, string hdnTotalRows) { 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() }); //ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = x.accountName + " [" + x.accountNo + "]" }), "id", "accountName"); ViewBag.ddlAccount = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { id = x.id + "-" + x.accountName, accountName = x.accountName + " [" + x.accountNo + "]" }), "id", "accountName"); #region collect detail journal var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("ddlAccount_")) countChk++; } var model = new journalHeader(); for (int i = 1; i <= countChk; i++) { var ddlValue = Request.Form["ddlAccount_"+i]; if (ddlValue == "") break; var acctName = Request.Form["txtAccountName_" + i]; var remark = Request.Form["txtRemark_" + i]; var debit = Request.Form["txtDebit_" + i].Trim() == "" ? "0" : Request.Form["txtDebit_" + i]; var credit = Request.Form["txtCredit_" + i].Trim() == "" ? "0" : Request.Form["txtCredit_" + i]; string[] ddlVal = ddlValue.ToString().Split('-'); var editor = new journalHeader.journalDetail() { coaId = Convert.ToInt32(ddlVal[0].ToString()), accountNameOther = acctName.ToString(), remarks = remark.ToString(), debit = Convert.ToDecimal(Convert.ToDouble(debit.ToString().Replace('.', ','))), credit = Convert.ToDecimal(Convert.ToDouble(credit.ToString().Replace('.', ','))) }; model.detailJournal.Add(editor); ViewData["ddlAccount_" + i] = new SelectList(db.chartOfAccounts.Where(x => x.levelID == 3 && x.accountNo != "").Select(x => new { x.id, accountName = /*"[" + */x.accountNo/* + "] " + x.accountName */ }), "id", "accountName", ddlValue); } ViewData["dataDetail"] = model.detailJournal.ToList(); #endregion if (ModelState.IsValid) { lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; try { using(TransactionScope ts = new TransactionScope()) { string vouchNo = "ADJ" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); //var voucherNoCreated = db.journalHeaders.Where(x => x.voucherNo.Contains("ADJ")).OrderByDescending(x => x.id).Select(x => x.id).ToList(); var voucherNoCreated = db.journalHeaders.Where(x => x.voucherNo.Contains(vouchNo)).OrderByDescending(x => x.id).Select(x => x.voucherNo).ToList(); if (voucherNoCreated.Count == 0) { journalheader.voucherNo = "ADJ" + DateTime.Now.Year + DateTime.Now.Month.ToString("d2") + "0001"; } else { journalheader.voucherNo = "ADJ" + DateTime.Now.Year + DateTime.Now.Month.ToString("d2") + (Convert.ToInt32(voucherNoCreated[0].Substring((voucherNoCreated[0].Length - 4))) + 1).ToString().PadLeft(4, '0'); } journalheader.createdDate = DateTime.Now; journalheader.createdUser = ""; db.journalHeaders.Add(journalheader); db.SaveChanges(); if (journalheader.id > 0)//var groupIdH = db.UserGroupHs.OrderByDescending(x => x.id).Select(x => x.id).First(); <--cara lain { #region insertDetail for (int i = 1; i <= countChk; i++) { var ddlValue = Request.Form["ddlAccount_" + i]; if (ddlValue == "" || ddlValue == null) break; var acctName = Request.Form["txtAccountName_" + i]; var remark = Request.Form["txtRemark_" + i]; var debit = Request.Form["txtDebit_" + i].Trim() == "" ? "0" : Request.Form["txtDebit_" + i]; var credit = Request.Form["txtCredit_" + i].Trim() == "" ? "0" : Request.Form["txtCredit_" + i]; string[] ddlVal = ddlValue.ToString().Split('-'); db.journalDetails.Add(new journalHeader.journalDetail() { voucherNo = journalheader.voucherNo, //coaId = Convert.ToInt32(ddlValue.ToString()), coaId = Convert.ToInt32(ddlVal[0].ToString()), accountNameOther = acctName.ToString(), remarks = remark.ToString(), debit = Convert.ToDecimal(Convert.ToDouble(debit.ToString().Replace('.', ','))), credit = Convert.ToDecimal(Convert.ToDouble(credit.ToString().Replace('.', ',')))//Convert.ToInt32(credit.ToString()) }); } db.SaveChanges(); #endregion } ts.Complete(); } return RedirectToAction("Index"); } catch(Exception exc) { string a = exc.Message; } } return View(journalheader); }