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)); } }