private void LoadItems() { SOItem clsSOItem = new SOItem(); lstItem.DataSource = clsSOItem.ListAsDataTable(Convert.ToInt64(lblSOID.Text)).DefaultView; lstItem.DataBind(); clsSOItem.CommitAndDispose(); }
private bool DeleteItems() { bool boRetValue = false; string stIDs = ""; foreach (DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox)item.FindControl("chkList"); if (chkList != null) { if (chkList.Checked == true) { stIDs += chkList.Value + ","; boRetValue = true; } } } if (boRetValue) { SOItem clsSOItem = new SOItem(); clsSOItem.Delete(stIDs.Substring(0, stIDs.Length - 1)); SO clsSO = new SO(clsSOItem.Connection, clsSOItem.Transaction); clsSO.SynchronizeAmount(Convert.ToInt64(lblSOID.Text)); SODetails clsSODetails = clsSO.Details(Convert.ToInt64(lblSOID.Text)); clsSOItem.CommitAndDispose(); UpdateFooter(clsSODetails); } return boRetValue; }
private void UpdateItem() { if (isChkListSingle() == true) { string stID = GetFirstID(); if (stID != null) { SOItem clsSOItem = new SOItem(); SOItemDetails clsSOItemDetails = clsSOItem.Details(Convert.ToInt64(stID)); clsSOItem.CommitAndDispose(); cboProductCode.Items.Clear(); cboVariation.Items.Clear(); cboProductUnit.Items.Clear(); cboProductCode.Items.Add(new ListItem(clsSOItemDetails.ProductCode, clsSOItemDetails.ProductID.ToString())); cboProductCode.SelectedIndex = 0; if (clsSOItemDetails.VariationMatrixID == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0")); } else { cboVariation.Items.Add(new ListItem(clsSOItemDetails.MatrixDescription, clsSOItemDetails.VariationMatrixID.ToString())); } cboVariation.SelectedIndex = 0; cboProductUnit.Items.Add(new ListItem(clsSOItemDetails.ProductUnitCode, clsSOItemDetails.ProductUnitID.ToString())); cboProductUnit.SelectedIndex = 0; txtQuantity.Text = clsSOItemDetails.Quantity.ToString("###0.#0"); txtPrice.Text = clsSOItemDetails.UnitCost.ToString("###0.#0"); txtDiscount.Text = clsSOItemDetails.Discount.ToString("###0.#0"); if (clsSOItemDetails.DiscountType == DiscountTypes.Percentage) chkInPercent.Checked = true; else { chkInPercent.Checked = false; } txtAmount.Text = clsSOItemDetails.Amount.ToString("###0.#0"); txtRemarks.Text = clsSOItemDetails.Remarks; lblSOItemID.Text = stID; chkIsTaxable.Checked = clsSOItemDetails.IsVatable; //Added Jul 1, 2010 4:20PM : For selling information txtSellingQuantity.Text = "1"; decimal decMargin = clsSOItemDetails.SellingPrice - clsSOItemDetails.UnitCost; try { decMargin = decMargin / clsSOItemDetails.UnitCost; } catch { decMargin = 1; } decMargin = decMargin * 100; txtMargin.Text = decMargin.ToString("#,##0.##0"); //txtMargin.Text = decimal.Parse(Convert.ToString(((clsSOItemDetails.SellingPrice - clsSOItemDetails.UnitCost) / clsSOItemDetails.UnitCost) * 100)).ToString("###0.#0"); txtSellingPrice.Text = clsSOItemDetails.SellingPrice.ToString("###0.#0"); txtVAT.Text = clsSOItemDetails.SellingVAT.ToString("###0.#0"); txtEVAT.Text = clsSOItemDetails.SellingEVAT.ToString("###0.#0"); txtLocalTax.Text = clsSOItemDetails.SellingLocalTax.ToString("###0.#0"); } } else { string stScript = "<Script>"; stScript += "window.alert('Cannot update more than one record. Please select at least one record to update.')"; stScript += "</Script>"; Response.Write(stScript); } }
private void SetDataSource(ReportDocument Report) { long iID = 0; try { if (Request.QueryString["task"].ToString().ToLower() == "reportfromposted" && Request.QueryString["soid"].ToString() != null) { iID = Convert.ToInt64(Request.QueryString["soid"].ToString()); } else { iID = Convert.ToInt64(Common.Decrypt(Request.QueryString["soid"].ToString(), Session.SessionID)); } lblReferrer.ToolTip = iID.ToString(); } catch { iID = long.Parse(lblReferrer.ToolTip); } ReportDataset rptds = new ReportDataset(); SO clsSO = new SO(); MySqlDataReader myreader = clsSO.List(iID, "SOID", SortOption.Ascending); while (myreader.Read()) { DataRow drNew = rptds.SO.NewRow(); foreach (DataColumn dc in rptds.SO.Columns) drNew[dc] = "" + myreader[dc.ColumnName]; rptds.SO.Rows.Add(drNew); } myreader.Close(); SOItem clsSOItem = new SOItem(clsSO.Connection, clsSO.Transaction); System.Data.DataTable dt = clsSOItem.ListAsDataTable(iID); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.SOItems.NewRow(); foreach (DataColumn dc in rptds.SOItems.Columns) drNew[dc] = "" + dr[dc.ColumnName]; rptds.SOItems.Rows.Add(drNew); } clsSO.CommitAndDispose(); Report.SetDataSource(rptds); SetParameters(Report); }
private void SaveRecord() { SOItemDetails clsDetails = new SOItemDetails(); Products clsProducts = new Products(); ProductDetails clsProductDetails = clsProducts.Details1(Constants.BRANCH_ID_MAIN, Convert.ToInt64(cboProductCode.SelectedItem.Value)); Terminal clsTerminal = new Terminal(clsProducts.Connection, clsProducts.Transaction); TerminalDetails clsTerminalDetails = clsTerminal.Details(Int32.Parse(Session["BranchID"].ToString()), Session["TerminalNo"].ToString()); clsProducts.CommitAndDispose(); clsDetails.SOID = Convert.ToInt64(lblSOID.Text); clsDetails.ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); clsDetails.ProductCode = clsProductDetails.ProductCode; clsDetails.BarCode = clsProductDetails.BarCode; clsDetails.Description = clsProductDetails.ProductDesc; clsDetails.ProductUnitID = Convert.ToInt32(cboProductUnit.SelectedItem.Value); clsDetails.ProductUnitCode = cboProductUnit.SelectedItem.Text; clsDetails.Quantity = Convert.ToDecimal(txtQuantity.Text); clsDetails.UnitCost = Convert.ToDecimal(txtPrice.Text); clsDetails.Discount = getItemTotalDiscount(); clsDetails.DiscountApplied = Convert.ToDecimal(txtDiscount.Text); if (clsDetails.DiscountApplied == 0) { if (chkInPercent.Checked == true) clsDetails.DiscountType = DiscountTypes.Percentage; else clsDetails.DiscountType = DiscountTypes.FixedValue; } else { clsDetails.DiscountType = DiscountTypes.NotApplicable; } clsDetails.IsVatable = chkIsTaxable.Checked; clsDetails.Amount = ComputeItemAmount(); if (clsDetails.IsVatable) { clsDetails.VatableAmount = clsDetails.Amount; clsDetails.EVatableAmount = clsDetails.Amount; clsDetails.LocalTax = clsDetails.Amount; if (clsTerminalDetails.IsVATInclusive == false) { if (clsDetails.VatableAmount < clsDetails.Discount) clsDetails.VatableAmount = 0; if (clsDetails.EVatableAmount < clsDetails.Discount) clsDetails.EVatableAmount = 0; if (clsDetails.LocalTax < clsDetails.Discount) clsDetails.LocalTax = 0; } else { if (clsDetails.VatableAmount >= clsDetails.Discount) clsDetails.VatableAmount = (clsDetails.VatableAmount) / (1 + (clsTerminalDetails.VAT / 100)); else clsDetails.VatableAmount = 0; if (clsDetails.EVatableAmount >= clsDetails.Discount) clsDetails.EVatableAmount = (clsDetails.EVatableAmount) / (1 + (clsTerminalDetails.VAT / 100)); else clsDetails.EVatableAmount = 0; if (clsDetails.LocalTax >= clsDetails.Discount) clsDetails.LocalTax = (clsDetails.LocalTax) / (1 + (clsTerminalDetails.LocalTax / 100)); else clsDetails.LocalTax = 0; } clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); //if (!clsTerminalDetails.IsVATInclusive) clsDetails.Amount += (clsDetails.VAT + clsDetails.LocalTax); //if (!clsTerminalDetails.EnableEVAT) clsDetails.Amount += clsDetails.EVAT; } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; } clsDetails.isVATInclusive = clsTerminalDetails.IsVATInclusive; clsDetails.VariationMatrixID = Convert.ToInt64(cboVariation.SelectedItem.Value); if (clsDetails.VariationMatrixID != 0) clsDetails.MatrixDescription = cboVariation.SelectedItem.Text; clsDetails.ProductGroup = clsProductDetails.ProductGroupCode; clsDetails.ProductSubGroup = clsProductDetails.ProductSubGroupCode; clsDetails.Remarks = txtRemarks.Text; // Added Jul 1, 2010 4:20PM : for suggested selling information clsDetails.SellingPrice = decimal.Parse(txtSellingPrice.Text); clsDetails.SellingVAT = decimal.Parse(txtVAT.Text); clsDetails.SellingEVAT = decimal.Parse(txtEVAT.Text); clsDetails.SellingLocalTax = decimal.Parse(txtLocalTax.Text); SOItem clsSOItem = new SOItem(); if (lblSOItemID.Text != "0") { clsDetails.SOItemID = Convert.ToInt64(lblSOItemID.Text); clsSOItem.Update(clsDetails); } else clsSOItem.Insert(clsDetails); SODetails clsSODetails = new SODetails(); clsSODetails.SOID = clsDetails.SOID; clsSODetails.DiscountApplied = Convert.ToDecimal(txtSODiscountApplied.Text); clsSODetails.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), cboSODiscountType.SelectedItem.Value); SO clsSO = new SO(clsSOItem.Connection, clsSOItem.Transaction); clsSO.UpdateDiscount(clsDetails.SOID, clsSODetails.DiscountApplied, clsSODetails.DiscountType); clsSODetails = clsSO.Details(clsDetails.SOID); clsSOItem.CommitAndDispose(); UpdateFooter(clsSODetails); }
public void GenerateItemsForReorder(Int32 TerminalID, long SOID) { try { GetConnection(); Terminal clsTerminal = new Terminal(base.Connection, base.Transaction); TerminalDetails clsTerminalDetails = clsTerminal.Details(TerminalID); SODetails clsSODetails = Details(SOID); Products clsProduct = new Products(base.Connection, base.Transaction); System.Data.DataTable dt = clsProduct.ForReorder(clsSODetails.CustomerID); SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); foreach (System.Data.DataRow dr in dt.Rows) { SOItemDetails clsDetails = new SOItemDetails(); clsDetails.SOID = SOID; clsDetails.ProductID = Convert.ToInt64(dr["ProductID"]); clsDetails.ProductCode = dr["ProductCode"].ToString(); clsDetails.BarCode = dr["BarCode"].ToString(); clsDetails.Description = dr["ProductDesc"].ToString(); clsDetails.ProductGroup = dr["ProductGroupCode"].ToString(); clsDetails.ProductSubGroup = dr["ProductSubGroupCode"].ToString(); clsDetails.ProductUnitID = Convert.ToInt32(dr["UnitID"]); clsDetails.ProductUnitCode = dr["UnitName"].ToString(); clsDetails.Quantity = Convert.ToDecimal(dr["ReorderQty"]); clsDetails.UnitCost = Convert.ToDecimal(dr["Price"]); clsDetails.Discount = 0; clsDetails.DiscountApplied = 0; clsDetails.DiscountType = DiscountTypes.Percentage; clsDetails.Remarks = "added using auto generation"; decimal amount = clsDetails.Quantity * clsDetails.UnitCost; if (Convert.ToDecimal(dr["VAT"]) > 0) { clsDetails.VatableAmount = amount; clsDetails.EVatableAmount = amount; clsDetails.LocalTax = amount; clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); clsDetails.IsVatable = true; } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; clsDetails.IsVatable = false; } clsDetails.Amount = amount + clsDetails.VAT; System.Data.DataTable dtmatrix = clsProductVariationsMatrix.ForReorder(clsDetails.ProductID, clsSODetails.CustomerID); if (dtmatrix.Rows.Count > 0) foreach (System.Data.DataRow drmatrix in dtmatrix.Rows) { amount = clsDetails.Quantity * clsDetails.UnitCost; clsDetails.ProductUnitID = Convert.ToInt32(drmatrix["UnitID"]); clsDetails.ProductUnitCode = drmatrix["UnitName"].ToString(); clsDetails.Quantity = Convert.ToDecimal(drmatrix["ReorderQty"]); clsDetails.UnitCost = Convert.ToDecimal(drmatrix["Price"]); if (Convert.ToDecimal(drmatrix["VAT"]) > 0) { clsDetails.VatableAmount = amount; clsDetails.EVatableAmount = amount; clsDetails.LocalTax = amount; clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); clsDetails.IsVatable = true; } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; clsDetails.IsVatable = false; } clsDetails.Amount = amount + clsDetails.VAT; clsDetails.VariationMatrixID = Convert.ToInt64(drmatrix["MatrixID"]); clsDetails.MatrixDescription = drmatrix["VariationDesc"].ToString(); clsSOItem.Insert(clsDetails); } else { clsDetails.VariationMatrixID = 0; clsDetails.MatrixDescription = string.Empty; clsSOItem.Insert(clsDetails); } } } catch (Exception ex) { throw base.ThrowException(ex); } }
public void Cancel(long SOID, DateTime CancelledDate, string Remarks, long CancelledByID) { try { string SQL = "UPDATE tblSO SET " + "CancelledDate = @CancelledDate, " + "CancelledRemarks = @CancelledRemarks, " + "CancelledByID = @CancelledByID, " + "Status = @Status " + "WHERE SOID = @SOID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmCancelledDate = new MySqlParameter("@CancelledDate",MySqlDbType.DateTime); prmCancelledDate.Value = CancelledDate.ToString("yyyy-MM-dd HH:mm:ss"); cmd.Parameters.Add(prmCancelledDate); MySqlParameter prmCancelledRemarks = new MySqlParameter("@CancelledRemarks",MySqlDbType.String); prmCancelledRemarks.Value = Remarks; cmd.Parameters.Add(prmCancelledRemarks); MySqlParameter prmCancelledByID = new MySqlParameter("@CancelledByID",MySqlDbType.Int64); prmCancelledByID.Value = CancelledByID; cmd.Parameters.Add(prmCancelledByID); MySqlParameter prmStatus = new MySqlParameter("@Status",MySqlDbType.Int16); prmStatus.Value = SOStatus.Cancelled.ToString("d"); cmd.Parameters.Add(prmStatus); MySqlParameter prmSOID = new MySqlParameter("@SOID",MySqlDbType.Int64); prmSOID.Value = SOID; cmd.Parameters.Add(prmSOID); base.ExecuteNonQuery(cmd); /******************************************* * Update the status of items * ****************************************/ SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); clsSOItem.Cancel(SOID); } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SubtractItemToInventory(long SOID) { SODetails clsSODetails = Details(SOID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction); Products clsProduct = new Products(base.Connection, base.Transaction); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); ProductPackage clsProductPackage = new ProductPackage(base.Connection, base.Transaction); MatrixPackage clsMatrixPackage = new MatrixPackage(base.Connection, base.Transaction); Inventory clsInventory = new Inventory(base.Connection, base.Transaction); InventoryDetails clsInventoryDetails; //MatrixPackagePriceHistoryDetails clsMatrixPackagePriceHistoryDetails; //ProductPackagePriceHistoryDetails clsProductPackagePriceHistoryDetails; System.Data.DataTable dt = clsSOItem.ListAsDataTable(SOID, "SOItemID", SortOption.Ascending); foreach (System.Data.DataRow dr in dt.Rows) { long lngProductID = long.Parse(dr["ProductID"].ToString()); int intProductUnitID = int.Parse(dr["ProductUnitID"].ToString()); decimal decItemQuantity = decimal.Parse(dr["Quantity"].ToString()); decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity); long lngVariationMatrixID = long.Parse(dr["VariationMatrixID"].ToString()); string strMatrixDescription = "" + dr["MatrixDescription"].ToString(); string strProductCode = "" + dr["ProductCode"].ToString(); decimal decUnitCost = decimal.Parse(dr["UnitCost"].ToString()); decimal decItemCost = decimal.Parse(dr["Amount"].ToString()); decimal decVAT = decimal.Parse(dr["VAT"].ToString()); ///******************************************* // * Add in the Sales Price History // * ****************************************/ //if (lngVariationMatrixID != 0) //{ // // Update MatrixPackagePriceHistory first to get the history // clsMatrixPackagePriceHistoryDetails = new MatrixPackagePriceHistoryDetails(); // clsMatrixPackagePriceHistoryDetails.UID = clsSODetails.SellerID; // clsMatrixPackagePriceHistoryDetails.PackageID = clsMatrixPackage.GetPackageID(lngVariationMatrixID, intProductUnitID); // clsMatrixPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsMatrixPackagePriceHistoryDetails.Price = decUnitCost; // clsMatrixPackagePriceHistoryDetails.PurchasePrice = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.VAT = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.EVAT = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.LocalTax = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.Remarks = "Based on SO #: " + clsSODetails.SONo; // MatrixPackagePriceHistory clsMatrixPackagePriceHistory = new MatrixPackagePriceHistory(base.Connection, base.Transaction); // clsMatrixPackagePriceHistory.Insert(clsMatrixPackagePriceHistoryDetails); //} //else //{ // // Update ProductPackagePriceHistory first to get the history // clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails(); // clsProductPackagePriceHistoryDetails.UID = clsSODetails.SellerID; // clsProductPackagePriceHistoryDetails.PackageID = clsProductPackage.GetPackageID(lngProductID, intProductUnitID); // clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsProductPackagePriceHistoryDetails.Price = decUnitCost; // clsProductPackagePriceHistoryDetails.PurchasePrice = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.VAT = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.EVAT = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.LocalTax = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.Remarks = "Based on SO #: " + clsSODetails.SONo; // ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(base.Connection, base.Transaction); // clsProductPackagePriceHistory.Insert(clsProductPackagePriceHistoryDetails); //} /******************************************* * Subtract to Inventory * ****************************************/ // clsProduct.SubtractQuantity(lngProductID, decQuantity); // if (lngVariationMatrixID != 0) { clsProductVariationsMatrix.SubtractQuantity(lngVariationMatrixID, decQuantity); } // July 28, 2011: change the above codes to the following clsProduct.SubtractQuantity(clsSODetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_SOLD_WHOLESALE), DateTime.Now, clsSODetails.SONo, clsSODetails.SellerName); /******************************************* * Update Selling Information * ****************************************/ int iBaseUnitID = clsProduct.get_BaseUnitID(lngProductID); if (iBaseUnitID != intProductUnitID) { clsProduct.UpdateSellingPrice(lngProductID, lngVariationMatrixID, clsSODetails.CustomerID, intProductUnitID, (decItemQuantity * decUnitCost) / decQuantity, -1, -1, -1,- 1, -1); // Price should be the sugegsted selling price } clsProduct.UpdateSellingWSPrice(lngProductID, lngVariationMatrixID, clsSODetails.CustomerID, intProductUnitID, decUnitCost); // WS Price should be the unit cost /******************************************* * Add to Inventory Analysis * ****************************************/ clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsSODetails.DeliveryDate; clsInventoryDetails.ReferenceNo = clsSODetails.SONo; clsInventoryDetails.ContactID = clsSODetails.CustomerID; clsInventoryDetails.ContactCode = clsSODetails.CustomerCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.SoldQuantity = decQuantity; clsInventoryDetails.SoldCost = decItemCost - decVAT; clsInventoryDetails.SoldVAT = decItemCost; // Sales Cost with VAT clsInventory.Insert(clsInventoryDetails); } }
private void UpdateAccounts(long SOID) { try { SODetails clsSODetails = Details(SOID); ChartOfAccounts clsChartOfAccount = new ChartOfAccounts(base.Connection, base.Transaction); // update ChartOfAccountIDARTracking as credit clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.SubTotal); // update Deposit & APContra clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARContra, clsSODetails.Discount); // update Freight & APTracking clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.Freight); clsChartOfAccount.UpdateDebit(clsSODetails.ChartOfAccountIDARFreight, clsSODetails.Freight); // update Deposit & APTracking clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.Deposit); clsChartOfAccount.UpdateDebit(clsSODetails.ChartOfAccountIDARVDeposit, clsSODetails.Deposit); SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); System.Data.DataTable dt = clsSOItem.ListAsDataTable(SOID, "SOItemID", SortOption.Ascending); foreach (System.Data.DataRow dr in dt.Rows) { int iChartOfAccountIDSold = Int16.Parse(dr["ChartOfAccountIDSold"].ToString()); int iChartOfAccountIDTaxSold = Int16.Parse(dr["ChartOfAccountIDTaxSold"].ToString()); decimal decVAT = decimal.Parse(dr["VAT"].ToString()); decimal decVATABLEAmount = decimal.Parse(dr["Amount"].ToString()) - decVAT; // update purchase as debit clsChartOfAccount.UpdateDebit(iChartOfAccountIDSold, decVATABLEAmount); // update tax as debit clsChartOfAccount.UpdateDebit(iChartOfAccountIDTaxSold, decVAT); } } catch (Exception ex) { base.ThrowException(ex); } }
public void IssueGRN(long SOID, string CustomerDRNo, DateTime DeliveryDate) { try { string SQL = "UPDATE tblSO SET " + "CustomerDRNo = @CustomerDRNo, " + "DeliveryDate = @DeliveryDate, " + "Status = @Status " + "WHERE SOID = @SOID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; cmd.Parameters.AddWithValue("@CustomerDRNo", CustomerDRNo); cmd.Parameters.AddWithValue("@DeliveryDate", DeliveryDate.ToString("yyyy-MM-dd HH:mm:ss")); cmd.Parameters.AddWithValue("@Status", SOStatus.Posted.ToString("d")); cmd.Parameters.AddWithValue("@SOID", SOID); base.ExecuteNonQuery(cmd); /******************************************* * Update the status of items * ****************************************/ SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); clsSOItem.Post(SOID); /******************************************* * Update Vendor Account * ****************************************/ SubtractItemToInventory(SOID); /******************************************* * Update Account Balance * ****************************************/ UpdateAccounts(SOID); } catch (Exception ex) { throw base.ThrowException(ex); } }