public static TS_OR_DETAIL ConvertOLItem2Detail(OrderLineItem item, string seq, string appUser) { TS_OR_DETAIL detail = new TS_OR_DETAIL(); detail.ORDER_REQ_NO = string.IsNullOrEmpty(seq) ? 0 : decimal.Parse(seq);; detail.ORDER_LINE_NO = item.OrderLineNo; if (item.PriAVLCheck < item.Qty && item.AltAVLCheck >= item.Qty) { detail.SHIPFROM_SEQ = 1; } else { detail.SHIPFROM_SEQ = 0; } detail.PART_NO = item.PartNo; detail.CUSTOMER_PART_NO = item.CustomerPartNo; detail.BUY_QTY = item.Qty; detail.DESCRIPTION = item.Description; detail.DESC_CN = item.DescCN; detail.CREATION_DATE = DateTime.Now; detail.CREATED_BY = appUser; detail.UPDATED_DATE = null; detail.UPDATED_BY = null; return(detail); }
public void AddOrUpdateDetail(TS_OR_DETAIL model, bool autoSave = true) { if (db.TS_OR_DETAIL.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 SaveOrder(OrderSaveArg arg) { try { if (arg.headInfo == null) { return(Content("fail")); } string appUser = Session[CHubConstValues.SessionUser].ToString(); CHubEntities db = new CHubEntities(); TS_OR_HEADER_BLL bll = new TS_OR_HEADER_BLL(db); //Header part TS_OR_HEADER orHeader = ManualClassConvert.ConvertExAliaAddr2Header(arg.headInfo, arg.seq, arg.dueDate, arg.orderType, arg.shipCompFlag, arg.customerPONO, arg.orderNote, arg.isSpecialShip, appUser); TS_OR_HEADER altORHeader = null; if (arg.altHeadInfo != null) { altORHeader = ManualClassConvert.ConvertExAliaAddr2Header(arg.altHeadInfo, arg.seq, arg.dueDate, arg.orderType, arg.shipCompFlag, arg.customerPONO, arg.orderNote, arg.isSpecialShip, appUser, true); } //Detail part List <TS_OR_DETAIL> detailList = null; if (arg.olList != null && arg.olList.Count > 0) { detailList = new List <TS_OR_DETAIL>(); foreach (var item in arg.olList) { //ignore wrong lines if (string.IsNullOrEmpty(item.PartNo) || string.IsNullOrEmpty(item.PriAVLCheckColor)) { continue; } TS_OR_DETAIL detail = ManualClassConvert.ConvertOLItem2Detail(item, arg.seq, appUser); detailList.Add(detail); } } decimal seq = 0; if (string.IsNullOrEmpty(arg.seq)) { seq = bll.AddHeadersWithDetails(orHeader, altORHeader, detailList); } else { seq = bll.UpdateHeadersWithDetails(orHeader, altORHeader, detailList); } if (seq != 0.00M) { return(Content(seq.ToString())); } else { Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(Content("Fail to save order")); } } catch (Exception ee) { //log ee Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(Content(ee.Message)); } }
public void AddOrUpdateDetail(TS_OR_DETAIL model, bool autoSave = true) { dal.AddOrUpdateDetail(model); }