public ActionResult Edit(cashOnHandAndAdvanceRequest cashonhandandadvancerequest) { 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.User = ccm.ddlUserAll(cashonhandandadvancerequest.reqFrom); ViewBag.Activity = ccm.ddlActivityType(cashonhandandadvancerequest.activity); #region collect detail request var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtDesc_")) countChk++; } #endregion if (ModelState.IsValid) { try { using (TransactionScope ts = new TransactionScope()) { cashonhandandadvancerequest.coaActivity = ccm.COA_ActivityType(cashonhandandadvancerequest.activity); cashonhandandadvancerequest.modifiedDate = DateTime.Now; cashonhandandadvancerequest.modifiedUser = lvm.userID; db.Entry(cashonhandandadvancerequest).State = EntityState.Modified; #region insertDetail bool runFirst = true; for (int i = 0; i < countChk; i++) { if (runFirst == true) { db.cashOnHandAndAdvanceRequestDetails.RemoveRange(db.cashOnHandAndAdvanceRequestDetails.Where(x => x.reqNo == cashonhandandadvancerequest.reqNo)); runFirst = false; } var colVal = Request.Form["txtDesc_" + i]; if (colVal == "") break; int t_seqId = int.Parse(Request.Form["seqId_" + i].ToString()); string t_actDesc = Request.Form["txtDesc_" + i].ToString(); int t_currency = Request.Form["txtCur_" + i].ToString() != "" ? int.Parse(Request.Form["txtCur_" + i].ToString()) : 0; decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; var dtDetail = db.cashOnHandAndAdvanceRequestDetails.AsNoTracking().Where(x => x.reqNo == cashonhandandadvancerequest.reqNo && x.seqId == t_seqId).ToList(); string t_imageUrl = null; if (dtDetail.Count > 0) if (dtDetail[0].fileReimbursement.ToString() != string.Empty || dtDetail[0].fileReimbursement != null) { t_imageUrl = dtDetail[0].fileReimbursement.ToString(); } if (cashonhandandadvancerequest.isReimbursement == true) { var file = Request.Files["linkFileData_" + i]; if (file != null && file.ContentLength > 0) { var imagePath = Path.Combine(Server.MapPath(ccm.uploadDir), file.FileName); t_imageUrl = Path.Combine(ccm.uploadDir, file.FileName); file.SaveAs(imagePath); } } var editor = new cashOnHandAndAdvanceRequest.cashOnHandAndAdvanceRequestDetail() { seqId = (i + 1), reqNo = cashonhandandadvancerequest.reqNo, activityDescription = t_actDesc, currency = t_currency, amount = t_amount, fileReimbursement = t_imageUrl }; db.cashOnHandAndAdvanceRequestDetails.Add(editor); } #endregion db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string msg = exc.Message; } } return View(cashonhandandadvancerequest); }
protected void loadDetail(string reqNo) { if (reqNo != string.Empty) { var dtResult = db.cashOnHandAndAdvanceRequests.AsNoTracking().Where(x => x.reqNo == reqNo).ToList(); string reqFrom = dtResult[0].reqFrom; string activity = dtResult[0].activity; bool reqType = dtResult[0].reqIsCashOnHand; ViewBag.User = ccm.ddlUserAll(reqFrom); ViewBag.Activity = ccm.ddlActivityType(activity); ViewBag.ReqType = reqType; var detailResult = db.cashOnHandAndAdvanceRequestDetails.AsNoTracking().Where(x => x.reqNo == reqNo).ToList(); var model = new cashOnHandAndAdvanceRequest(); foreach (var a in detailResult) { var editor = new cashOnHandAndAdvanceRequest.cashOnHandAndAdvanceRequestDetail() { seqId = a.seqId, reqNo = a.reqNo, activityDescription = a.activityDescription, currency = a.currency, amount = a.amount, fileReimbursement = a.fileReimbursement }; model.detailCashOnHandAndAdvanceRequest.Add(editor); } ViewBag.dataDetail = model.detailCashOnHandAndAdvanceRequest.ToList(); } }
public ActionResult Create(cashOnHandAndAdvanceRequest cashonhandandadvancerequest) { 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.User = ccm.ddlUserAll(cashonhandandadvancerequest.reqFrom); ViewBag.Activity = ccm.ddlActivityType(cashonhandandadvancerequest.activity); #region collect detail request var countChk = 0; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtDesc_")) countChk++; } #endregion if (ModelState.IsValid) { try { using (TransactionScope ts = new TransactionScope()) { string generateID = prefix + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); var apvCreated = db.cashOnHandAndAdvanceRequests.Where(x => x.reqNo.Contains(generateID)).OrderByDescending(x => x.createdDate).Select(x => x.reqNo).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'); } cashonhandandadvancerequest.coaActivity = ccm.COA_ActivityType(cashonhandandadvancerequest.activity); cashonhandandadvancerequest.reqNo = generateID; cashonhandandadvancerequest.createdDate = DateTime.Now; cashonhandandadvancerequest.createdUser = lvm.userID; db.cashOnHandAndAdvanceRequests.Add(cashonhandandadvancerequest); #region insertDetail for (int i = 0; i < countChk; i++) { var colVal = Request.Form["txtDesc_" + i]; if (colVal == "") break; string t_actDesc = Request.Form["txtDesc_" + i].ToString(); int t_currency = Request.Form["txtCur_" + i].ToString() != "" ? int.Parse(Request.Form["txtCur_" + i].ToString()) : 0; decimal t_amount = Request.Form["txtAmount_" + i].ToString() != "" ? Convert.ToDecimal(Request.Form["txtAmount_" + i].ToString().Replace('.', ',')) : 0; string t_imageUrl = null; if (cashonhandandadvancerequest.isReimbursement == true) { var file = Request.Files["linkFileData_" + i]; if (file != null && file.ContentLength > 0) { var imagePath = Path.Combine(Server.MapPath(ccm.uploadDir), file.FileName); t_imageUrl = Path.Combine(ccm.uploadDir, file.FileName); file.SaveAs(imagePath); } } var editor = new cashOnHandAndAdvanceRequest.cashOnHandAndAdvanceRequestDetail() { seqId = (i + 1), reqNo = cashonhandandadvancerequest.reqNo, activityDescription = t_actDesc, currency = t_currency, amount = t_amount, fileReimbursement = t_imageUrl }; db.cashOnHandAndAdvanceRequestDetails.Add(editor); } #endregion db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string msg = exc.Message; } } return View(cashonhandandadvancerequest); }