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); }
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; } }