private void BindPOAddEdit(string mrp_number, string type) { DataTable dtRecord = MRPClass.POAddEdit_Table(mrp_number, type); POAddEditGrid.DataSource = dtRecord; POAddEditGrid.KeyFieldName = "PK"; POAddEditGrid.DataBind(); //for row updating DataSet ds = new DataSet(); ds.Tables.Add(dtRecord); Session["DataSet"] = ds; }
protected void POAddEditGrid_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) { ASPxTextBox qty = POAddEditGrid.FindEditRowCellTemplateControl((GridViewDataColumn)POAddEditGrid.Columns["POQty"], "POQty") as ASPxTextBox; ASPxTextBox cost = POAddEditGrid.FindEditRowCellTemplateControl((GridViewDataColumn)POAddEditGrid.Columns["POCost"], "POCost") as ASPxTextBox; ASPxTextBox total = POAddEditGrid.FindEditRowCellTemplateControl((GridViewDataColumn)POAddEditGrid.Columns["POTotalCost"], "POTotalCost") as ASPxTextBox; //ASPxGridView grid = sender as ASPxGridView; //MRPClass.PrintString(e.NewValues["POQty"].ToString()); //e.Cancel = true; //grid.CancelEdit(); DataSet ds = (DataSet)Session["DataSet"]; ASPxGridView gridView = (ASPxGridView)sender; DataTable dataTable = ds.Tables[0]; dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["PK"] }; DataRow row = dataTable.Rows.Find(e.Keys["PK"]); row["POQty"] = qty.Value.ToString(); row["POCost"] = cost.Value.ToString(); row["POTotalCost"] = total.Value.ToString(); IDictionaryEnumerator enumerator = e.NewValues.GetEnumerator(); enumerator.Reset(); while (enumerator.MoveNext()) { //MRPClass.PrintString(enumerator.Key.ToString()); row[enumerator.Key.ToString()] = enumerator.Value.ToString(); } gridView.CancelEdit(); e.Cancel = true; POAddEditGrid.DataSource = dataTable; POAddEditGrid.KeyFieldName = "PK"; POAddEditGrid.DataBind(); }
protected void Create_Click(object sender, EventArgs e) { CheckCreatorKey(); SqlConnection conn = new SqlConnection(GlobalClass.SQLConnString()); conn.Open(); if (DocNumber.Value != null) { ExpDelivery.ClientEnabled = true; Vendor.ClientEnabled = true; Currency.ClientEnabled = true; Site.ClientEnabled = true; Terms.ClientEnabled = true; WareHouse.ClientEnabled = true; Location.ClientEnabled = true; ProCategory.ClientEnabled = true; } List <object> selectedValues = POAddEditGrid.GetSelectedFieldValues(new string[] { "PK", "TableIdentifier", "MRPCategory", "Item", "Qty", "UOM", "Cost", "TotalCost", "POQty", "POCost", "POTotalCost", "TaxGroup", "TaxItemGroup" }) as List <object>; if (selectedValues.Count == 0) { ItemsEmpty.HeaderText = "Alert"; ItemsEmptyLabel.Text = "No Selected Items"; ItemsEmpty.ShowOnPageLoad = true; } foreach (object[] obj in selectedValues) { string pk = obj[0].ToString(); string identifier = obj[1].ToString(); string category = obj[2].ToString(); string item = obj[3].ToString(); int slashIndex = item.IndexOf("/"); string item_code = item.Substring(0, slashIndex); string qty = obj[4].ToString(); string uom = obj[5].ToString(); string cost = obj[6].ToString(); string total = obj[7].ToString(); string po_qty = obj[8].ToString(); string po_cost = obj[9].ToString(); string po_total = obj[10].ToString(); string taxgroup = obj[11].ToString(); string taxitem = obj[12].ToString(); if (!string.IsNullOrEmpty(pk) && !string.IsNullOrEmpty(identifier) && !string.IsNullOrEmpty(category) && !string.IsNullOrEmpty(item) && !string.IsNullOrEmpty(qty) && !string.IsNullOrEmpty(uom) && !string.IsNullOrEmpty(cost) && !string.IsNullOrEmpty(total) && !string.IsNullOrEmpty(po_qty) && !string.IsNullOrEmpty(po_cost) && !string.IsNullOrEmpty(po_total) && !string.IsNullOrEmpty(taxgroup) && !string.IsNullOrEmpty(taxitem)) { //CREATE PO NUMBER //Declare Variables string DocPref = "", strDocNum = ""; int DocNum = 0; //QUERY PO NUMBER TO START TO... string query = "SELECT [DocumentPrefix],[DocumentNum] FROM " + MRPClass.DocNumberTableName() + " where DocumentPrefix = 'PO'"; SqlCommand cmd = new SqlCommand(query, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { //GET DATA... DocPref = reader[0].ToString(); DocNum = Convert.ToInt32(reader[1].ToString()); } reader.Close(); //INCREASE IN DOCNUMBER INTEGER (SEE SQL DATABASE FOR CLARIFICATION) DocNum += 1; strDocNum = DocNum.ToString("00000000#"); //CREATED PO NUMBER string PONumber = DocPref + "-" + Session["EntityCode"].ToString() + "-" + strDocNum; string MRPnumber = DocNumber.Value.ToString(); //UPDATE PO NUMBER IS INCREASE (SEE SQL DATABASE FOR CLARIFICATION) string update = "UPDATE " + MRPClass.DocNumberTableName() + " SET [DocumentNum] = '" + DocNum + "' WHERE [DocumentPrefix] = 'PO'"; cmd = new SqlCommand(update, conn); int result = cmd.ExecuteNonQuery(); if (result == 0) { return; } string terms = ""; if (Terms.Value != null)//IF TERMS COMBOBOX NULL/EMPTY VALUE { terms = Terms.Value.ToString(); } //INSERT INFO IN PO CREATION TABLE string insert = "INSERT INTO " + MRPClass.POTableName() + " ([MRPNumber],[PONumber],[CreatorKey], [ExpectedDate] ,[VendorCode], [PaymentTerms], [CurrencyCode], [InventSite], [InventSiteWarehouse], [InventSiteWarehouseLocation]) VALUES (@MRPNumber, @PONumber, @CreatorKey, @expdate, @vendor, @terms, @currency, @site, @warehouse, @location)"; cmd = new SqlCommand(insert, conn); cmd.Parameters.AddWithValue("MRPNumber", MRPnumber); cmd.Parameters.AddWithValue("PONumber", PONumber); cmd.Parameters.AddWithValue("CreatorKey", Session["CreatorKey"].ToString()); cmd.Parameters.AddWithValue("@expdate", ExpDelivery.Value.ToString()); cmd.Parameters.AddWithValue("@vendor", Vendor.Value.ToString()); cmd.Parameters.AddWithValue("@terms", terms); cmd.Parameters.AddWithValue("@currency", Currency.Value.ToString()); cmd.Parameters.AddWithValue("@site", Site.Value.ToString()); cmd.Parameters.AddWithValue("@warehouse", WareHouse.Value.ToString()); cmd.Parameters.AddWithValue("@location", Location.Value.ToString()); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); switch (identifier) { case "1": //Direct Materials string update_materials = "UPDATE " + MRPClass.DirectMatTable() + " SET [QtyPO] = '" + po_qty + "' WHERE [PK] = '" + pk + "'"; SqlCommand cmd_mat = new SqlCommand(update_materials, conn); cmd_mat.ExecuteNonQuery(); string insert_mat_po = "INSERT " + MRPClass.POCreationTableName() + " ([PONumber],[ItemCode],[TaxGroup],[TaxItemGroup],[Qty],[Cost],[TotalCost], [ItemPK], [Identifier]) VALUES (@ponumber, @code, @taxgroup, @taxitem, @poqty, @pocost, @pototal, @itempk, @identifier)"; SqlCommand cmd_mat_po = new SqlCommand(insert_mat_po, conn); cmd_mat_po.Parameters.AddWithValue("@ponumber", PONumber); cmd_mat_po.Parameters.AddWithValue("@code", item_code); cmd_mat_po.Parameters.AddWithValue("@taxgroup", taxgroup); cmd_mat_po.Parameters.AddWithValue("@taxitem", taxitem); cmd_mat_po.Parameters.AddWithValue("@poqty", Convert.ToDouble(po_qty)); cmd_mat_po.Parameters.AddWithValue("@pocost", Convert.ToDouble(po_cost)); cmd_mat_po.Parameters.AddWithValue("@pototal", Convert.ToDouble(po_total)); cmd_mat_po.Parameters.AddWithValue("@itempk", pk); cmd_mat_po.Parameters.AddWithValue("@identifier", identifier); cmd_mat_po.CommandType = CommandType.Text; cmd_mat_po.ExecuteNonQuery(); break; case "2": //Opex string update_opex = "UPDATE " + MRPClass.OpexTable() + " SET [QtyPO] = '" + po_qty + "' WHERE [PK] = '" + pk + "'"; SqlCommand cmd_opex = new SqlCommand(update_opex, conn); cmd_opex.ExecuteNonQuery(); string insert_opex_po = "INSERT " + MRPClass.POCreationTableName() + " ([PONumber],[ItemCode],[TaxGroup],[TaxItemGroup],[Qty],[Cost],[TotalCost], [ItemPK], [Identifier]) VALUES (@ponumber, @code, @taxgroup, @taxitem, @poqty, @pocost, @pototal, @itempk, @identifier)"; SqlCommand cmd_opex_po = new SqlCommand(insert_opex_po, conn); cmd_opex_po.Parameters.AddWithValue("@ponumber", PONumber); cmd_opex_po.Parameters.AddWithValue("@code", item_code); cmd_opex_po.Parameters.AddWithValue("@taxgroup", taxgroup); cmd_opex_po.Parameters.AddWithValue("@taxitem", taxitem); cmd_opex_po.Parameters.AddWithValue("@poqty", Convert.ToDouble(po_qty)); cmd_opex_po.Parameters.AddWithValue("@pocost", Convert.ToDouble(po_cost)); cmd_opex_po.Parameters.AddWithValue("@pototal", Convert.ToDouble(po_total)); cmd_opex_po.Parameters.AddWithValue("@itempk", pk); cmd_opex_po.Parameters.AddWithValue("@identifier", identifier); cmd_opex_po.CommandType = CommandType.Text; cmd_opex_po.ExecuteNonQuery(); break; } conn.Close(); Server.Transfer("mrp_pocreation.aspx"); } else { ItemsEmpty.HeaderText = "Alert"; ItemsEmptyLabel.Text = "Some selected items are empty"; ItemsEmpty.ShowOnPageLoad = true; } } conn.Close(); }
private void BindGrid() { POAddEditGrid.DataSource = POClass.PO_AddEdit_Table(ponumber); POAddEditGrid.KeyFieldName = "PK"; POAddEditGrid.DataBind(); }