private void GetIssueHeadsandItemsForDropDowns() { dst = IssueNewLogic.RetrieveAllItems(); //second table contains the items names dtItems = dst.Tables["Items"]; // dtIssueHead = dst.Tables["itemRatesSecondery"]; // dtRate = dst.Tables["IT2"]; }
private void GetIssueHeadsandItemsForDropDowns() { // dst = ReceivedItemsLogic.RetrieveReceivedItemsAndReceivedItemsDetails(); //second table contains the items names // dtItems = dst.Tables[0]; dst = IssueNewLogic.RetrieveAllItems(); //second table contains the items names dtItems = dst.Tables["Items"]; dtIssueHead = dst.Tables["itemRatesSecondery"]; dtRate = dst.Tables["IT2"]; }
private void _Save() { NewProperties issued = new NewProperties(); IssueNewLogic enterSave = new IssueNewLogic(); try { issued.challanNO = Convert.ToDouble(_tbChalanNo.Text); issued.indentNo = _tbIndentValue.Text; if (_tbChallanDate.Text.Contains("/")) { issued.challanDate = DateTime.ParseExact(_tbChallanDate.Text, @"d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); } else { issued.challanDate = DateTime.ParseExact(_tbChallanDate.Text, @"d-M-yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); } if (_tbIntendDate.Text.Contains("/")) { issued.indentDate = DateTime.ParseExact(_tbIntendDate.Text, @"d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); } else { issued.indentDate = DateTime.ParseExact(_tbIntendDate.Text, @"d-M-yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); } issued.TotalAmount = Convert.ToDouble(_tbtotalAmount.Text); if (_ddIntendDivisions.SelectedItem.ToString() != "--Select Division Name--") { issued.intendingDivision = _ddIntendDivisions.SelectedItem.ToString(); } else { issued.intendingDivision = lblDivisionOld.Text; } if (_ddCHead.SelectedItem.ToString() != "--Select Chargeable Head--") { issued.ChargeableHeadName = _ddCHead.SelectedItem.ToString(); } else { issued.ChargeableHeadName = lblChHeadOld.Text; } issued.IsDeliveredTemporary = istemporary.Checked ? "Yes" : "No"; issued.ModifiedBy = Convert.ToInt16(Session["USERID"]); issued.ReceiverDesignation = tbReceiverDesignation.Text; issued.VehicleNumber = tbVehicleNumberCaps.Text.ToUpper(); issued.Remarks = tbremarks.Text; StringBuilder sb = new StringBuilder(); string insertStatement = "INSERT INTO DeliveryItemsDetails(DeliveryItemsChallanID,itemid,ItemName, IssueHeadName,QUANTITY,UNIT,RATE) values('@DeliveryItemsChallanID','@ItemID','@ItemName', '@IssueHeadName', '@QUANTITY', '@UNIT', '@RATE')"; string updateItemRateSecondary = "update ItemsRateSecondary set quantity=quantity-'@QUANTITY' where itemname='@itemname' and issueHeadName= '@IssueHeadName' and OrderNO='@OrderNO'"; for (int i = 0; i < gvItems.Rows.Count; i++) { DropDownList _ddItems = gvItems.Rows[i].FindControl("_ddItems") as DropDownList; TextBox itemUnit = gvItems.Rows[i].FindControl("_tbUnit") as TextBox; TextBox tbQty = gvItems.Rows[i].FindControl("tbQty") as TextBox; TextBox _tbOrderQuantity = gvItems.Rows[i].FindControl("_tbOrderQuantity") as TextBox; DropDownList ddlIhead = gvItems.Rows[i].FindControl("ddlIhead") as DropDownList; TextBox tbRate = gvItems.Rows[i].FindControl("tbRate") as TextBox; TextBox _tbAmt = gvItems.Rows[i].FindControl("_tbAmt") as TextBox; HiddenField _hdnFieldItemID = gvItems.Rows[i].FindControl("_hdnFieldItemID") as HiddenField; TextBox tbOrderNO = gvItems.Rows[i].FindControl("tbOrderNO") as TextBox; if (_ddItems.SelectedValue.ToString() != "") { //Checking the quantity is null in quantity if (_tbOrderQuantity.Text == "") { panelError.Visible = true; lblError.Text = "Error! Quantity Cannot be Blank."; panelSuccess.Visible = false; return; } if (tbRate.Text != "") { totalAmount += Convert.ToDouble(_tbOrderQuantity.Text) * Convert.ToDouble(tbRate.Text); if (Convert.ToDouble(_tbOrderQuantity.Text) > Convert.ToDouble(tbQty.Text)) { DataTable dt = dst.Tables["IT2"].Clone(); DataRow[] rates = dst.Tables["IT2"].Select("itemname= '" + _ddItems.SelectedItem.ToString() + "' and IssueHeadName='" + ddlIhead.SelectedValue.ToString() + "'"); Double OrderedQty = Convert.ToDouble(_tbOrderQuantity.Text); double QtyAvailableinRows = Convert.ToDouble(tbQty.Text); foreach (DataRow dr in rates) { dt.ImportRow(dr); } DataView view = new DataView(dt); DataTable myRates = view.ToTable(true, "Rate", "Quantity", "OrderNo", "AMT"); int counter = 0; Double tempQty; Double tempOrderNo; Double tempRate; while (OrderedQty > 0) { tempQty = Convert.ToDouble(myRates.Rows[counter]["Quantity"]); tempOrderNo = Convert.ToDouble(myRates.Rows[counter]["OrderNo"]); tempRate = Convert.ToDouble(myRates.Rows[counter]["Rate"]); if (OrderedQty < tempQty) { tempQty = OrderedQty; } sb.Append(updateItemRateSecondary.Replace("@itemname", _ddItems.SelectedItem.ToString()).Replace("@QUANTITY", tempQty.ToString()).Replace("@IssueHeadName", ddlIhead.SelectedValue).Replace("@OrderNO", tempOrderNo.ToString())); sb.Append(insertStatement.Replace("@DeliveryItemsChallanID", _tbChalanNo.Text).Replace("@ItemID", _hdnFieldItemID.Value).Replace("@ItemName", Utilities.ValidSql(_ddItems.SelectedItem.ToString())).Replace("@IssueHeadName", ddlIhead.SelectedValue).Replace("@QUANTITY", tempQty.ToString()).Replace("@UNIT", itemUnit.Text).Replace("@RATE", tempRate.ToString())); OrderedQty = OrderedQty - tempQty; counter++; } } else { sb.Append(updateItemRateSecondary.Replace("@itemname", _ddItems.SelectedItem.ToString()).Replace("@QUANTITY", _tbOrderQuantity.Text).Replace("@IssueHeadName", ddlIhead.SelectedValue).Replace("@OrderNO", tbOrderNO.Text)); sb.Append(insertStatement.Replace("@DeliveryItemsChallanID", _tbChalanNo.Text).Replace("@ItemID", _hdnFieldItemID.Value).Replace("@ItemName", Utilities.ValidSql(_ddItems.SelectedItem.ToString())).Replace("@IssueHeadName", ddlIhead.SelectedValue).Replace("@QUANTITY", _tbOrderQuantity.Text).Replace("@UNIT", itemUnit.Text).Replace("@RATE", tbRate.Text)); } } else { panelError.Visible = true; lblError.Text = "Error! One of item's Issue Head and Rate is not selected."; panelSuccess.Visible = false; return; } } } issued.TotalAmount += totalAmount; //call the method to save both in primary deliverychallan table and delivery details table enterSave.UpdateNewIssuedItems(issued, sb.ToString()); lblSuccess.Text = "Challan number " + _tbChalanNo.Text + " details Updated successfully!"; GetIssueHeadsandItemsForDropDowns(); // _tbChalanNo.Text = (Convert.ToDouble(_tbChalanNo.Text) + 1).ToString(); // panelError.Visible = false; // panelSuccess.Visible = true; Response.Redirect("/Admin/IssueEntriesList.aspx"); } catch (System.Threading.ThreadAbortException) { } catch (SqlException ex) { if (ex.Message.Contains("duplicate key")) { panelError.Visible = true; lblError.Text = "Error! The challan ID already exists. Please use another ID"; panelSuccess.Visible = false; } else { Session["ERRORMSG"] = ex.ToString(); Response.Redirect("Error.aspx"); } } catch (Exception ex) { Session["ERRORMSG"] = ex.ToString(); Response.Redirect("Error.aspx", true); } }