//protected void dgItems_DeleteCommand(object source, DataGridCommandEventArgs e)
    //{
    //    clsRequisition requisition = new clsRequisition(txtRequCode.Text);
    //    if (requisition.CountItem() > 1)
    //    {
    //        HiddenField phdnItemCode = (HiddenField)e.Item.FindControl("hdnItemCode");
    //        using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Speedo"].ToString()))
    //        {
    //            SqlCommand cmd = cn.CreateCommand();
    //            cmd.CommandText = "DELETE FROM CIS.RequisitionDetails WHERE itemcode='" + phdnItemCode.Value + "' AND requcode='" + Request.QueryString["requcode"] + "'";
    //            cn.Open();
    //            cmd.ExecuteNonQuery();
    //            cmd.CommandText = "UPDATE CIS.Requisition SET totcost=(SELECT SUM(tprice) FROM CIS.RequisitionDetails WHERE requcode='" + Request.QueryString["requcode"] + "') WHERE requcode='" + Request.QueryString["requcode"] + "'";
    //            cmd.ExecuteNonQuery();
    //        }
    //        dgItems.EditItemIndex = -1;
    //        if (dgItems.Items.Count == 1)
    //            dgItems.CurrentPageIndex = dgItems.CurrentPageIndex - 1;
    //        BindItems();
    //        HasEnoughBudget();
    //        divErr.Visible = false;
    //    }
    //    else
    //    {
    //        lblErrMsg.Text = "&nbsp;! Cannot delete this item.<br>";
    //        divErr.Visible = true;
    //    }
    //}

    protected void btnApprove_Click(object sender, EventArgs e)
    {
        bool blnHasBudget = true;

        using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Speedo"].ToString()))
        {
            SqlCommand cmd = cn.CreateCommand();
            cn.Open();

            foreach (DataGridItem itm in dgItems.Items)
            {
                HiddenField phdnItemCode = (HiddenField)itm.FindControl("hdnItemCode");
                Label       ptxtQty      = (Label)itm.FindControl("txtQty");
                Label       plblPrice    = (Label)itm.FindControl("lblPrice");
                double      dblTPrice    = (Convert.ToDouble(ptxtQty.Text) * Convert.ToDouble(plblPrice.Text));
                if (clsRequisition.HasBudget(Request.QueryString["requcode"], dblTPrice, hdnChargeTo.Value, phdnItemCode.Value))
                {
                    cmd.CommandText = "UPDATE CIS.RequisitionDetails SET qty='" + ptxtQty.Text + "',tprice='" + dblTPrice + "' WHERE itemcode='" + phdnItemCode.Value + "' AND requcode='" + Request.QueryString["requcode"] + "'";
                    cmd.ExecuteNonQuery();
                    divErr.Visible = false;
                }
                else
                {
                    blnHasBudget      = false;
                    ptxtQty.BackColor = System.Drawing.Color.MistyRose;
                    lblErrMsg.Text    = "&nbsp;! Not Enought Budget.<br>";
                    divErr.Visible    = true;
                }
            }

            clsRequisition requisition  = new clsRequisition(txtRequCode.Text);
            double         dblTotalCost = requisition.UpdateTotalCost();
            if (blnHasBudget)
            {
                cmd.CommandText = "UPDATE CIS.Requisition SET userrem=@userrem,headdate='" + DateTime.Now + "',headrem=@headrem,status='A',headstat='A',sprvstat=@sprvstat WHERE requcode='" + Request.QueryString["requcode"] + "'";
                cmd.Parameters.Add("@headrem", SqlDbType.VarChar, 200);
                cmd.Parameters.Add("@userrem", SqlDbType.VarChar, 200);
                cmd.Parameters.Add("@sprvstat", SqlDbType.Char, 1);
                cmd.Parameters["@headrem"].Value  = txtDiviHeadRem.Text;
                cmd.Parameters["@userrem"].Value  = txtRemarks.Text;
                cmd.Parameters["@sprvstat"].Value = (hdnGrpHeadStatus.Value == "F" ? "N" : hdnGrpHeadStatus.Value);
                cmd.ExecuteNonQuery();

                clsRequisition.DeductBudget(hdnChargeTo.Value, dblTotalCost);
            }
        }

        if (blnHasBudget)
        {
            clsRequisition.SendNotification(clsRequisition.RequisitionMailType.SentToApproverSC, txtRequestorName.Text, txtSuppName.Text, hdnSuppMail.Value, txtRequCode.Text);
            clsRequisition.SendNotification(clsRequisition.RequisitionMailType.ApproveToRequestor, txtRequestorName.Text, txtDiviHeadName.Text, hdnRequestorMail.Value, txtRequCode.Text);
            clsRequisition.SendNotification(clsRequisition.RequisitionMailType.ApproveToApproverDH, txtRequestorName.Text, txtDiviHeadName.Text, clsUsers.GetEmail(Request.Cookies["Speedo"]["UserName"].ToString()), txtRequCode.Text);

            Response.Redirect("RequMenu.aspx");
        }
        else
        {
            HasEnoughBudget();
        }
    }
Exemple #2
0
    protected void BindItems()
    {
        double         dblTotalPrice = 0.0;
        clsRequisition requisition   = new clsRequisition(txtRequCode.Text);
        DataTable      tblItems      = requisition.DSGItems();

        dgItems.DataSource = tblItems.DefaultView;
        //dblTotalPrice = Convert.ToDouble(tblItems.Compute("SUM(tprice)", String.Empty).ToString());
        //dgItems.Columns[0].FooterText = "&nbsp;Total ordered items [" + tblItems.Rows.Count + "]";
        //dgItems.Columns[4].FooterText = dblTotalPrice.ToString("###,##0.00") + "&nbsp;";
        dgItems.DataBind();

        DataTable tblCart = ViewState["Cart"] as DataTable;

        foreach (DataRow drNew in tblItems.Rows)
        {
            DataRow drowCart = tblCart.NewRow();
            drowCart["itemcode"] = drNew["itemcode"].ToString();
            drowCart["itemdesc"] = drNew["itemcode"].ToString();
            drowCart["qty"]      = drNew["qty"].ToString().ToInt();
            drowCart["soqty"]    = drNew["soqty"].ToString().ToInt();
            drowCart["unit"]     = drNew["unit"].ToString();
            drowCart["price"]    = Double.Parse(drNew["price"].ToString());
            drowCart["tprice"]   = Double.Parse(drNew["tprice"].ToString());
            drowCart["reason"]   = drNew["reason"].ToString();
            tblCart.Rows.Add(drowCart);
        }

        ViewState["Cart"] = tblCart;
    }
    protected void BindItems()
    {
        clsRequisition requisition = new clsRequisition(txtRequisitionCode.Text);

        dgItems.DataSource = requisition.DSGItems();
        dgItems.DataBind();

        bool blnIssuedAll = false;

        foreach (DataGridItem ditm in dgItems.Items)
        {
            TextBox ptxtBalance  = (TextBox)ditm.FindControl("txtBalance");
            TextBox ptxtSOQty    = (TextBox)ditm.FindControl("txtSOQty");
            Label   plblSOQtyAll = (Label)ditm.FindControl("lblSOQtyAll");
            TextBox ptxtSuppRem  = (TextBox)ditm.FindControl("txtSuppRem");

            blnIssuedAll = (ptxtBalance.Text == "0" ? true : false);

            ptxtSOQty.Visible    = !blnIssuedAll;
            plblSOQtyAll.Visible = blnIssuedAll;
            ptxtSuppRem.ReadOnly = !blnIssuedAll;
            if (blnIssuedAll)
            {
                ptxtSuppRem.BackColor = System.Drawing.Color.FromName("#f0f8ff");
            }
        }
    }
Exemple #4
0
    protected void btnVoid_Click(object sender, EventArgs e)
    {
        clsRequisition requisition = new clsRequisition(txtRequCode.Text);

        requisition.Void();

        Response.Redirect("RequMenu.aspx");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        clsSpeedo.Authenticate();

        if (!Page.IsPostBack)
        {
            bool blnReadOnly;
            clsRequisition.AuthenticateUser(clsRequisition.RequisitionUserType.SuppliesCustodian, Request.Cookies["Speedo"]["UserName"].ToString(), Request.QueryString["requcode"].ToString());

            txtRequisitionCode.Text = Request.QueryString["requcode"].ToString();
            txtSuppName.Text        = clsUsers.GetName(Request.Cookies["Speedo"]["UserName"]);

            using (clsRequisition requisition = new clsRequisition(txtRequisitionCode.Text))
            {
                requisition.Fill();
                hdnUserCode.Value     = requisition.Username;
                hdnChargeTo.Value     = requisition.ChargeTo;
                lblTotalPrice.Text    = "P " + requisition.TotalCost.ToString("###,###.00");
                txtStat.Text          = requisition.StatusDescription;
                txtIntended.Text      = requisition.Intended;
                txtDateReq.Text       = requisition.DateRequested.ToString("MMMM dd,yyyy");
                hdnGrpHeadCode.Value  = requisition.GroupHead;
                txtGrpHeadRem.Text    = requisition.GroupHeadRemarks;
                hdnDiviHeadCode.Value = requisition.DivisionHead;
                txtDiviHeadRem.Text   = requisition.DivisionHeadRemarks;
                txtSuppRem.Text       = requisition.SuppliesCustodianRemarks;
                blnReadOnly           = (requisition.Status == "C" ? true : false);
                divButtons.Visible    = !blnReadOnly;
                txtSuppRem.ReadOnly   = blnReadOnly;
            }
            if (blnReadOnly)
            {
                txtSuppRem.BackColor = System.Drawing.Color.FromName("#f0f8ff");
            }

            hdnRCCode.Value  = clsEmployee.GetRCCode(hdnUserCode.Value);
            txtRCName.Text   = clsRC.GetRCName(hdnRCCode.Value);
            txtChargeTo.Text = clsRC.GetRCName(hdnChargeTo.Value);

            BindItems();

            txtUserName.Text     = clsUsers.GetName(hdnUserCode.Value);
            hdnUserMail.Value    = clsUsers.GetEmail(hdnUserCode.Value);
            txtGrpHeadName.Text  = clsUsers.GetName(hdnGrpHeadCode.Value);
            txtDiviHeadName.Text = clsUsers.GetName(hdnDiviHeadCode.Value);

            txtChargeToBudget.Text = "P " + clsRequisition.GetCurrentBudget(hdnChargeTo.Value).ToString("#,###,##0.00");
            foreach (DataGridItem itm in dgItems.Items)
            {
                TextBox txtpSuppRem = (TextBox)itm.FindControl("txtSuppRem");
                TextBox txtpSOQty   = (TextBox)itm.FindControl("txtSOQty");
                txtpSuppRem.ReadOnly = blnReadOnly;
                txtpSOQty.ReadOnly   = blnReadOnly;
            }
        }
    }
    protected void btnModify_Click(object sender, EventArgs e)
    {
        clsRequisition requisition = new clsRequisition(txtRequCode.Text);

        requisition.ModificationDH(txtDiviHeadRem.Text, hdnGrpHeadStatus.Value);

        clsRequisition.SendNotification(clsRequisition.RequisitionMailType.ModificationToRequestor, txtRequestorName.Text, txtDiviHeadName.Text, hdnRequestorMail.Value, txtRequCode.Text);
        clsRequisition.SendNotification(clsRequisition.RequisitionMailType.ModificationToApproverDH, txtRequestorName.Text, txtDiviHeadName.Text, clsUsers.GetEmail(Request.Cookies["Speedo"]["UserName"].ToString()), txtRequCode.Text);

        Response.Redirect("RequMenu.aspx");
    }
    protected void BindItems()
    {
        double         dblTotalPrice = 0.0;
        clsRequisition requisition   = new clsRequisition(txtRequCode.Text);
        DataTable      tblItems      = requisition.DSGItems();

        dgItems.DataSource            = tblItems.DefaultView;
        dblTotalPrice                 = Convert.ToDouble(tblItems.Compute("SUM(tprice)", String.Empty).ToString());
        dgItems.Columns[0].FooterText = "&nbsp;Total ordered items [" + tblItems.Rows.Count + "]";
        dgItems.Columns[4].FooterText = dblTotalPrice.ToString("###,##0.00") + "&nbsp;";
        dgItems.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        clsSpeedo.Authenticate();

        if (!Page.IsPostBack)
        {
            bool blnReadOnly;
            clsRequisition.AuthenticateUser(clsRequisition.RequisitionUserType.DivisionHead, Request.Cookies["Speedo"]["UserName"].ToString(), Request.QueryString["requcode"].ToString());

            txtRequCode.Text     = Request.QueryString["requcode"];
            txtDiviHeadName.Text = clsUsers.GetName(Request.Cookies["Speedo"]["UserName"]);

            using (clsRequisition requisition = new clsRequisition(txtRequCode.Text))
            {
                requisition.Fill();
                hdnRequestor.Value     = requisition.Username;
                txtDateReq.Text        = requisition.DateRequested.ToString();
                txtRemarks.Text        = requisition.Intended;
                hdnGrpHeadCode.Value   = requisition.GroupHead;
                txtGrpHeadRem.Text     = requisition.GroupHeadRemarks;
                hdnGrpHeadStatus.Value = requisition.GroupHeadStatus;
                txtDiviHeadRem.Text    = requisition.DivisionHeadRemarks;
                blnReadOnly            = (requisition.DivisionHeadStatus == "F" ? false : true);
                hdnSuppCode.Value      = requisition.SuppliesCustodian;
                txtSuppRem.Text        = requisition.SuppliesCustodianRemarks;
                txtStat.Text           = requisition.StatusDescription;
                hdnChargeTo.Value      = requisition.ChargeTo;
            }

            txtRCName.Text   = clsEmployee.GetRCName(hdnRequestor.Value);
            txtChargeTo.Text = clsRC.GetRCName(hdnChargeTo.Value);

            using (clsUsers users = new clsUsers())
            {
                users.Username = hdnRequestor.Value;
                users.Fill();
                txtRequestorName.Text  = users.FullName;
                hdnRequestorMail.Value = users.Email;

                users.Username = hdnGrpHeadCode.Value;
                users.Fill();
                txtGrpHeadName.Text  = users.FullName;
                hdnGrpHeadMail.Value = users.Email;

                users.Username = hdnSuppCode.Value;
                users.Fill();
                txtSuppName.Text  = users.FullName;
                hdnSuppMail.Value = users.Email;
            }

            txtChargeToBudget.Text = "P " + clsRequisition.GetCurrentBudget(hdnChargeTo.Value).ToString("#,###,##0.00");
            BindItems();
            HasEnoughBudget();

            divButton.Visible       = !blnReadOnly;
            divButtons2.Visible     = !blnReadOnly;
            divBudget.Visible       = !blnReadOnly;
            txtDiviHeadRem.ReadOnly = blnReadOnly;
            txtRemarks.ReadOnly     = blnReadOnly;

            if (blnReadOnly)
            {
                txtDiviHeadRem.BackColor   = System.Drawing.Color.FromName("#f0f8ff");
                txtRemarks.BackColor       = System.Drawing.Color.FromName("#f0f8ff");
                dgItems.Columns[5].Visible = false;
                //foreach (DataGridItem itm in dgItems.Items)
                //{
                //    TextBox ptxtQty = (TextBox)itm.FindControl("txtQty");
                //    ptxtQty.ReadOnly = blnReadOnly;
                //    ptxtQty.BackColor = System.Drawing.Color.FromName("#f0f8ff");
                //}
            }
        }
    }
Exemple #9
0
    protected void btnSend_Click(object sender, EventArgs e)
    {
        DataTable tblCart = ViewState["Cart"] as DataTable;

        if (HasEnoughBudget())
        {
            if (tblCart.Rows.Count > 0)
            {
                bool   blnHasBudget    = true;
                string strApproverName = "";
                string strApproverMail = "";
                clsRequisition.RequisitionMailType rmtApprover = clsRequisition.RequisitionMailType.SentToApproverGH;
                tblCart = ViewState["Cart"] as DataTable;

                SqlConnection cn = new SqlConnection(clsSpeedo.SpeedoConnectionString);
                cn.Open();
                SqlTransaction tran = cn.BeginTransaction();
                SqlCommand     cmd  = cn.CreateCommand();
                cmd.Transaction = tran;

                try
                {
                    cmd.CommandText = "DELETE FROM CIS.RequisitionDetails WHERE requcode='" + Request.QueryString["requcode"] + "'";
                    cmd.ExecuteNonQuery();

                    foreach (DataRow dr in tblCart.Rows)
                    {
                        //HiddenField phdnItemCode = ;
                        //TextBox ptxtQty = (TextBox)itm.FindControl("txtQty");
                        //Label plblPrice = (Label)itm.FindControl("lblPrice");
                        //double dblTPrice = (Convert.ToDouble(ptxtQty.Text) * Convert.ToDouble(plblPrice.Text));
                        //if (clsRequisition.HasBudget(Request.QueryString["requcode"], double.Parse(dr["tqty"].ToString()), hdnChargeTo.Value, dr["itemcode"].ToString()))
                        //{

                        cmd.CommandText = "INSERT INTO CIS.RequisitionDetails (requcode, itemcode, itemdesc, qty, soqty, unit, price, tprice, reason, supprem, status) VALUES(@requcode, @itemcode, @itemdesc, @qty, '0', @unit, @price, @tprice, '', '', '1')";
                        cmd.Parameters.Add(new SqlParameter("@itemCode", dr["itemcode"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@qty", dr["qty"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@unit", dr["unit"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@price", dr["price"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@tprice", dr["tprice"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@itemdesc", dr["itemdesc"].ToString()));
                        cmd.Parameters.Add(new SqlParameter("@requcode", Request.QueryString["requcode"]));

                        cmd.ExecuteNonQuery();
                        cmd.Parameters.Clear();

                        //divError.Visible = false;
                        //}
                        //else
                        //{
                        //    //ptxtQty.BackColor = System.Drawing.Color.MistyRose;
                        //    lblErrMsg.Text = "&nbsp;! Not Enought Budget.<br>";
                        //    divError.Visible = true;
                        //    blnHasBudget = false;
                        //}
                    }

                    clsRequisition requisition = new clsRequisition(txtRequCode.Text);
                    //requisition.UpdateTotalCost();
                    cmd.CommandText = "UPDATE CIS.Requisition SET totcost=@totcost WHERE requcode='" + Request.QueryString["requcode"] + "'";
                    cmd.Parameters.Add(new SqlParameter("@totcost", GetTotalCost()));
                    cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();

                    if (blnHasBudget)
                    {
                        // the requestor is the group head
                        if (Request.Cookies["Speedo"]["UserName"].ToString() == hdnGrpHeadCode.Value)
                        {
                            strApproverName = txtDiviHeadName.Text;
                            strApproverMail = hdnDiviHeadMail.Value;
                            rmtApprover     = clsRequisition.RequisitionMailType.SentToApproverDH;
                            cmd.CommandText = "UPDATE CIS.Requisition SET status='F',sprvstat='A',headstat='F',suppstat='F',userrem=@userrem WHERE requcode='" + txtRequCode.Text + "'";
                        }
                        else
                        {
                            // the default approver is the division head
                            if (hdnGrpHeadCode.Value == "")
                            {
                                strApproverName = txtDiviHeadName.Text;
                                strApproverMail = hdnDiviHeadMail.Value;
                                rmtApprover     = clsRequisition.RequisitionMailType.SentToApproverDH;
                                cmd.CommandText = "UPDATE CIS.Requisition SET status='F',sprvstat='X',headstat='F',suppstat='F',userrem=@userrem WHERE requcode='" + txtRequCode.Text + "'";
                            }
                            else
                            {
                                strApproverName = txtGrpHeadName.Text;
                                strApproverMail = hdnGrpHeadMail.Value;
                                rmtApprover     = clsRequisition.RequisitionMailType.SentToApproverGH;
                                cmd.CommandText = "UPDATE CIS.Requisition SET status='F',sprvstat='F',headstat='F',suppstat='F',userrem=@userrem WHERE requcode='" + txtRequCode.Text + "'";
                            }
                        }

                        cmd.Parameters.Add("@userrem", SqlDbType.VarChar, 200);
                        cmd.Parameters["@userrem"].Value = txtIntended.Text;
                        cmd.ExecuteNonQuery();
                        tran.Commit();
                        clsRequisition.SendNotification(rmtApprover, txtRequestorName.Text, strApproverName, strApproverMail, txtRequCode.Text);
                        clsRequisition.SendNotification(clsRequisition.RequisitionMailType.SentToRequestor, txtRequestorName.Text, strApproverName, clsUsers.GetEmail(Request.Cookies["Speedo"]["UserName"].ToString()), txtRequCode.Text);
                    }
                }
                catch
                {
                    lblErrMsg.Text   = "Error on saving. Please try again.<br>";
                    divError.Visible = true;
                }

                finally
                {
                    cn.Close();
                    Response.Redirect("RequMenu.aspx");
                }
            }
            else
            {
                lblErrMsg.Text   = "No item has been added. Cannot continue.<br>";
                divError.Visible = true;
            }
        }

        //HasEnoughBudget();
        //if (!HasItemPrice())
        //{
        //    return;
        //}

        //if (Convert.ToDouble(lblRemBudget.Text) > (Convert.ToDouble(txtQty1.Text) * Convert.ToDouble(lblPriceNew.Text)))
        //{
        //    try
        //    {
        //        DataTable tblCart = ViewState["Cart"] as DataTable;
        //        if (!IsItemRequested(clsRequisitionOracle.GetItemNumber(ddlItem1.SelectedValue.ToString())))
        //        {
        //            DataRow drowCart = tblCart.NewRow();
        //            drowCart["itemcode"] = clsRequisitionOracle.GetItemNumber(ddlItem1.SelectedValue.ToString());
        //            drowCart["itemdesc"] = ddlItem1.SelectedItem.Text;
        //            drowCart["qty"] = txtQty1.Text;
        //            drowCart["unit"] = lblUnitNew.Text;
        //            drowCart["price"] = lblPriceNew.Text;
        //            drowCart["tprice"] = Convert.ToDecimal(txtQty1.Text) * Convert.ToDecimal(lblPriceNew.Text);
        //            drowCart["reason"] = txtReason1.Text;
        //            tblCart.Rows.Add(drowCart);
        //        }
        //        txtQty1.Text = "";
        //        txtReason1.Text = "";
        //        ViewState["Cart"] = tblCart;
        //        dgItems.DataSource = tblCart;
        //        dgItems.DataBind();
        //        HasEnoughBudget();
        //    }
        //    catch
        //    {
        //        Response.Redirect("RequNew.aspx");
        //    }
        //}
        //else
        //{
        //    imgMessage.ImageUrl = "~/Support/close64.png";
        //    lblMessage.ForeColor = System.Drawing.Color.Red;
        //    lblMessage.Text = "Not enough budget.";
        //}
    }
Exemple #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        clsSpeedo.Authenticate();

        if (!Page.IsPostBack)
        {
            bool blnReadOnly;
            clsRequisition.AuthenticateUser(clsRequisition.RequisitionUserType.Requestor, Request.Cookies["Speedo"]["UserName"].ToString(), Request.QueryString["requcode"].ToString());
            MakeCart();
            LoadPrimaryItemCategory();
            LoadItems(ddlItemCategory.SelectedValue.ToString());
            LoadItemDetails();
            txtRequCode.Text      = Request.QueryString["requcode"].ToString();
            txtRequestorName.Text = clsUsers.GetName(Request.Cookies["Speedo"]["UserName"]);

            using (clsRequisition requisition = new clsRequisition(txtRequCode.Text))
            {
                requisition.Fill();
                txtDateReq.Text       = requisition.DateRequested.ToString();
                txtIntended.Text      = requisition.Intended;
                hdnChargeTo.Value     = requisition.ChargeTo;
                hdnGrpHeadCode.Value  = requisition.GroupHead;
                txtGrpHeadRem.Text    = requisition.GroupHeadRemarks;
                hdnDiviHeadCode.Value = requisition.DivisionHead;
                txtHeadRem.Text       = requisition.DivisionHeadRemarks;
                hdnSuppCode.Value     = requisition.SuppliesCustodian;
                txtSuppRem.Text       = requisition.SuppliesCustodianRemarks;
                hdnStatus.Value       = requisition.Status;
                txtStat.Text          = requisition.StatusDescription;
                blnReadOnly           = (hdnStatus.Value == "M" ? false : true);
            }

            txtChargeTo.Text = clsRC.GetRCName(hdnChargeTo.Value);
            using (clsUsers users = new clsUsers())
            {
                users.Username = hdnGrpHeadCode.Value;
                users.Fill();
                txtGrpHeadName.Text  = users.FullName;
                hdnGrpHeadMail.Value = users.Email;

                users.Username = hdnDiviHeadCode.Value;
                users.Fill();
                txtDiviHeadName.Text  = users.FullName;
                hdnDiviHeadMail.Value = users.Email;

                users.Username = hdnSuppCode.Value;
                users.Fill();
                txtSuppName.Text  = users.FullName;
                hdnSuppMail.Value = users.Email;
            }

            txtIntended.ReadOnly = blnReadOnly;
            divButtons.Visible   = !blnReadOnly;
            divAddItem.Visible   = !blnReadOnly;
            divBudget.Visible    = !blnReadOnly;

            BindItems();

            if (blnReadOnly)
            {
                //foreach (DataGridItem itm in dgItems.Items)
                //{
                //    TextBox ptxtQty = (TextBox)itm.FindControl("txtQty");
                //    ptxtQty.ReadOnly = blnReadOnly;
                //    ptxtQty.BackColor = System.Drawing.Color.FromName("#f0f8ff");
                //}
            }
            else
            {
                // LoadItems();
                HasEnoughBudget();
            }
            if (blnReadOnly)
            {
                txtIntended.BackColor      = System.Drawing.Color.FromName("#f0f8ff");
                dgItems.Columns[6].Visible = false;
            }
        }
    }
    protected void btnApprove_Click(object sender, EventArgs e)
    {
        clsRequisition requisition = new clsRequisition();

        using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Speedo"].ToString()))
        {
            SqlCommand cmd = cn.CreateCommand();
            cn.Open();
            foreach (DataGridItem itm in dgItems.Items)
            {
                TextBox txtpSuppRem  = (TextBox)itm.FindControl("txtSuppRem");
                TextBox txtpSOQty    = (TextBox)itm.FindControl("txtSOQty");
                Label   lblpItemCode = (Label)itm.FindControl("lblItemCode");
                cmd.CommandText = "UPDATE CIS.RequisitionDetails SET supprem='" + txtpSuppRem.Text + "',soqty=soqty+" + txtpSOQty.Text + " WHERE itemcode='" + lblpItemCode.Text + "' AND requcode='" + Request.QueryString["requcode"] + "'";
                cmd.ExecuteNonQuery();
            }

            if (clsRequisition.IsIssuedAll(Request.QueryString["requcode"].ToString()))
            {
                cmd.CommandText = "UPDATE CIS.Requisition SET suppdate='" + DateTime.Now + "',status='C',suppstat='A',supprem=@supprem WHERE requcode='" + Request.QueryString["requcode"] + "'";
                cmd.Parameters.Add("@supprem", SqlDbType.VarChar, 200);
                cmd.Parameters["@supprem"].Value = txtSuppRem.Text;
                cmd.ExecuteNonQuery();
            }
            else
            {
                cmd.CommandText = "UPDATE CIS.Requisition SET suppdate='" + DateTime.Now + "',status='P',supprem=@supprem WHERE requcode='" + Request.QueryString["requcode"] + "'";
                cmd.Parameters.Add("@supprem", SqlDbType.VarChar, 200);
                cmd.Parameters["@supprem"].Value = txtSuppRem.Text;
                cmd.ExecuteNonQuery();
            }
        }

        string strBody = "Hi " + txtUserName.Text + ",<br><br>" +
                         "Your requisition has been processed by " + txtSuppName.Text + ".<br><br>" +
                         "The following items are ready for pick-up <br><br>" +
                         "<table border='1' style='width:600px;'>" +
                         "<tr>" +
                         "<td style='text-align:center'>Requested Item</td>" +
                         "<td style='text-align:center'>Ordered Qty</td>" +
                         "<td style='text-align:center'>Previously Issued Qty</td>" +
                         "<td style='text-align:center'>Issued Now</td>" +
                         "<td style='text-align:center'>Remaining</td>" +
                         "</tr>";

        foreach (DataGridItem ditm in dgItems.Items)
        {
            Label   plblItemDesc = (Label)ditm.FindControl("lblItemDesc");
            TextBox ptxtQty      = (TextBox)ditm.FindControl("txtQty");
            TextBox ptxtIssued   = (TextBox)ditm.FindControl("txtIssued");
            TextBox ptxtSOQty    = (TextBox)ditm.FindControl("txtSOQty");
            int     intRemaining = Convert.ToInt32(ptxtQty.Text) - (Convert.ToInt32(ptxtIssued.Text) + Convert.ToInt32(ptxtSOQty.Text));
            if (ptxtSOQty.Text != "0")
            {
                strBody = strBody + "<tr>" +
                          "<td>" + plblItemDesc.Text + "</td>" +
                          "<td style='text-align:center'>" + ptxtQty.Text + "</td>" +
                          "<td style='text-align:center'>" + ptxtIssued.Text + "</td>" +
                          "<td style='text-align:center'>" + ptxtSOQty.Text + "</td>" +
                          "<td style='text-align:center'>" + intRemaining + "</td>" +
                          "</tr>";
            }
        }

        strBody = strBody + "</table>";

        strBody = strBody + "<br><a href='" + ConfigurationManager.AppSettings["SpeedoUrl"] + "/CIS/Requisition/RequDetails.aspx?requcode=" + txtRequisitionCode.Text + "'>Click here to review the request</a><br><br>" +
                  "If you can't click on the above link,<br>" +
                  "you can also review the request by copying and pasting into your browser the following address:<br><i>" + ConfigurationManager.AppSettings["SpeedoUrl"] + "/CIS/Requisition/RequDetails.aspx?requcode=" + txtRequisitionCode.Text + "</i><br><br>" +
                  "All the best,<br>E-Forms Administrator";
        clsSpeedo.SendMail(hdnUserMail.Value, "Requisition Item Issuance", strBody);

        Response.Redirect("RequMenu.aspx");
    }