Esempio n. 1
0
        protected void CheckLocalStock_CheckedChanged(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                try
                {
                    var CheckLocalStock = (CheckBox)sender;
                    var grdRow          = (GridViewRow)CheckLocalStock.NamingContainer;
                    var ShipperCode     = (Label)grdRow.FindControl("ShipperLbl");
                    var Sap_No          = (Label)grdRow.FindControl("SAP_Request_No");
                    var Type            = (Label)grdRow.FindControl("TypeLbl");

                    //stock values
                    var MSP  = (Label)grdRow.FindControl("MSP");
                    var AGO  = (Label)grdRow.FindControl("AGO");
                    var KERO = (Label)grdRow.FindControl("KERO");
                    var JET  = (Label)grdRow.FindControl("JET");


                    if (CheckLocalStock.Checked)
                    {
                        WebService(grdRow, ShipperCode, Sap_No, MSP, AGO, KERO, JET, Type);
                    }
                    else
                    {
                        GridSAP.DataSource = null;
                        GridSAP.DataBind();
                    }
                }
                catch (SoapHeaderException ex)
                {
                    //Debug.WriteLine(ex.Message);
                    //LabelCatch.Text = ex.Message.ToString();
                }
            }
            //limit checks
            LimitCheck(sender, "CheckLocalStock", GridLocEntries);
        }
Esempio n. 2
0
        private void WebService(GridViewRow grdRow, Label ShipperCode, Label Sap_No, Label MSP, Label AGO, Label KERO,
                                Label JET, Label Type)
        {
            //get duty status using saqp request no
            var dtStatus = "";

            using (var conn = new SqlConnection(strConnection))
            {
                var result = "SELECT Duty_Status FROM [dbo].[SAP_Orders] WHERE SAP_Request_No = '" + Sap_No.Text.Trim() +
                             "' ";
                var showresult = new SqlCommand(result, conn);
                conn.Open();
                dtStatus = showresult.ExecuteScalar().ToString();
                conn.Close();
            }

            try
            {
                var service = new XacuteWS();

                //input parameters
                var parmeters = new InputParams();
                parmeters.DutyStatus   = dtStatus.Trim();
                parmeters.MaterialType = Type.Text;
                parmeters.OMCCode      = ShipperCode.Text.Trim();
                parmeters.Plant        = "PS28";

                var stkInfo = service.Xacute("HTTPREMOTE", "MID2014$", parmeters);

                GridSAP.DataSource = stkInfo.Row.ToList();
                GridSAP.DataBind();

                //sap values
                var sapAGO =
                    stkInfo.Row.Where(x => x.Material == "N300301" && x.Plant == "PS28")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapMSP =
                    stkInfo.Row.Where(x => x.Material == "N300201" && x.Plant == "PS28")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapKERO =
                    stkInfo.Row.Where(x => x.Material == "N300501" && x.Plant == "PS28")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapJET =
                    stkInfo.Row.Where(x => x.Material == "N300701" && x.Plant == "PS28")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();

                var sapGlobalAGO =
                    stkInfo.Row.Where(x => x.Material == "N300301" && x.Plant == "Global")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapGlobalMSP =
                    stkInfo.Row.Where(x => x.Material == "N300201" && x.Plant == "Global")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapGlobalKERO =
                    stkInfo.Row.Where(x => x.Material == "N300501" && x.Plant == "Global")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();
                var sapGlobalJET =
                    stkInfo.Row.Where(x => x.Material == "N300701" && x.Plant == "Global")
                    .Select(x => x.Quantity)
                    .FirstOrDefault();

                //compare stock for eachproduct

                var GlobalAgo = true;
                var Ago       = true;
                if (sapGlobalAGO != null && sapAGO != null)
                {
                    GlobalAgo = CompareStocks(AGO.Text, sapGlobalAGO);
                    Ago       = CompareStocks(AGO.Text, sapAGO);
                    if (Ago)
                    {
                        grdRow.Cells[6].BackColor = Color.LightGreen;
                    }
                    else
                    {
                        if (GlobalAgo)
                        {
                            grdRow.Cells[6].BackColor = Color.Yellow;
                        }
                        else
                        {
                            grdRow.Cells[6].BackColor = Color.Red;
                        }
                    }
                }

                var GlobalMsp = true;
                var Msp       = true;
                if (sapGlobalMSP != null && sapMSP != null)
                {
                    GlobalMsp = CompareStocks(MSP.Text, sapGlobalMSP);
                    Msp       = CompareStocks(MSP.Text, sapMSP);
                    if (Msp)
                    {
                        grdRow.Cells[5].BackColor = Color.LightGreen;
                    }
                    else
                    {
                        if (GlobalMsp)
                        {
                            grdRow.Cells[5].BackColor = Color.Yellow;
                        }
                        else
                        {
                            grdRow.Cells[5].BackColor = Color.Red;
                        }
                    }
                }

                var GlobalKero = true;
                var Kero       = true;
                if (sapGlobalKERO != null && sapKERO != null)
                {
                    GlobalKero = CompareStocks(KERO.Text, sapGlobalKERO);
                    Kero       = CompareStocks(KERO.Text, sapKERO);
                    if (Kero)
                    {
                        grdRow.Cells[7].BackColor = Color.LightGreen;
                    }
                    else
                    {
                        if (GlobalKero)
                        {
                            grdRow.Cells[7].BackColor = Color.Yellow;
                        }
                        else
                        {
                            grdRow.Cells[7].BackColor = Color.Red;
                        }
                    }
                }

                var GlobalJet = true;
                var Jet       = true;
                if (sapGlobalJET != null && sapJET != null)
                {
                    GlobalJet = CompareStocks(JET.Text, sapGlobalJET);
                    Jet       = CompareStocks(JET.Text, sapJET);
                    if (Jet)
                    {
                        grdRow.Cells[8].BackColor = Color.LightGreen;
                    }
                    else
                    {
                        if (GlobalJet)
                        {
                            grdRow.Cells[8].BackColor = Color.Yellow;
                        }
                        else
                        {
                            grdRow.Cells[8].BackColor = Color.Red;
                        }
                    }
                }

                if (GlobalAgo == false || GlobalMsp == false || GlobalKero == false || GlobalJet == false)
                {
                    //disable approve button
                    grdRow.Cells[0].Enabled = false;

                    using (var conn = new SqlConnection(strConnection))
                    {
                        var queueQuery = "SELECT QueueID FROM [dbo].[NewQueue] WHERE SAP_Request_No = '" +
                                         Sap_No.Text.Trim() + "' ";
                        var showId = new SqlCommand(queueQuery, conn);
                        conn.Open();
                        var queueId = showId.ExecuteScalar().ToString();
                        conn.Close();

                        //update
                        var conQueue = new SqlConnection(strConnection);
                        var cmd      = new SqlCommand();

                        const string strQueueUpdate =
                            "Update NewQueue set Entitlement = @Entitlement, Status = @Status WHERE QueueID = @QueueID";
                        cmd.CommandType = CommandType.Text;
                        cmd.CommandText = strQueueUpdate;
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@Status", "STKNEN");
                        cmd.Parameters.AddWithValue("@Entitlement", "STKNEN");
                        cmd.Parameters.AddWithValue("@QueueID", queueId);
                        cmd.Connection = conQueue;
                        conQueue.Open();
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            catch (SoapHeaderException exp)
            {
                GridSAP.EmptyDataText = exp.Message;
            }
        }