示例#1
0
 private void GetIssueHeadsandItemsForDropDowns()
 {
     // DataSet dst = new DataSet();
     dst = ReceivedItemsLogic.RetrieveReceivedItemsAndReceivedItemsDetails();
     //second table contains the items names
     dtItems = dst.Tables[1];
 }
 protected void ddlIssueHead_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (ddlIssueHead.SelectedValue != "")
     {
         ddlChargeableHead.Enabled        = true;
         ddlChargeableHead.DataSource     = ReceivedItemsLogic.RetrieveCorrespondingActiveChargeableHeads(Convert.ToInt32(ddlIssueHead.SelectedValue));
         ddlChargeableHead.DataValueField = "CHARGEABLEHEADID";
         ddlChargeableHead.DataTextField  = "CHARGEABLEHEADNAME";
         ddlChargeableHead.DataBind();
         ddlChargeableHead.Items.Insert(0, new ListItem("--Select ChargeableHead Head--", ""));
     }
 }
示例#3
0
        private void RetrieveActive_IssueHeads_Items_ChargeableHeads()
        {
            DataSet dst = new DataSet();

            dst =
                ReceivedItemsLogic.RetrieveActive_IssueHeads_Items_ChargeableHeads();
            ddlIssueHead.DataSource     = dst.Tables[0]; //first table contains the issue heads
            ddlIssueHead.DataValueField = "ISSUEHEADID";
            ddlIssueHead.DataTextField  = "ISSUEHEADNAME";
            ddlIssueHead.DataBind();
            ddlIssueHead.Items.Insert(0, new ListItem("--Select Issue Head--", ""));

            //second table contains the items names
            dtItems = dst.Tables[1];
        }
示例#4
0
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                ReceivedItemsLogic ameh = new ReceivedItemsLogic();
                properties         RecievedItemsOrderObject = new properties();

                if (tbOtEONumber.Text == "")
                {
                    panelError.Visible   = true;
                    lblError.Text        = "OTEO Number Cannot be Blank.";
                    panelSuccess.Visible = false;
                    return;
                }
                else
                {
                    RecievedItemsOrderObject.ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);
                }



                RecievedItemsOrderObject.Date = DateTime.ParseExact(tbOTEODate.Text, "dd-MM-yyyy", null).ToString("yyyy-MM-dd");


                if (tbSupplyOrderReference.Text == "")
                {
                    panelError.Visible   = true;
                    lblError.Text        = "Supply Order Reference Cannot be Blank.";
                    panelSuccess.Visible = false;
                    tbSupplyOrderReference.Focus();
                    return;
                }
                else
                {
                    RecievedItemsOrderObject.SupplyOderRef = tbSupplyOrderReference.Text;
                }



                RecievedItemsOrderObject.SupplyDate = DateTime.ParseExact(tbSupplyDate.Text, "dd-MM-yyyy", null).ToString("yyyy-MM-dd");



                if (tbSupplierName.Text == "")
                {
                    panelError.Visible   = true;
                    lblError.Text        = "Supplier Name  Cannot be Blank.";
                    panelSuccess.Visible = false;
                    tbSupplierName.Focus();
                    return;
                }
                else
                {
                    RecievedItemsOrderObject.Supplier = tbSupplierName.Text;
                }


                if (ddlIssueHead.SelectedValue == "")
                {
                    panelError.Visible   = true;
                    lblError.Text        = "Should Select Issue Heads.";
                    panelSuccess.Visible = false;
                    return;
                }
                else
                {
                    RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
                }

                if (ddlChargeableHead.SelectedItem.ToString() == "--Select Chargeable Head--")
                {
                    panelError.Visible   = true;
                    lblError.Text        = "Should Select Chargeable Heads.";
                    panelSuccess.Visible = false;
                    return;
                }
                else
                {
                    RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
                }



                TextBox tbtotalAmount = gvItems.FooterRow.FindControl("tbtotalAmount") as TextBox;
                RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmount.Text);
                //setting user id temp here
                // Session["USERID"] = 1;
                RecievedItemsOrderObject.ModifiedBy = Convert.ToInt16(Session["USERID"]);
                //getting all the values of controls values inside gridview control

                StringBuilder sb = new StringBuilder();


                //  sb.Append("<root>");

                string insertStatement = "INSERT INTO ReceivedItemsDetails(RECEIVEDITEMSOTEOID,ITEMID, ITEMNAME,QUANTITY,UNIT,RATE, AMOUNT) values('@RECEIVEDITEMSOTEOID','@ITEMID', '@ITEMNAME', '@QUANTITY', '@UNIT', '@RATE', '@AMOUNT')";

                string insertRateMaster = "INSERT into ItemsRateMaster (itemname,MaxOrderNO,IssueHeadName) values('@ITEMNAME','@odNo','@issueHead')";
                string UpdateRateMaster = "update ItemsRateMaster set MaxOrderNO='@odNo' where itemname='@ITEMNAME' AND IssueHeadName='@issueHead'";


                string insertRateSecondary = "INSERT into ItemsRateSecondary (ITEMNAME,Rate,OrderNO,Quantity,IssueHeadName) values('@ITEMNAME','@RATE','@odNo','@QUANTITY','@issueHead')";
                //string updateRateSecondary = "update ItemsRateSecondary set ITEMNAME,Rate,OrderNO,Quantity,IssueHeadName) values('@ITEMNAME','@RATE','@odNo','@QUANTITY','@issueHead')";


                for (int i = 0; i < gvItems.Rows.Count; i++)
                {
                    // TextBox tbItemID = gvItems.Rows[i].FindControl("tbItemID") as TextBox;

                    HiddenField  hdnFieldItemID = gvItems.Rows[i].FindControl("_hdnFieldItemID") as HiddenField;
                    DropDownList itemName       = gvItems.Rows[i].FindControl("_ddItems") as DropDownList;
                    TextBox      _tbUnit        = gvItems.Rows[i].FindControl("_tbUnit") as TextBox;
                    // Label lblUnit = gvItems.Rows[i].FindControl("lblUnit") as Label;

                    TextBox tbOrderNo = gvItems.Rows[i].FindControl("_tbOrderNo") as TextBox;

                    TextBox tbQuantity = gvItems.Rows[i].FindControl("_tbQuantity") as TextBox;
                    TextBox tbRate     = gvItems.Rows[i].FindControl("tbRate") as TextBox;
                    TextBox tbAmount   = gvItems.Rows[i].FindControl("tbAmount") as TextBox;
                    // Label lblAmount = gvItems.Rows[i].FindControl("lblAmount") as Label;

                    //CODE TO CHECK NULL VALUES
                    CheckExistingItem = tbOrderNo.Text;
                    //SAVE CODE
                    if (itemName.SelectedValue.ToString() != "0")
                    {
                        double result;
                        if (!double.TryParse(tbQuantity.Text, out result))
                        {
                            panelError.Visible   = true;
                            lblError.Text        = "Should Be Numeric";
                            panelSuccess.Visible = false;
                            tbQuantity.Focus();
                            tbQuantity.Style.Add("background", "Pink");
                            return;
                        }
                        else
                        {
                            tbQuantity.Style.Add("background", "White");
                        }

                        double result1;
                        if (!double.TryParse(tbRate.Text, out result1))
                        {
                            panelError.Visible   = true;
                            lblError.Text        = "Should Be Numeric";
                            panelSuccess.Visible = false;
                            tbRate.Focus();
                            tbRate.Style.Add("background", "Pink");
                            return;
                        }
                        else
                        {
                            tbRate.Style.Add("background", "White");
                        }


                        sb.Append(insertStatement.Replace("@RECEIVEDITEMSOTEOID", tbOtEONumber.Text).Replace("@ITEMID", hdnFieldItemID.Value).Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@QUANTITY", tbQuantity.Text).Replace("@UNIT", _tbUnit.Text).Replace("@RATE", tbRate.Text).Replace("@AMOUNT", tbAmount.Text));

                        if (CheckExistingItem == "1")
                        {
                            sb.Append(insertRateMaster.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@odNo", tbOrderNo.Text).Replace("@issueHead", ddlIssueHead.SelectedItem.ToString()));
                            sb.Append(insertRateSecondary.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@RATE", tbRate.Text).Replace("@odNo", tbOrderNo.Text).Replace("@QUANTITY", tbQuantity.Text).Replace("@issueHead", ddlIssueHead.SelectedItem.ToString()));
                        }
                        else
                        {
                            sb.Append(UpdateRateMaster.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@odNo", tbOrderNo.Text).Replace("@issueHead", ddlIssueHead.SelectedItem.ToString()));
                            sb.Append(insertRateSecondary.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@RATE", tbRate.Text).Replace("@odNo", tbOrderNo.Text).Replace("@QUANTITY", tbQuantity.Text).Replace("@issueHead", ddlIssueHead.SelectedItem.ToString()));
                        }
                    }
                }
                //now save it to db
                //making sure sb string is not empty
                if (sb.ToString() != "")
                {
                    ameh.SaveReceivedItemsDetails(RecievedItemsOrderObject, sb.ToString());

                    Session["OTEONUMBER"] = tbOtEONumber.Text;
                    Response.Redirect("ReceivedEntriesList.aspx");
                }

                else
                {
                    panelError.Visible   = true;
                    lblError.Text        = "Error! Select atleast one item to add.";
                    panelSuccess.Visible = false;
                }
            }
            catch (SqlException ex)
            {
                if (ex.Message.Contains("duplicate key"))
                {
                    panelError.Visible       = true;
                    lblError.Text            = "Error! The OTEO ID already exists. Please use another ID";
                    panelSuccess.Visible     = false;
                    tbOtEONumber.BorderColor = System.Drawing.Color.Red;
                }
                else
                {
                    Session["ERRORMSG"] = ex.ToString();
                    Response.Redirect("Error.aspx");
                }
            }

            catch (System.Threading.ThreadAbortException)
            {
                //do nothing
            }

            catch (Exception ex)
            {
                panelError.Visible   = true;
                lblError.Text        = ex.Message;
                panelSuccess.Visible = false;
            }
        }
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            ReceivedItemsLogic ameh = new ReceivedItemsLogic();
            properties         RecievedItemsOrderObject = new properties();
            int originalOTEOID = Convert.ToInt32(hdnFieldOTEOID.Value);

            //int ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);//new
            RecievedItemsOrderObject.ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);
            RecievedItemsOrderObject.Date          = tbOTEODate.Text;
            RecievedItemsOrderObject.SupplyOderRef = tbSupplyOrderReference.Text;
            RecievedItemsOrderObject.SupplyDate    = tbSupplyDate.Text;
            RecievedItemsOrderObject.Supplier      = tbSupplierName.Text;

            // RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
            // RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
            if (ddlChargeableHead.SelectedIndex > 0)
            {
                RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
            }
            else
            {
                RecievedItemsOrderObject.ChargeableHeadName = lblChargeableHead.Text; //same old value populated
            }

            if (ddlIssueHead.SelectedIndex > 0)
            {
                RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
            }
            else
            {
                RecievedItemsOrderObject.IssueHeadName = lblIssueHeadOld.Text; //same old value populated
            }



            RecievedItemsOrderObject.ModifiedBy = Convert.ToInt16(Session["USERID"]);

            StringBuilder sb = new StringBuilder();

            string insertStatement = "INSERT INTO ReceivedItemsDetails(RECEIVEDITEMSOTEOID,ITEMID, ITEMNAME,QUANTITY,UNIT,RATE, AMOUNT) values('@RECEIVEDITEMSOTEOID','@ITEMID', '@ITEMNAME', '@QUANTITY', '@UNIT', '@RATE', '@AMOUNT')";

            string insertRateMaster    = "INSERT into ItemsRateMaster (itemname,MaxOrderNO,IssueHeadName) values('@ITEMNAME','@odNo','@issueHead')";
            string UpdateRateMaster    = "update ItemsRateMaster set MaxOrderNO='@odNo' where itemname='@ITEMNAME' AND IssueHeadName='@issueHead'";
            string insertRateSecondary = "INSERT into ItemsRateSecondary (ITEMNAME,Rate,OrderNO,Quantity,IssueHeadName) values('@ITEMNAME','@RATE','@odNo','@QUANTITY','@issueHead')";

            for (int i = 0; i < gvItems.Rows.Count; i++)
            {
                HiddenField  hdnFieldItemID = gvItems.Rows[i].FindControl("_hdnFieldItemID") as HiddenField;
                DropDownList itemName       = gvItems.Rows[i].FindControl("_ddItems") as DropDownList;
                TextBox      _tbUnit        = gvItems.Rows[i].FindControl("_tbUnit") as TextBox;
                // Label lblUnit = gvItems.Rows[i].FindControl("lblUnit") as Label;
                TextBox tbQuantity = gvItems.Rows[i].FindControl("_tbQuantity") as TextBox;
                TextBox tbRate     = gvItems.Rows[i].FindControl("tbRate") as TextBox;
                TextBox tbAmount   = gvItems.Rows[i].FindControl("tbAmount") as TextBox;
                TextBox tbOrderNo  = gvItems.Rows[i].FindControl("_tbOrderNo") as TextBox;

                CheckExistingItem = tbOrderNo.Text;
                if (itemName.SelectedValue.ToString() != "0")
                {
                    double result;
                    if (!double.TryParse(tbQuantity.Text, out result))
                    {
                        panelError.Visible   = true;
                        lblError.Text        = "Should Be Numeric";
                        panelSuccess.Visible = false;
                        tbQuantity.Focus();
                        tbQuantity.Style.Add("background", "Pink");
                        return;
                    }
                    else
                    {
                        tbQuantity.Style.Add("background", "White");
                    }

                    double result1;
                    if (!double.TryParse(tbRate.Text, out result1))
                    {
                        panelError.Visible   = true;
                        lblError.Text        = "Should Be Numeric";
                        panelSuccess.Visible = false;
                        tbRate.Focus();
                        tbRate.Style.Add("background", "Pink");
                        return;
                    }
                    else
                    {
                        tbRate.Style.Add("background", "White");
                    }

                    sb.Append(insertStatement.Replace("@RECEIVEDITEMSOTEOID", tbOtEONumber.Text).Replace("@ITEMID", hdnFieldItemID.Value).Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@QUANTITY", tbQuantity.Text).Replace("@UNIT", _tbUnit.Text).Replace("@RATE", tbRate.Text).Replace("@AMOUNT", tbAmount.Text));

                    if (CheckExistingItem == "1")
                    {
                        sb.Append(insertRateMaster.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@odNo", tbOrderNo.Text).Replace("@issueHead", RecievedItemsOrderObject.IssueHeadName));
                        sb.Append(insertRateSecondary.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@RATE", tbRate.Text).Replace("@odNo", tbOrderNo.Text).Replace("@QUANTITY", tbQuantity.Text).Replace("@issueHead", RecievedItemsOrderObject.IssueHeadName));
                    }
                    else
                    {
                        sb.Append(UpdateRateMaster.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@odNo", tbOrderNo.Text).Replace("@issueHead", RecievedItemsOrderObject.IssueHeadName));
                        sb.Append(insertRateSecondary.Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@RATE", tbRate.Text).Replace("@odNo", tbOrderNo.Text).Replace("@QUANTITY", tbQuantity.Text).Replace("@issueHead", RecievedItemsOrderObject.IssueHeadName));
                    }
                }
            }
            //now save it to db
            if (sb.ToString() != "")
            {
                TextBox tbtotalAmount = gvItems.FooterRow.FindControl("tbtotalAmount") as TextBox;
                RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmount.Text);
                ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, originalOTEOID, sb.ToString());
            }
            else
            {
                RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmountAddedItems.Text);
                ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, originalOTEOID);  //originalOTEOID
            }

            Response.Redirect("~/Admin/ReceivedEntriesList.aspx");
        }
示例#6
0
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            ReceivedItemsLogic ameh = new ReceivedItemsLogic();
            properties         RecievedItemsOrderObject = new properties();
            int originalOTEOID = Convert.ToInt32(hdnFieldOTEOID.Value);

            //int ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);//new
            RecievedItemsOrderObject.ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);
            RecievedItemsOrderObject.Date          = tbOTEODate.Text;
            RecievedItemsOrderObject.SupplyOderRef = tbSupplyOrderReference.Text;
            RecievedItemsOrderObject.SupplyDate    = tbSupplyDate.Text;
            RecievedItemsOrderObject.Supplier      = tbSupplierName.Text;

            // RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
            // RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
            if (ddlChargeableHead.SelectedIndex > 0)
            {
                RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
            }
            else
            {
                RecievedItemsOrderObject.ChargeableHeadName = lblChargeableHead.Text; //same old value populated
            }
            if (ddlIssueHead.SelectedIndex > 0)
            {
                RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
            }
            else
            {
                RecievedItemsOrderObject.IssueHeadName = lblIssueHeadOld.Text; //same old value populated
            }
            RecievedItemsOrderObject.ModifiedBy = Convert.ToInt16(Session["USERID"]);
            //getting all the values of controls values inside gridview control
            StringBuilder sb = new StringBuilder();
            //  sb.Append("<root>");
            string insertStatement = "INSERT INTO ReceivedItemsDetails(RECEIVEDITEMSOTEOID,ITEMID, ITEMNAME,QUANTITY,UNIT,RATE, AMOUNT) values('@RECEIVEDITEMSOTEOID','@ITEMID', '@ITEMNAME', '@QUANTITY', '@UNIT', '@RATE', '@AMOUNT')";

            for (int i = 0; i < gvItems.Rows.Count; i++)
            {
                // TextBox tbItemID = gvItems.Rows[i].FindControl("tbItemID") as TextBox;
                HiddenField  hdnFieldItemID = gvItems.Rows[i].FindControl("hdnFieldItemID") as HiddenField;
                DropDownList itemName       = gvItems.Rows[i].FindControl("_ddItems") as DropDownList;
                TextBox      _tbUnit        = gvItems.Rows[i].FindControl("_tbUnit") as TextBox;
                // Label lblUnit = gvItems.Rows[i].FindControl("lblUnit") as Label;
                TextBox tbQuantity = gvItems.Rows[i].FindControl("_tbQuantity") as TextBox;
                TextBox tbRate     = gvItems.Rows[i].FindControl("tbRate") as TextBox;
                TextBox tbAmount   = gvItems.Rows[i].FindControl("tbAmount") as TextBox;
                // Label lblAmount = gvItems.Rows[i].FindControl("lblAmount") as Label;

                //CODE TO CHECK NULL VALUES

                //SAVE CODE
                if (itemName.SelectedValue.ToString() != "0")
                {
                    sb.Append(insertStatement.Replace("@RECEIVEDITEMSOTEOID", tbOtEONumber.Text).Replace("@ITEMID", hdnFieldItemID.Value).Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@QUANTITY", tbQuantity.Text).Replace("@UNIT", _tbUnit.Text).Replace("@RATE", tbRate.Text).Replace("@AMOUNT", tbAmount.Text));
                }
            }
            //now save it to db
            if (sb.ToString() != "")
            {
                //getting total amount from footer
                TextBox tbtotalAmount = gvItems.FooterRow.FindControl("tbtotalAmount") as TextBox;
                RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmount.Text);
                ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, originalOTEOID, sb.ToString());
            }
            else //no new items received so, can save primary table only
            {
                //getting total amount from single label

                RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmountAddedItems.Text);
                ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, originalOTEOID);  //originalOTEOID
            }
            // Session["OTEONUMBER"] = tbOtEONumber.Text;
            Response.Redirect("~/Admin/ReceivedEntriesList.aspx");
        }
示例#7
0
        /// <summary>
        /// save to db
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///


        protected void _btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                ReceivedItemsLogic ameh = new ReceivedItemsLogic();
                properties         RecievedItemsOrderObject = new properties();
                int originalOTEOID      = Convert.ToInt32(hdnFieldOTEOID.Value);
                int ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);//new
                RecievedItemsOrderObject.ReceivedItemsOTEOID = Convert.ToInt32(tbOtEONumber.Text);
                RecievedItemsOrderObject.Date          = tbOTEODate.Text;
                RecievedItemsOrderObject.SupplyOderRef = tbSupplyOrderReference.Text;
                RecievedItemsOrderObject.SupplyDate    = tbSupplyDate.Text;
                RecievedItemsOrderObject.Supplier      = tbSupplierName.Text;


                // RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
                // RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
                if (ddlChargeableHead.SelectedIndex > 0)
                {
                    RecievedItemsOrderObject.ChargeableHeadName = ddlChargeableHead.SelectedItem.ToString();
                }
                else
                {
                    RecievedItemsOrderObject.ChargeableHeadName = lblChargeableHead.Text; //same old value populated
                }
                if (ddlIssueHead.SelectedIndex > 0)
                {
                    RecievedItemsOrderObject.IssueHeadName = ddlIssueHead.SelectedItem.ToString();
                }
                else
                {
                    RecievedItemsOrderObject.IssueHeadName = lblIssueHeadOld.Text; //same old value populated
                }
                RecievedItemsOrderObject.ModifiedBy = Convert.ToInt16(Session["USERID"]);
                //getting all the values of controls values inside gridview control
                StringBuilder sb = new StringBuilder();
                //  sb.Append("<root>");
                string insertStatement = "INSERT INTO ReceivedItemsDetails(RECEIVEDITEMSOTEOID,ITEMID, ITEMNAME,QUANTITY,UNIT,RATE, AMOUNT) values('@RECEIVEDITEMSOTEOID','@ITEMID', '@ITEMNAME', '@QUANTITY', '@UNIT', '@RATE', '@AMOUNT')";

                for (int i = 0; i < gvItems.Rows.Count; i++)
                {
                    // TextBox tbItemID = gvItems.Rows[i].FindControl("tbItemID") as TextBox;
                    HiddenField  hdnFieldItemID = gvItems.Rows[i].FindControl("hdnFieldItemID") as HiddenField;
                    DropDownList itemName       = gvItems.Rows[i].FindControl("_ddItems") as DropDownList;
                    TextBox      _tbUnit        = gvItems.Rows[i].FindControl("_tbUnit") as TextBox;
                    // Label lblUnit = gvItems.Rows[i].FindControl("lblUnit") as Label;
                    TextBox tbQuantity = gvItems.Rows[i].FindControl("_tbQuantity") as TextBox;
                    TextBox tbRate     = gvItems.Rows[i].FindControl("tbRate") as TextBox;
                    TextBox tbAmount   = gvItems.Rows[i].FindControl("tbAmount") as TextBox;
                    // Label lblAmount = gvItems.Rows[i].FindControl("lblAmount") as Label;

                    //CODE TO CHECK NULL VALUES

                    //SAVE CODE
                    if (itemName.SelectedValue.ToString() != "0")
                    {
                        sb.Append(insertStatement.Replace("@RECEIVEDITEMSOTEOID", tbOtEONumber.Text).Replace("@ITEMID", hdnFieldItemID.Value).Replace("@ITEMNAME", Utilities.ValidSql(itemName.SelectedItem.ToString())).Replace("@QUANTITY", tbQuantity.Text).Replace("@UNIT", _tbUnit.Text).Replace("@RATE", tbRate.Text).Replace("@AMOUNT", tbAmount.Text));
                    }
                }
                //now save it to db
                if (sb.ToString() != "")
                {
                    //getting total amount from footer
                    TextBox tbtotalAmount = gvItems.FooterRow.FindControl("tbtotalAmount") as TextBox;
                    RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmount.Text);
                    ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, originalOTEOID, sb.ToString());
                }
                else //no new items received so, can save primary table only
                {
                    //getting total amount from single label

                    RecievedItemsOrderObject.TotalAmount = Convert.ToDouble(tbtotalAmountAddedItems.Text);
                    ameh.UpdateReceivedItemsDetails(RecievedItemsOrderObject, ReceivedItemsOTEOID);  //originalOTEOID
                }
                Session["OTEONUMBER"] = tbOtEONumber.Text;
                // Response.Redirect(Request.Url.ToString());
                Response.Redirect("~/Admin/ReceivedItemsEdit.aspx?Id=" + tbOtEONumber.Text);

                //temp code to display properly in local as well as in hosting environment
                //string appPath = HttpRuntime.AppDomainAppVirtualPath;
                //if (appPath != "/")
                //    ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open(' " + appPath + "/Print/ePrint.aspx?Id=" + Session["OTEONUMBER"].ToString() + "');", true);
                //else
                //    ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('/Print/ePrint.aspx?Id=" + Session["OTEONUMBER"].ToString() + "');", true);
                //Session["OTEONUMBER"] = null;
            }
            //catch (System.Threading.ThreadAbortException)
            //{
            //    //do nothing
            //}
            catch (SqlException ex)
            {
                if (ex.Message.Contains("duplicate key"))
                {
                    panelError.Visible       = true;
                    lblError.Text            = "Error! The OTEO ID already exists. Please use another ID";
                    panelSuccess.Visible     = false;
                    tbOtEONumber.BorderColor = System.Drawing.Color.Red;
                }
                else
                {
                    Session["ERRORMSG"] = ex.ToString();
                    Response.Redirect("Error.aspx");
                }
            }



            catch (Exception ex)
            {
                panelError.Visible   = true;
                lblError.Text        = ex.Message;
                panelSuccess.Visible = false;
            }
        }