Пример #1
0
        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);
        }
Пример #2
0
 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);
     }
 }
Пример #3
0
        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));
            }
        }
Пример #4
0
 public void AddOrUpdateDetailStage(TS_OR_DETAIL_STAGE model, bool autoSave = true)
 {
     dal.AddOrUpdateDetailStage(model, autoSave);
 }