Пример #1
0
        public ActionResult Inputcheck(Document doc, OrderTable order, FormRequestOrderTableList subOrder)
        {
            if (!SessionCheck(Define.Session.SESSION_CHECK))
            {
                return(ErrorPage("/Home/Error"));
            }
            if (!CheckAuth())
            {
                LogWriter.Instance().LogWrite(UserSession.UserId, "/Obtain/Inputcheck - Error");
                return(base.Logout());
            }
            Session[Define.Session.ACTION] = "DeliveryOrder";
            LogWriter.Instance().LogWrite(UserSession.UserId, "/Obtain/Inputcheck");
            LanguageType?lType = GetLanguageType();

            //잘못된 경로로 들어올 시
            if (String.IsNullOrEmpty(doc.DocumentCode))
            {
                return(Redirect("/Delivery/DeliveryOrder"));
            }

            List <String> pErrmsg = new List <string>();

            pErrmsg.AddRange(doc.Validate(lType));
            pErrmsg.AddRange(order.Validate(lType));
            pErrmsg.AddRange(subOrder.Validate(lType));

            //에러가 발생시
            if (pErrmsg.Count > 0)
            {
                ViewBag.userinfo      = UserSession;
                ViewBag.compinfo      = CompanySession;
                ViewBag.moneySendType = CodeMasterMap.Instance().GetCodeMaster(Define.CodeMaster.MONEY_SEND_TYPE, lType);
                ViewBag.ordercomplist = customerInfoDao.SelectByInorderCompList(CompanySession.CompanyCode);
                ViewBag.productlist   = productInfoDao.GetProductNameList(CompanySession.CompanyCode);
                ViewBag.MunCode       = doc.DocumentCode;
                ViewBag.BalCode       = order.OrderNumber;
                ViewBag.order         = order;
                ViewBag.orderSub      = subOrder.List;

                String err = "";
                foreach (String pData in pErrmsg)
                {
                    err += pData + "<br>";
                }
                ViewBag.ErrMsg     = err;
                ViewBag.totalMoney = subOrder.List.Sum((pSub) => { return(pSub.ProductMoney); });
                return(View("~/Views/Delivery/Web/DeliveryOrder.cshtml", Define.MASTER_VIEW));
            }
            //정상시
            else
            {
                IList <OrderTableSub> orderSub = subOrder.List;

                //세션 저장
                Session["orderDOC"]   = doc;
                Session["order"]      = order;
                Session["orderSub"]   = orderSub;
                Session["orderCheck"] = ORDERSESSIONKEY;

                //상품정보 취득
                IList <ProductInfo> productList = productInfoDao.GetProductNameList(CompanySession.CompanyCode);
                orderSub.AsParallel().ForAll((data) =>
                {
                    IList <ProductInfo> product = (from info in productList where Object.Equals(info.Idx, data.ProductIndex) select info).ToList();
                    if (product.Count() > 0)
                    {
                        data.ProductName = product[0].ProductName;
                    }
                });
                //기본ViewBag 설정
                ViewSetting(doc, order, orderSub);
                ViewBag.Commit = COMMIT_KAKUNINN;
                return(View("~/Views/Delivery/Web/DeliveryOrderCheck.cshtml", Define.MASTER_VIEW));
            }
        }