protected void btnSave_Click(object sender, EventArgs e) { if (!ValidateApprover()) { return; } string strRequCode = ""; string strApproverName = ""; string strApproverMail = ""; clsRequisition.RequisitionMailType rmtApprover = clsRequisition.RequisitionMailType.SentToApproverGH; //using (clsUsers users = new clsUsers()) //{ // users.Username = ddlDivision.SelectedValue.ToString(); // users.Fill(); // hdnDiviHeadMail.Value = users.Email; //} hdnDiviHeadMail.Value = clsUsers.GetEmail(ddlDivision.SelectedValue.ToString()).ToString(); if (dgItems.Items.Count == 0) { divError.Visible = true; lblErrMsg.Text = "Unable to send your request.<br>" + "<table>" + "<tr>" + "<td style='vertical-align:top;'><b>Reason:</b></td>" + "<td>You need to include at least one item to request. Make sure to click <b>Add New Item</b> button to include your requested item.</td>" + "</tr>" + "</table>"; } else { if (HasEnoughBudget()) { SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Speedo"].ToString()); cn.Open(); SqlTransaction tran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("spREQUInsert", cn); cmd.Transaction = tran; try { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@username", SqlDbType.VarChar, 30); cmd.Parameters.Add("@datereq", SqlDbType.DateTime); cmd.Parameters.Add("@userrem", SqlDbType.VarChar, 255); cmd.Parameters.Add("@rccode", SqlDbType.Char, 3); cmd.Parameters.Add("@sprvcode", SqlDbType.VarChar, 30); cmd.Parameters.Add("@sprvstat", SqlDbType.Char, 1); cmd.Parameters.Add("@headcode", SqlDbType.VarChar, 30); cmd.Parameters.Add("@headstat", SqlDbType.Char, 1); cmd.Parameters.Add("@suppcode", SqlDbType.VarChar, 30); cmd.Parameters.Add("@suppstat", SqlDbType.Char, 1); cmd.Parameters.Add("@totcost", SqlDbType.Float); cmd.Parameters.Add("@status", SqlDbType.Char); cmd.Parameters.Add("@requcode", SqlDbType.Char, 9); cmd.Parameters["@username"].Value = Request.Cookies["Speedo"]["UserName"]; cmd.Parameters["@datereq"].Value = DateTime.Now; cmd.Parameters["@userrem"].Value = txtRemarks.Text; cmd.Parameters["@rccode"].Value = ddlChargeTo.SelectedValue; cmd.Parameters["@headcode"].Value = ddlDivision.SelectedValue.ToString(); cmd.Parameters["@suppcode"].Value = ConfigurationManager.AppSettings["SuppliesCustodian"]; cmd.Parameters["@suppstat"].Value = "F"; cmd.Parameters["@totcost"].Value = Math.Round(Convert.ToDouble(lblTotalCost.Text), 2); // the requestor is the division head if (Request.Cookies["Speedo"]["UserName"].ToString() == ddlDivision.SelectedValue.ToString()) { strApproverName = txtSuppName.Text; strApproverMail = hdnSuppMail.Value; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverSC; cmd.Parameters["@sprvcode"].Value = ""; cmd.Parameters["@sprvstat"].Value = "X"; cmd.Parameters["@headstat"].Value = "A"; cmd.Parameters["@status"].Value = "A"; clsRequisition.DeductBudget(ddlChargeTo.SelectedValue, Convert.ToDouble(lblTotalCost.Text)); } // the requestor is the group head else if (Request.Cookies["Speedo"]["UserName"].ToString() == ddlGrpHead.SelectedValue) { //if (clsRequisition.IsHeadApprovalRequired(ddlChargeTo.SelectedValue, ddlDivision.SelectedValue.ToString())) if (clsModuleApprover.IsDivisionHeadApprovalRequired(clsModule.RequisitionModule, ddlChargeTo.SelectedValue.ToString(), ddlDivision.SelectedValue.ToString())) { strApproverName = ddlDivision.SelectedItem.Text; strApproverMail = hdnDiviHeadMail.Value; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverDH; cmd.Parameters["@sprvcode"].Value = ddlGrpHead.SelectedValue; cmd.Parameters["@sprvstat"].Value = "A"; cmd.Parameters["@headstat"].Value = "F"; cmd.Parameters["@status"].Value = "F"; } else { strApproverName = txtSuppName.Text; strApproverMail = hdnSuppMail.Value; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverSC; cmd.Parameters["@sprvcode"].Value = ddlGrpHead.SelectedValue; cmd.Parameters["@sprvstat"].Value = "A"; cmd.Parameters["@headstat"].Value = "N"; cmd.Parameters["@status"].Value = "A"; clsRequisition.DeductBudget(ddlChargeTo.SelectedValue, Convert.ToDouble(lblTotalCost.Text)); } } //Update by Charlie Bachiller 2-20-2013 //Normal User else { // the division head is the default approver if (ddlGrpHead.SelectedValue == "none") { strApproverName = ddlDivision.SelectedItem.Text; strApproverMail = hdnDiviHeadMail.Value; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverDH; cmd.Parameters["@sprvcode"].Value = ""; cmd.Parameters["@sprvstat"].Value = "X"; cmd.Parameters["@headstat"].Value = "F"; cmd.Parameters["@status"].Value = "F"; } //The division head and group head is the same else if (ddlGrpHead.SelectedValue.ToString() == ddlDivision.SelectedValue.ToString()) { strApproverName = ddlDivision.SelectedItem.Text; strApproverMail = hdnDiviHeadMail.Value; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverDH; cmd.Parameters["@sprvcode"].Value = ""; cmd.Parameters["@sprvstat"].Value = "X"; cmd.Parameters["@headstat"].Value = "F"; cmd.Parameters["@status"].Value = "F"; } else { strApproverName = ddlGrpHead.SelectedItem.Text; strApproverMail = clsUsers.GetEmail(ddlGrpHead.SelectedValue);; rmtApprover = clsRequisition.RequisitionMailType.SentToApproverGH; cmd.Parameters["@sprvcode"].Value = ddlGrpHead.SelectedValue; cmd.Parameters["@sprvstat"].Value = "F"; cmd.Parameters["@headstat"].Value = "F"; cmd.Parameters["@status"].Value = "F"; } } cmd.Parameters["@requcode"].Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); strRequCode = cmd.Parameters["@requcode"].Value.ToString(); cmd.Parameters.Clear(); cmd.CommandType = CommandType.Text; foreach (DataGridItem itm in dgItems.Items) { HiddenField hdnItemCode = (HiddenField)itm.FindControl("hdnItemCode"); Label lblItemDesc = (Label)itm.FindControl("lblItemDesc"); Label lblQty = (Label)itm.FindControl("lblQty"); Label lblUnit = (Label)itm.FindControl("lblUnit"); Label lblPrice = (Label)itm.FindControl("lblPrice"); Label lblTPrice = (Label)itm.FindControl("lblTPrice"); Label lblReason = (Label)itm.FindControl("lblReason"); cmd.CommandText = "INSERT INTO CIS.RequisitionDetails VALUES('" + strRequCode + "',@itemcode,@itemdesc,'" + lblQty.Text + "','0',@unit,'" + lblPrice.Text + "','" + lblTPrice.Text + "',@reason,'','1')"; cmd.Parameters.Add("@itemcode", SqlDbType.VarChar, 32); cmd.Parameters.Add("@itemdesc", SqlDbType.VarChar, 52); cmd.Parameters.Add("@unit", SqlDbType.VarChar, 12); cmd.Parameters.Add("@reason", SqlDbType.VarChar, 100); cmd.Parameters["@itemcode"].Value = hdnItemCode.Value; cmd.Parameters["@itemdesc"].Value = lblItemDesc.Text; cmd.Parameters["@unit"].Value = lblUnit.Text; cmd.Parameters["@reason"].Value = lblReason.Text; cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } tran.Commit(); } catch { tran.Rollback(); } finally { cn.Close(); } clsRequisition.SendNotification(rmtApprover, txtRequestorName.Text, strApproverName, strApproverMail, strRequCode); clsRequisition.SendNotification(clsRequisition.RequisitionMailType.SentToRequestor, txtRequestorName.Text, strApproverName, clsUsers.GetEmail(Request.Cookies["Speedo"]["UserName"].ToString()), strRequCode); Response.Redirect("RequMenu.aspx"); } } }
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 = " ! 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."; //} }