Example #1
0
        public HttpResponseMessage PostWMS_Cyclecount(List <BAL_PUSHDATA.DOC_HEADER_CLS> wMS_CycleCount)
        {
            try
            {
                /* header token */
                IEnumerable <string> headerValues;
                var TokenValue = string.Empty;

                if (Request.Headers.TryGetValues("Token", out headerValues))
                {
                    TokenValue = headerValues.FirstOrDefault();
                }
                /* header token ends */
                if (TokenValue == "BNW@Cc!")
                {
                    List <BAL_PUSHDATA.DOC_HEADER_CLS> NAVDATA = new List <BAL_PUSHDATA.DOC_HEADER_CLS>(); // 1)this will used in end of process, 2) collecting in list object Head/Detail and sending final response to the user

                    int count = wMS_CycleCount.Count;

                    for (int i = 0; i < count; i++)
                    {
                        BAL_PUSHDATA.DOC_HEADER_CLS P_objHeadDetail = new BAL_PUSHDATA.DOC_HEADER_CLS();      //  creating object of the class for outer loop

                        P_objHeadDetail.H_DOCNO    = wMS_CycleCount[i].H_DOCNO;
                        P_objHeadDetail.H_SUBDOCNO = wMS_CycleCount[i].H_SUBDOCNO;
                        P_objHeadDetail.H_WHNO     = wMS_CycleCount[i].H_WHNO;

                        int detailcount = wMS_CycleCount[i].DOC_DETAIL_LIST.Count;

                        List <BAL_PUSHDATA.RESPONSE_DETAIL> cls_RESPONSE_OUTER = new List <BAL_PUSHDATA.RESPONSE_DETAIL>();    // creating the response class object for response sending to users

                        for (int j = 0; j < detailcount; j++)
                        {
                            List <BAL_PUSHDATA.RESPONSE_DETAIL> cls_RESPONSE_INNER = new List <BAL_PUSHDATA.RESPONSE_DETAIL>();    // cr

                            string DOCNO       = wMS_CycleCount[i].H_DOCNO;
                            string SUBDOCNO    = wMS_CycleCount[i].H_SUBDOCNO;
                            string WHNO        = wMS_CycleCount[i].H_WHNO;
                            string ZONEID      = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_ZONEID;
                            string BINNO       = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_BINID;
                            string BARCODE     = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_BARCODE;
                            string ITEMNO      = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_ITEMNO;
                            string SERIALNO    = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_SERIALNO;
                            string QTY         = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_QTY;
                            string DESCRIPTION = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_DESCRIPTION;
                            string UOM         = wMS_CycleCount[i].DOC_DETAIL_LIST[j].D_UOM;
                            try
                            {
                                cmd.CommandText = "WMS_NAVDATA_PULL";
                                cmd.Parameters.AddWithValue("@STATUS", 3);
                                cmd.Parameters.AddWithValue("@WHNO", WHNO);
                                cmd.Parameters.AddWithValue("@DOCNO", DOCNO);
                                cmd.Parameters.AddWithValue("@SUBDOCNO", SUBDOCNO);
                                cmd.Parameters.AddWithValue("@BARCODE", BARCODE);
                                cmd.Parameters.AddWithValue("@ITEMNO", ITEMNO);
                                cmd.Parameters.AddWithValue("@SERAILNO", SERIALNO);
                                cmd.Parameters.AddWithValue("@ITEMDESC", DESCRIPTION);
                                cmd.Parameters.AddWithValue("@UOM", UOM);
                                cmd.Parameters.AddWithValue("@QTY", QTY);
                                cmd.Parameters.AddWithValue("@BINNO", BINNO);
                                cmd.Parameters.AddWithValue("@ZONEID", ZONEID);
                                int k = dbt.EXECUTENONQUERY_PROCE_FUNCTION(cmd);
                                cmd.Parameters.Clear();

                                BAL_PUSHDATA.RESPONSE_DETAIL OBJ_PDTL = new BAL_PUSHDATA.RESPONSE_DETAIL(); // SIMPLE CLASS OBJECT TO STORE Indivisual
                                OBJ_PDTL.D_SERIALNO = SERIALNO;
                                OBJ_PDTL.D_ITEMNO   = ITEMNO;
                                OBJ_PDTL.D_MESSAGE  = "SUCCESS";
                                OBJ_PDTL.D_SUCCESS  = 1;
                                cls_RESPONSE_INNER.Add(OBJ_PDTL); // adding SIMPLE CLASS OBJECT to list
                            }
                            catch (Exception ex)
                            {
                                // OnFailuer: applying header and detail to innser response list object
                                cmd.Parameters.Clear();

                                BAL_PUSHDATA.RESPONSE_DETAIL OBJ_PDTL = new BAL_PUSHDATA.RESPONSE_DETAIL(); // SIMPLE CLASS OBJECT TO STORE Indivisual
                                OBJ_PDTL.D_SERIALNO = SERIALNO;
                                OBJ_PDTL.D_ITEMNO   = ITEMNO;
                                if (ex.Message.Contains("PRIMARY KEY constraint"))
                                {
                                    OBJ_PDTL.D_MESSAGE = "Duplicate Record";
                                }
                                else
                                {
                                    OBJ_PDTL.D_MESSAGE = ex.ToString();
                                }
                                OBJ_PDTL.D_SUCCESS = 0;
                                cls_RESPONSE_INNER.Add(OBJ_PDTL); // adding SIMPLE CLASS OBJECT to list
                                LogError(ex, OBJ_PDTL.D_ITEMNO);
                            }
                            cls_RESPONSE_OUTER.AddRange(cls_RESPONSE_INNER);
                            P_objHeadDetail.RESPONSE_LIST = cls_RESPONSE_OUTER;
                        }
                        NAVDATA.Add(P_objHeadDetail);
                    }
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(JArray.FromObject(NAVDATA).ToString(), Encoding.UTF8, "application/json")
                    });
                }

                else
                {
                    var       message = string.Format("Invalid Token");
                    HttpError err     = new HttpError(message);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
                }
            }
            catch (Exception ex)
            {
                var message = string.Format("Error");
                LogError(ex, message);
                HttpError err = new HttpError(message);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }
        public HttpResponseMessage PostWMS_PICKING(List <BAL_PUSHDATA.PICKING_CLS> wMS_PICKING)
        {
            try
            {
                IEnumerable <string> headerValues;
                var TokenValue = string.Empty;

                if (Request.Headers.TryGetValues("Token", out headerValues))
                {
                    TokenValue = headerValues.FirstOrDefault();
                }
                if (TokenValue == "BNW@Pick!")
                {
                    List <BAL_PUSHDATA.PICKING_CLS> NAVDATA = new List <BAL_PUSHDATA.PICKING_CLS>();
                    int count = wMS_PICKING.Count;
                    for (int i = 0; i < count; i++)
                    {
                        BAL_PUSHDATA.PICKING_CLS P = new BAL_PUSHDATA.PICKING_CLS();
                        P.H_DOCNO  = wMS_PICKING[i].H_DOCNO;
                        P.H_PICKNO = wMS_PICKING[i].H_PICKNO;
                        P.H_WHNO   = wMS_PICKING[i].H_WHNO;
                        List <BAL_PUSHDATA.RESPONSE_DETAIL> PTDTL = new List <BAL_PUSHDATA.RESPONSE_DETAIL>();
                        int detailcount = wMS_PICKING[i].PICKINGDETAIL_LIST.Count;
                        for (int j = 0; j < detailcount; j++)
                        {
                            List <BAL_PUSHDATA.RESPONSE_DETAIL> PTDTL1 = new List <BAL_PUSHDATA.RESPONSE_DETAIL>();
                            BAL_PUSHDATA.PICKING_CLS            P1     = new BAL_PUSHDATA.PICKING_CLS();
                            string DOCNO       = wMS_PICKING[i].H_DOCNO;
                            string PICKNO      = wMS_PICKING[i].H_PICKNO;
                            string WHNO        = wMS_PICKING[i].H_WHNO;
                            string ZONEID      = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_ZONEID;
                            string EANCODE     = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_EANCODE;
                            string BINID       = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_BINID;
                            string BARCODE     = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_BARCODE;
                            string ITEMNO      = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_ITEMNO;
                            string SERIALNO    = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_SERIALNO;
                            string QTY         = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_QTY;
                            string DESCRIPTION = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_DESCRIPTION;
                            string UOM         = wMS_PICKING[i].PICKINGDETAIL_LIST[j].D_UOM;
                            try
                            {
                                cmd.CommandText = "WMS_NAVDATA_PULL";
                                cmd.Parameters.AddWithValue("@STATUS", 2);
                                cmd.Parameters.AddWithValue("@WHNO", WHNO);
                                cmd.Parameters.AddWithValue("@DOCNO", DOCNO);
                                cmd.Parameters.AddWithValue("@SUBDOCNO", PICKNO);
                                cmd.Parameters.AddWithValue("@BARCODE", BARCODE);
                                cmd.Parameters.AddWithValue("@ITEMNO", ITEMNO);
                                cmd.Parameters.AddWithValue("@SERAILNO", SERIALNO);
                                cmd.Parameters.AddWithValue("@ITEMDESC", DESCRIPTION);
                                cmd.Parameters.AddWithValue("@UOM", UOM);
                                cmd.Parameters.AddWithValue("@QTY", QTY);
                                cmd.Parameters.AddWithValue("@BINNO", BINID);
                                cmd.Parameters.AddWithValue("@ZONEID", ZONEID);
                                cmd.Parameters.AddWithValue("@EANCODE", EANCODE);
                                int k = dbt.EXECUTENONQUERY_PROCE_FUNCTION(cmd);
                                cmd.Parameters.Clear();
                                //if (k > 0)
                                {
                                    P.H_DOCNO  = wMS_PICKING[i].H_DOCNO;
                                    P.H_PICKNO = wMS_PICKING[i].H_PICKNO;
                                    P.H_WHNO   = wMS_PICKING[i].H_WHNO;
                                    BAL_PUSHDATA.RESPONSE_DETAIL OBJ_PDTL = new BAL_PUSHDATA.RESPONSE_DETAIL();
                                    OBJ_PDTL.D_SERIALNO = SERIALNO;
                                    OBJ_PDTL.D_ITEMNO   = ITEMNO;
                                    OBJ_PDTL.D_MESSAGE  = "SUCCESS";
                                    OBJ_PDTL.D_SUCCESS  = 1;
                                    PTDTL1.Add(OBJ_PDTL);
                                }
                            }
                            catch (Exception ex)
                            {
                                cmd.Parameters.Clear();
                                P.H_DOCNO  = wMS_PICKING[i].H_DOCNO;
                                P.H_PICKNO = wMS_PICKING[i].H_PICKNO;
                                P.H_WHNO   = wMS_PICKING[i].H_WHNO;
                                BAL_PUSHDATA.RESPONSE_DETAIL OBJ_PDTL = new BAL_PUSHDATA.RESPONSE_DETAIL();
                                OBJ_PDTL.D_SERIALNO = SERIALNO;
                                OBJ_PDTL.D_ITEMNO   = ITEMNO;
                                if (ex.Message.Contains("PRIMARY KEY constraint"))
                                {
                                    OBJ_PDTL.D_MESSAGE = "Duplicate Record";
                                }
                                else
                                {
                                    OBJ_PDTL.D_MESSAGE = ex.ToString();
                                }
                                OBJ_PDTL.D_SUCCESS = 0;
                                PTDTL1.Add(OBJ_PDTL);
                                LogError(ex, P.H_DOCNO);
                            }

                            PTDTL.AddRange(PTDTL1);
                            P.RESPONSE_LIST = PTDTL;
                        }
                        NAVDATA.Add(P);
                    }
                    return(new HttpResponseMessage()
                    {
                        Content = new StringContent(JArray.FromObject(NAVDATA).ToString(), Encoding.UTF8, "application/json")
                    });
                }
                else
                {
                    //Exception ex = null;
                    var message = string.Format("Invalid Token");
                    //LogError(ex, message);
                    HttpError err = new HttpError(message);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
                }
            }
            catch (Exception ex)
            {
                var message = string.Format("Error");
                LogError(ex, message);
                HttpError err = new HttpError(message);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }