Esempio n. 1
0
        public ActionResult SearchAddrs(string shipName, string addr, string aliasName, bool isSpecialShip, string destName, long?destLocation)
        {
            try
            {
                List <ExVAliasAddr> list = new List <ExVAliasAddr>();
                CHubEntities        db   = new CHubEntities();
                if (isSpecialShip)
                {
                    V_ALIAS_ADDR_SPL_BLL bll = new V_ALIAS_ADDR_SPL_BLL();
                    list = bll.GetAliasAddrSPL(shipName.Trim(), addr.Trim(), destName.Trim(), destLocation, aliasName);
                }
                else
                {
                    V_ALIAS_ADDR_DFLT_BLL bll = new V_ALIAS_ADDR_DFLT_BLL();
                    list = bll.GetAliasAddrDFLT(aliasName);
                }

                //Get from parameter table***
                if (list.Count > 20)
                {
                    return(Json(new RequestResult(false, string.Format("Result has {0} items, Make Condition more strict", list.Count.ToString()))));
                }
                if (list.Count == 0)
                {
                    return(Json(new RequestResult(false, "No result")));
                }

                return(Json(new RequestResult(list)));
            }
            catch (Exception ee)
            {
                return(Json(new RequestResult(false, ee.Message)));
            }
        }
Esempio n. 2
0
 public ActionResult GetStrictAddrs(string shipName, string addr, string aliasName, bool isSpecialShip)
 {
     try
     {
         List <ExVAliasAddr> list = new List <ExVAliasAddr>();
         CHubEntities        db   = new CHubEntities();
         if (isSpecialShip)
         {
             V_ALIAS_ADDR_SPL_BLL bll = new V_ALIAS_ADDR_SPL_BLL();
             list = bll.GetStrictAliasAddrSPL(shipName.Trim(), addr.Trim(), aliasName);
         }
         else
         {
             V_ALIAS_ADDR_DFLT_BLL bll = new V_ALIAS_ADDR_DFLT_BLL();
             list = bll.GetStrictAliasAddrDFLT(shipName.Trim(), addr.Trim(), aliasName);
         }
         return(Json(list));
     }
     catch (Exception ee)
     {
         Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         return(Content(ee.Message));
     }
 }
Esempio n. 3
0
        public ActionResult InitOrder(decimal orderSeq)
        {
            //if (Session[CHubConstValues.SessionUser] == null)
            //    return RedirectToAction("Login", "Account");

            using (CHubEntities db = new CHubEntities())
            {
                string appUser = Session[CHubConstValues.SessionUser].ToString();

                ExVAliasAddr         priAddr  = null;
                ExVAliasAddr         AltAddr  = null;
                List <OrderLineItem> olReslut = new List <OrderLineItem>();
                bool   isSaved = false;
                bool   splInd  = true;
                string poNum   = "";
                string dueDate = "";
                string note    = "";

                V_ALIAS_ADDR_DFLT_BLL dfltBLL = new V_ALIAS_ADDR_DFLT_BLL(db);
                V_ALIAS_ADDR_SPL_BLL  splBLL  = new V_ALIAS_ADDR_SPL_BLL(db);

                TS_OR_HEADER_BLL    hBLL  = new TS_OR_HEADER_BLL(db);
                List <TS_OR_HEADER> hList = hBLL.GetHeadersBySeq(orderSeq);
                if (hList != null && hList.Count > 0)
                {
                    isSaved = true;
                    //Get primary addr and Alt addr
                    foreach (var item in hList)
                    {
                        //special ship
                        if (item.SPL_IND == CHubConstValues.IndY)
                        {
                            splInd = true;
                            if (item.SHIPFROM_SEQ == 0)
                            {
                                poNum   = item.CUSTOMER_PO_NO;
                                dueDate = item.DUE_DATE.ToString("yyyy-MM-dd");
                                note    = item.ORDER_NOTES;
                                priAddr = splBLL.GetSpecifyAliasAddrSPL(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION, item.DEST_LOCATION);
                            }
                            if (item.SHIPFROM_SEQ == 1)
                            {
                                AltAddr = splBLL.GetSpecifyAliasAddrSPL(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION, item.DEST_LOCATION);
                            }
                        }
                        else
                        {
                            splInd = false;
                            if (item.SHIPFROM_SEQ == 0)
                            {
                                poNum   = item.CUSTOMER_PO_NO;
                                dueDate = item.DUE_DATE.ToString("yyyy-MM-dd");
                                note    = item.ORDER_NOTES;
                                priAddr = dfltBLL.GetSpecifyAliasAddrDFLT(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION);
                            }
                            if (item.SHIPFROM_SEQ == 1)
                            {
                                AltAddr = dfltBLL.GetSpecifyAliasAddrDFLT(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION);
                            }
                        }
                    }

                    TS_OR_DETAIL_BLL    dBLL  = new TS_OR_DETAIL_BLL(db);
                    List <TS_OR_DETAIL> dList = dBLL.GetDetailsBySeq(orderSeq);

                    //change detail ot orderLine
                    OrderLineCheckArg arg = new OrderLineCheckArg();
                    arg.primarySysID     = priAddr.SysID;
                    arg.primaryWareHouse = priAddr.WareHouse;
                    arg.customerNo       = priAddr.CustomerNo;
                    if (AltAddr != null)
                    {
                        arg.altSysID     = AltAddr.SysID;
                        arg.altWareHosue = AltAddr.WareHouse;
                    }
                    foreach (var item in dList)
                    {
                        arg.olItem = new OrderLineItem();
                        arg.olItem.CustomerPartNo = item.CUSTOMER_PART_NO;
                        arg.olItem.Qty            = item.BUY_QTY;
                        arg.olItem.OrderLineNo    = item.ORDER_LINE_NO;
                        CheckOrderLineItemAction(arg);
                        olReslut.Add(arg.olItem);
                    }
                }
                else
                {
                    TS_OR_HEADER_STAGE_BLL    hsBLL  = new TS_OR_HEADER_STAGE_BLL(db);
                    List <TS_OR_HEADER_STAGE> hsList = hsBLL.GetHeaderStageBySeq(orderSeq);

                    if (hsList != null && hsList.Count > 0)
                    {
                        isSaved = false;
                        //Get primary addr and Alt addr stage
                        foreach (var item in hsList)
                        {
                            //special ship
                            if (item.SPL_IND == CHubConstValues.IndY)
                            {
                                splInd = true;
                                if (item.SHIPFROM_SEQ == 0)
                                {
                                    poNum   = item.CUSTOMER_PO_NO;
                                    dueDate = item.DUE_DATE.ToString("yyyy-MM-dd");
                                    note    = item.ORDER_NOTES;
                                    priAddr = splBLL.GetSpecifyAliasAddrSPL(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION, item.DEST_LOCATION);
                                }
                            }
                            else
                            {
                                splInd = false;
                                if (item.SHIPFROM_SEQ == 0)
                                {
                                    poNum   = item.CUSTOMER_PO_NO;
                                    dueDate = item.DUE_DATE.ToString("yyyy-MM-dd");
                                    note    = item.ORDER_NOTES;
                                    priAddr = dfltBLL.GetSpecifyAliasAddrDFLT(item.ALIAS_NAME, item.TO_SYSTEM, item.CUSTOMER_NO, item.BILL_TO_LOCATION, item.SHIP_TO_LOCATION);
                                }
                            }
                        }


                        TS_OR_DETAIL_STAGE_BLL    dsBLL  = new TS_OR_DETAIL_STAGE_BLL(db);
                        List <TS_OR_DETAIL_STAGE> dsList = dsBLL.GetDetailsStageByOrderSeq(orderSeq);

                        //change detail ot orderLine
                        OrderLineCheckArg arg = new OrderLineCheckArg();
                        arg.primarySysID     = priAddr.SysID;
                        arg.primaryWareHouse = priAddr.WareHouse;
                        arg.customerNo       = priAddr.CustomerNo;
                        arg.altSysID         = null;
                        arg.altWareHosue     = null;

                        foreach (var item in dsList)
                        {
                            arg.olItem = new OrderLineItem();
                            arg.olItem.CustomerPartNo = item.CUSTOMER_PART_NO;
                            arg.olItem.Qty            = item.BUY_QTY;
                            arg.olItem.OrderLineNo    = item.ORDER_LINE_NO;
                            CheckOrderLineItemAction(arg);
                            olReslut.Add(arg.olItem);
                        }
                    }
                    else
                    {
                        this.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                        return(Content("Wrong Order Seq"));
                    }
                }

                var obj = new
                {
                    priAddr    = priAddr,
                    altAddr    = AltAddr,
                    orderLines = olReslut,
                    isSaved    = isSaved,
                    splInd     = splInd,
                    poNum      = poNum,
                    dueDate    = dueDate,
                    note       = note
                };

                return(Json(obj));
            }
        }