Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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);
        }