public static TS_OR_DETAIL_STAGE ConvertOLItem2DetailStage(OrderLineItem item, string seq, string appUser) { TS_OR_DETAIL_STAGE dStage = new TS_OR_DETAIL_STAGE(); dStage.ORDER_REQ_NO = string.IsNullOrEmpty(seq) ? 0 : decimal.Parse(seq);; dStage.ORDER_LINE_NO = item.OrderLineNo; if (item.PriAVLCheck < item.Qty && item.AltAVLCheck >= item.Qty) { dStage.SHIPFROM_SEQ = 1; } else { dStage.SHIPFROM_SEQ = 0; } dStage.PART_NO = item.PartNo; dStage.CUSTOMER_PART_NO = item.CustomerPartNo; dStage.BUY_QTY = item.Qty; dStage.DESCRIPTION = item.Description; dStage.DESC_CN = item.DescCN; dStage.DESCRIPTION = null; dStage.CREATION_DATE = DateTime.Now; dStage.CREATED_BY = appUser; dStage.UPDATED_DATE = null; dStage.UPDATED_BY = null; return(dStage); }
public void AddOrUpdateDetailStage(TS_OR_DETAIL_STAGE model, bool autoSave = true) { if (db.TS_OR_DETAIL_STAGE.Any(a => a.ORDER_REQ_NO == model.ORDER_REQ_NO && a.ORDER_LINE_NO == model.ORDER_LINE_NO)) { Update(model, autoSave); } else { Add(model, autoSave); } }
public ActionResult SaveDraft(OrderSaveArg arg) { try { if (arg.headInfo == null) { return(Content("fail")); } string appUser = Session[CHubConstValues.SessionUser].ToString(); CHubEntities db = new CHubEntities(); TS_OR_HEADER_STAGE_BLL bll = new TS_OR_HEADER_STAGE_BLL(db); //Header part TS_OR_HEADER_STAGE orHeaderStage = ManualClassConvert.ConvertExAliaAddr2HeaderStage(arg.headInfo, arg.seq, arg.dueDate, arg.orderType, arg.shipCompFlag, arg.customerPONO, arg.orderNote, arg.isSpecialShip, appUser); TS_OR_HEADER_STAGE altORHeaderStage = null; if (arg.altHeadInfo != null) { altORHeaderStage = ManualClassConvert.ConvertExAliaAddr2HeaderStage(arg.altHeadInfo, arg.seq, arg.dueDate, arg.orderType, arg.shipCompFlag, arg.customerPONO, arg.orderNote, arg.isSpecialShip, appUser, true); } //Detail Part List <TS_OR_DETAIL_STAGE> dStageList = null; if (arg.olList != null && arg.olList.Count > 0) { dStageList = new List <TS_OR_DETAIL_STAGE>(); foreach (var item in arg.olList) { //ignore wrong lines if (string.IsNullOrEmpty(item.PartNo) || string.IsNullOrEmpty(item.PriAVLCheckColor)) { continue; } TS_OR_DETAIL_STAGE dStage = ManualClassConvert.ConvertOLItem2DetailStage(item, arg.seq, appUser); dStageList.Add(dStage); } } decimal seq = 0; if (string.IsNullOrEmpty(arg.seq)) { seq = bll.AddHeadersWithDetailsStage(orHeaderStage, altORHeaderStage, dStageList); } else { seq = bll.UpdateHeadersWithDetailsStage(orHeaderStage, altORHeaderStage, dStageList); } if (seq != 0.00M) { return(Content(seq.ToString())); } else { Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(Content("Fail to save draft")); } } catch (Exception ee) { //log ee Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(Content(ee.Message)); } }
public void AddOrUpdateDetailStage(TS_OR_DETAIL_STAGE model, bool autoSave = true) { dal.AddOrUpdateDetailStage(model, autoSave); }