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 long Insert(SOItemDetails Details) { try { string SQL = "INSERT INTO tblSOItems (" + "SOID, " + "ProductID, " + "ProductCode, " + "BarCode, " + "Description, " + "ProductUnitID, " + "ProductUnitCode, " + "Quantity, " + "UnitCost, " + "Discount, " + "DiscountApplied, " + "DiscountType, " + "Amount, " + "VAT, " + "VatableAmount, " + "EVAT, " + "EVatableAmount, " + "LocalTax, " + "isVATInclusive, " + "VariationMatrixID, " + "MatrixDescription, " + "ProductGroup, " + "ProductSubGroup, " + "SOItemStatus, " + "IsVatable, " + "Remarks, " + "ChartOfAccountIDSold, " + "ChartOfAccountIDTaxSold, " + "ChartOfAccountIDInventory," + "SellingPrice," + "SellingVAT," + "SellingEVAT," + "SellingLocalTax" + ") VALUES (" + "@SOID, " + "@ProductID, " + "@ProductCode, " + "@BarCode, " + "@Description, " + "@ProductUnitID, " + "@ProductUnitCode, " + "@Quantity, " + "@UnitCost, " + "@Discount, " + "@DiscountApplied, " + "@DiscountType, " + "@Amount, " + "@VAT, " + "@VatableAmount, " + "@EVAT, " + "@EVatableAmount, " + "@LocalTax, " + "@isVATInclusive, " + "@VariationMatrixID, " + "@MatrixDescription, " + "@ProductGroup, " + "@ProductSubGroup, " + "@SOItemStatus, " + "@IsVatable, " + "@Remarks, " + "(SELECT ChartOfAccountIDSold FROM tblProducts WHERE ProductID = @ProductID), " + "(SELECT ChartOfAccountIDTaxSold FROM tblProducts WHERE ProductID = @ProductID), " + "(SELECT ChartOfAccountIDInventory FROM tblProducts WHERE ProductID = @ProductID), " + "@SellingPrice," + "@SellingVAT," + "@SellingEVAT," + "@SellingLocalTax" + ");"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOID = new MySqlParameter("@SOID", MySqlDbType.Int64); prmSOID.Value = Details.SOID; cmd.Parameters.Add(prmSOID); MySqlParameter prmProductID = new MySqlParameter("@ProductID", MySqlDbType.Int64); prmProductID.Value = Details.ProductID; cmd.Parameters.Add(prmProductID); MySqlParameter prmProductCode = new MySqlParameter("@ProductCode", MySqlDbType.String); prmProductCode.Value = Details.ProductCode; cmd.Parameters.Add(prmProductCode); MySqlParameter prmBarCode = new MySqlParameter("@BarCode", MySqlDbType.String); prmBarCode.Value = Details.BarCode; cmd.Parameters.Add(prmBarCode); MySqlParameter prmDescription = new MySqlParameter("@Description", MySqlDbType.String); prmDescription.Value = Details.Description; cmd.Parameters.Add(prmDescription); MySqlParameter prmProductUnitID = new MySqlParameter("@ProductUnitID", MySqlDbType.Int16); prmProductUnitID.Value = Details.ProductUnitID; cmd.Parameters.Add(prmProductUnitID); MySqlParameter prmProductUnitCode = new MySqlParameter("@ProductUnitCode", MySqlDbType.String); prmProductUnitCode.Value = Details.ProductUnitCode; cmd.Parameters.Add(prmProductUnitCode); MySqlParameter prmQuantity = new MySqlParameter("@Quantity", MySqlDbType.Decimal); prmQuantity.Value = Details.Quantity; cmd.Parameters.Add(prmQuantity); MySqlParameter prmUnitCost = new MySqlParameter("@UnitCost", MySqlDbType.Decimal); prmUnitCost.Value = Details.UnitCost; cmd.Parameters.Add(prmUnitCost); MySqlParameter prmDiscount = new MySqlParameter("@Discount", MySqlDbType.Decimal); prmDiscount.Value = Details.Discount; cmd.Parameters.Add(prmDiscount); MySqlParameter prmDiscountApplied = new MySqlParameter("@DiscountApplied", MySqlDbType.Decimal); prmDiscountApplied.Value = Details.DiscountApplied; cmd.Parameters.Add(prmDiscountApplied); MySqlParameter prmDiscountType = new MySqlParameter("@DiscountType", MySqlDbType.Int16); prmDiscountType.Value = (int)Details.DiscountType; cmd.Parameters.Add(prmDiscountType); MySqlParameter prmAmount = new MySqlParameter("@Amount", MySqlDbType.Decimal); prmAmount.Value = Details.Amount; cmd.Parameters.Add(prmAmount); MySqlParameter prmVAT = new MySqlParameter("@VAT", MySqlDbType.Decimal); prmVAT.Value = Details.VAT; cmd.Parameters.Add(prmVAT); MySqlParameter prmVatableAmount = new MySqlParameter("@VatableAmount", MySqlDbType.Decimal); prmVatableAmount.Value = Details.VatableAmount; cmd.Parameters.Add(prmVatableAmount); MySqlParameter prmEVAT = new MySqlParameter("@EVAT", MySqlDbType.Decimal); prmEVAT.Value = Details.EVAT; cmd.Parameters.Add(prmEVAT); MySqlParameter prmEVatableAmount = new MySqlParameter("@EVatableAmount", MySqlDbType.Decimal); prmEVatableAmount.Value = Details.EVatableAmount; cmd.Parameters.Add(prmEVatableAmount); MySqlParameter prmLocalTax = new MySqlParameter("@LocalTax", MySqlDbType.Decimal); prmLocalTax.Value = Details.LocalTax; cmd.Parameters.Add(prmLocalTax); MySqlParameter prmisVATInclusive = new MySqlParameter("@isVATInclusive", MySqlDbType.Int16); prmisVATInclusive.Value = Convert.ToInt16(Details.isVATInclusive); cmd.Parameters.Add(prmisVATInclusive); MySqlParameter prmVariationMatrixID = new MySqlParameter("@VariationMatrixID", MySqlDbType.Int64); prmVariationMatrixID.Value = Details.VariationMatrixID; cmd.Parameters.Add(prmVariationMatrixID); MySqlParameter prmMatrixDescription = new MySqlParameter("@MatrixDescription", MySqlDbType.String); prmMatrixDescription.Value = Details.MatrixDescription; cmd.Parameters.Add(prmMatrixDescription); MySqlParameter prmProductGroup = new MySqlParameter("@ProductGroup", MySqlDbType.String); prmProductGroup.Value = Details.ProductGroup; cmd.Parameters.Add(prmProductGroup); MySqlParameter prmProductSubGroup = new MySqlParameter("@ProductSubGroup", MySqlDbType.String); prmProductSubGroup.Value = Details.ProductSubGroup; cmd.Parameters.Add(prmProductSubGroup); MySqlParameter prmSOItemStatus = new MySqlParameter("@SOItemStatus", MySqlDbType.Int16); prmSOItemStatus.Value = Details.SOItemStatus.ToString("d"); cmd.Parameters.Add(prmSOItemStatus); MySqlParameter prmIsVatable = new MySqlParameter("@IsVatable", MySqlDbType.Int16); prmIsVatable.Value = Convert.ToInt16(Details.IsVatable); cmd.Parameters.Add(prmIsVatable); MySqlParameter prmRemarks = new MySqlParameter("@Remarks", MySqlDbType.String); prmRemarks.Value = Details.Remarks; cmd.Parameters.Add(prmRemarks); cmd.Parameters.AddWithValue("@SellingPrice", Details.SellingPrice); cmd.Parameters.AddWithValue("@SellingVAT", Details.SellingVAT); cmd.Parameters.AddWithValue("@SellingEVAT", Details.SellingEVAT); cmd.Parameters.AddWithValue("@SellingLocalTax", Details.SellingLocalTax); base.ExecuteNonQuery(cmd); SQL = "SELECT LAST_INSERT_ID();"; cmd.Parameters.Clear(); cmd.CommandText = SQL; string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName); base.MySqlDataAdapterFill(cmd, dt); Int64 iID = 0; foreach (System.Data.DataRow dr in dt.Rows) { iID = Int64.Parse(dr[0].ToString()); } return(iID); } catch (Exception ex) { throw base.ThrowException(ex); } }
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 SOItemDetails Details(long SOItemID) { try { string SQL = SQLSelect() + "WHERE SOItemID = @SOItemID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOItemID = new MySqlParameter("@SOItemID", MySqlDbType.Int64); prmSOItemID.Value = SOItemID; cmd.Parameters.Add(prmSOItemID); MySqlDataReader myReader = base.ExecuteReader(cmd, System.Data.CommandBehavior.SingleResult); SOItemDetails Details = new SOItemDetails(); while (myReader.Read()) { Details.SOItemID = SOItemID; Details.SOID = myReader.GetInt64("SOID"); Details.ProductID = myReader.GetInt64("ProductID"); Details.ProductCode = "" + myReader["ProductCode"].ToString(); Details.BarCode = "" + myReader["BarCode"].ToString(); Details.Description = "" + myReader["Description"].ToString(); Details.ProductUnitID = myReader.GetInt16("ProductUnitID"); Details.ProductUnitCode = "" + myReader["ProductUnitCode"].ToString(); Details.Quantity = myReader.GetDecimal("Quantity"); Details.UnitCost = myReader.GetDecimal("UnitCost"); Details.Discount = myReader.GetDecimal("Discount"); Details.DiscountApplied = myReader.GetDecimal("DiscountApplied"); Details.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), myReader.GetString("DiscountType")); Details.Amount = myReader.GetDecimal("Amount"); Details.VAT = myReader.GetDecimal("VAT"); Details.VatableAmount = myReader.GetDecimal("VatableAmount"); Details.EVAT = myReader.GetDecimal("EVAT"); Details.EVatableAmount = myReader.GetDecimal("EVatableAmount"); Details.LocalTax = myReader.GetDecimal("LocalTax"); Details.isVATInclusive = myReader.GetBoolean("isVATInclusive"); Details.VariationMatrixID = myReader.GetInt64("VariationMatrixID"); Details.MatrixDescription = "" + myReader["MatrixDescription"].ToString(); Details.ProductGroup = "" + myReader["ProductGroup"].ToString(); Details.ProductSubGroup = "" + myReader["ProductSubGroup"].ToString(); Details.SOItemStatus = (SOItemStatus)Enum.Parse(typeof(SOItemStatus), myReader.GetString("SOItemStatus")); if (myReader["IsVatable"].ToString() == "1") { Details.IsVatable = true; } Details.Remarks = "" + myReader["Remarks"].ToString(); //Added Jul 1, 2010 4:27PM : For selling suggested selling price information Details.SellingPrice = myReader.GetDecimal("SellingPrice"); Details.SellingVAT = myReader.GetDecimal("SellingVAT"); Details.SellingEVAT = myReader.GetDecimal("SellingEVAT"); Details.SellingLocalTax = myReader.GetDecimal("SellingLocalTax"); } myReader.Close(); return(Details); } catch (Exception ex) { throw base.ThrowException(ex); } }
public void Update(SOItemDetails Details) { try { string SQL = "UPDATE tblSOItems SET " + "SOID = @SOID, "+ "ProductID = @ProductID, "+ "ProductCode = @ProductCode, "+ "BarCode = @BarCode, "+ "Description = @Description, "+ "ProductUnitID = @ProductUnitID, "+ "ProductUnitCode = @ProductUnitCode, "+ "Quantity = @Quantity, "+ "UnitCost = @UnitCost, "+ "Discount = @Discount, "+ "DiscountApplied = @DiscountApplied, "+ "DiscountType = @DiscountType, "+ "Amount = @Amount, "+ "VAT = @VAT, "+ "VatableAmount = @VatableAmount, "+ "EVAT = @EVAT, "+ "EVatableAmount = @EVatableAmount, "+ "LocalTax = @LocalTax, "+ "isVATInclusive = @isVATInclusive, "+ "VariationMatrixID = @VariationMatrixID, "+ "MatrixDescription = @MatrixDescription, "+ "ProductGroup = @ProductGroup, "+ "ProductSubGroup = @ProductSubGroup, "+ "SOItemStatus = @SOItemStatus, "+ "IsVatable = @IsVatable, "+ "Remarks = @Remarks, "+ "ChartOfAccountIDSold = (SELECT ChartOfAccountIDSold FROM tblProducts WHERE ProductID = @ProductID), " + "ChartOfAccountIDTaxSold = (SELECT ChartOfAccountIDTaxSold FROM tblProducts WHERE ProductID = @ProductID), " + "ChartOfAccountIDInventory = (SELECT ChartOfAccountIDInventory FROM tblProducts WHERE ProductID = @ProductID), " + "SellingPrice = @SellingPrice, "+ "SellingVAT = @SellingVAT, "+ "SellingEVAT = @SellingEVAT, "+ "SellingLocalTax = @SellingLocalTax "+ "WHERE SOItemID = @SOItemID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOID = new MySqlParameter("@SOID", MySqlDbType.Int64); prmSOID.Value = Details.SOID; cmd.Parameters.Add(prmSOID); MySqlParameter prmProductID = new MySqlParameter("@ProductID", MySqlDbType.Int64); prmProductID.Value = Details.ProductID; cmd.Parameters.Add(prmProductID); MySqlParameter prmProductCode = new MySqlParameter("@ProductCode", MySqlDbType.String); prmProductCode.Value = Details.ProductCode; cmd.Parameters.Add(prmProductCode); MySqlParameter prmBarCode = new MySqlParameter("@BarCode", MySqlDbType.String); prmBarCode.Value = Details.BarCode; cmd.Parameters.Add(prmBarCode); MySqlParameter prmDescription = new MySqlParameter("@Description", MySqlDbType.String); prmDescription.Value = Details.Description; cmd.Parameters.Add(prmDescription); MySqlParameter prmProductUnitID = new MySqlParameter("@ProductUnitID", MySqlDbType.Int16); prmProductUnitID.Value = Details.ProductUnitID; cmd.Parameters.Add(prmProductUnitID); MySqlParameter prmProductUnitCode = new MySqlParameter("@ProductUnitCode", MySqlDbType.String); prmProductUnitCode.Value = Details.ProductUnitCode; cmd.Parameters.Add(prmProductUnitCode); MySqlParameter prmQuantity = new MySqlParameter("@Quantity", MySqlDbType.Decimal); prmQuantity.Value = Details.Quantity; cmd.Parameters.Add(prmQuantity); MySqlParameter prmUnitCost = new MySqlParameter("@UnitCost", MySqlDbType.Decimal); prmUnitCost.Value = Details.UnitCost; cmd.Parameters.Add(prmUnitCost); MySqlParameter prmDiscount = new MySqlParameter("@Discount", MySqlDbType.Decimal); prmDiscount.Value = Details.Discount; cmd.Parameters.Add(prmDiscount); MySqlParameter prmDiscountApplied = new MySqlParameter("@DiscountApplied", MySqlDbType.Decimal); prmDiscountApplied.Value = Details.DiscountApplied; cmd.Parameters.Add(prmDiscountApplied); MySqlParameter prmDiscountType = new MySqlParameter("@DiscountType", MySqlDbType.Int16); prmDiscountType.Value = (int)Details.DiscountType; cmd.Parameters.Add(prmDiscountType); MySqlParameter prmAmount = new MySqlParameter("@Amount", MySqlDbType.Decimal); prmAmount.Value = Details.Amount; cmd.Parameters.Add(prmAmount); MySqlParameter prmVAT = new MySqlParameter("@VAT", MySqlDbType.Decimal); prmVAT.Value = Details.VAT; cmd.Parameters.Add(prmVAT); MySqlParameter prmVatableAmount = new MySqlParameter("@VatableAmount", MySqlDbType.Decimal); prmVatableAmount.Value = Details.VatableAmount; cmd.Parameters.Add(prmVatableAmount); MySqlParameter prmEVAT = new MySqlParameter("@EVAT", MySqlDbType.Decimal); prmEVAT.Value = Details.EVAT; cmd.Parameters.Add(prmEVAT); MySqlParameter prmEVatableAmount = new MySqlParameter("@EVatableAmount", MySqlDbType.Decimal); prmEVatableAmount.Value = Details.EVatableAmount; cmd.Parameters.Add(prmEVatableAmount); MySqlParameter prmLocalTax = new MySqlParameter("@LocalTax", MySqlDbType.Decimal); prmLocalTax.Value = Details.LocalTax; cmd.Parameters.Add(prmLocalTax); MySqlParameter prmisVATInclusive = new MySqlParameter("@isVATInclusive", MySqlDbType.Int16); prmisVATInclusive.Value = Convert.ToInt16(Details.isVATInclusive); cmd.Parameters.Add(prmisVATInclusive); MySqlParameter prmVariationMatrixID = new MySqlParameter("@VariationMatrixID", MySqlDbType.Int64); prmVariationMatrixID.Value = Details.VariationMatrixID; cmd.Parameters.Add(prmVariationMatrixID); MySqlParameter prmMatrixDescription = new MySqlParameter("@MatrixDescription", MySqlDbType.String); prmMatrixDescription.Value = Details.MatrixDescription; cmd.Parameters.Add(prmMatrixDescription); MySqlParameter prmProductGroup = new MySqlParameter("@ProductGroup", MySqlDbType.String); prmProductGroup.Value = Details.ProductGroup; cmd.Parameters.Add(prmProductGroup); MySqlParameter prmProductSubGroup = new MySqlParameter("@ProductSubGroup", MySqlDbType.String); prmProductSubGroup.Value = Details.ProductSubGroup; cmd.Parameters.Add(prmProductSubGroup); MySqlParameter prmSOItemStatus = new MySqlParameter("@SOItemStatus", MySqlDbType.Int16); prmSOItemStatus.Value = Details.SOItemStatus.ToString("d"); cmd.Parameters.Add(prmSOItemStatus); MySqlParameter prmIsVatable = new MySqlParameter("@IsVatable", MySqlDbType.Int16); prmIsVatable.Value = Convert.ToInt16(Details.IsVatable); cmd.Parameters.Add(prmIsVatable); MySqlParameter prmRemarks = new MySqlParameter("@Remarks", MySqlDbType.String); prmRemarks.Value = Details.Remarks; cmd.Parameters.Add(prmRemarks); cmd.Parameters.AddWithValue("@SellingPrice", Details.SellingPrice); cmd.Parameters.AddWithValue("@SellingVAT", Details.SellingVAT); cmd.Parameters.AddWithValue("@SellingEVAT", Details.SellingEVAT); cmd.Parameters.AddWithValue("@SellingLocalTax", Details.SellingLocalTax); cmd.Parameters.AddWithValue("@SOItemID", Details.SOItemID); base.ExecuteNonQuery(cmd); SO clsSO = new SO(base.Connection, base.Transaction); clsSO.SynchronizeAmount(Details.SOID); } catch (Exception ex) { throw base.ThrowException(ex); } }
public long Insert(SOItemDetails Details) { try { string SQL = "INSERT INTO tblSOItems (" + "SOID, " + "ProductID, " + "ProductCode, " + "BarCode, " + "Description, " + "ProductUnitID, " + "ProductUnitCode, " + "Quantity, " + "UnitCost, " + "Discount, " + "DiscountApplied, " + "DiscountType, " + "Amount, " + "VAT, " + "VatableAmount, " + "EVAT, " + "EVatableAmount, " + "LocalTax, " + "isVATInclusive, " + "VariationMatrixID, " + "MatrixDescription, " + "ProductGroup, " + "ProductSubGroup, " + "SOItemStatus, " + "IsVatable, " + "Remarks, " + "ChartOfAccountIDSold, " + "ChartOfAccountIDTaxSold, " + "ChartOfAccountIDInventory," + "SellingPrice," + "SellingVAT," + "SellingEVAT," + "SellingLocalTax" + ") VALUES (" + "@SOID, " + "@ProductID, " + "@ProductCode, " + "@BarCode, " + "@Description, " + "@ProductUnitID, " + "@ProductUnitCode, " + "@Quantity, " + "@UnitCost, " + "@Discount, " + "@DiscountApplied, " + "@DiscountType, " + "@Amount, " + "@VAT, " + "@VatableAmount, " + "@EVAT, " + "@EVatableAmount, " + "@LocalTax, " + "@isVATInclusive, " + "@VariationMatrixID, " + "@MatrixDescription, " + "@ProductGroup, " + "@ProductSubGroup, " + "@SOItemStatus, " + "@IsVatable, " + "@Remarks, " + "(SELECT ChartOfAccountIDSold FROM tblProducts WHERE ProductID = @ProductID), " + "(SELECT ChartOfAccountIDTaxSold FROM tblProducts WHERE ProductID = @ProductID), " + "(SELECT ChartOfAccountIDInventory FROM tblProducts WHERE ProductID = @ProductID), " + "@SellingPrice," + "@SellingVAT," + "@SellingEVAT," + "@SellingLocalTax" + ");"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOID = new MySqlParameter("@SOID",MySqlDbType.Int64); prmSOID.Value = Details.SOID; cmd.Parameters.Add(prmSOID); MySqlParameter prmProductID = new MySqlParameter("@ProductID",MySqlDbType.Int64); prmProductID.Value = Details.ProductID; cmd.Parameters.Add(prmProductID); MySqlParameter prmProductCode = new MySqlParameter("@ProductCode",MySqlDbType.String); prmProductCode.Value = Details.ProductCode; cmd.Parameters.Add(prmProductCode); MySqlParameter prmBarCode = new MySqlParameter("@BarCode",MySqlDbType.String); prmBarCode.Value = Details.BarCode; cmd.Parameters.Add(prmBarCode); MySqlParameter prmDescription = new MySqlParameter("@Description",MySqlDbType.String); prmDescription.Value = Details.Description; cmd.Parameters.Add(prmDescription); MySqlParameter prmProductUnitID = new MySqlParameter("@ProductUnitID",MySqlDbType.Int16); prmProductUnitID.Value = Details.ProductUnitID; cmd.Parameters.Add(prmProductUnitID); MySqlParameter prmProductUnitCode = new MySqlParameter("@ProductUnitCode",MySqlDbType.String); prmProductUnitCode.Value = Details.ProductUnitCode; cmd.Parameters.Add(prmProductUnitCode); MySqlParameter prmQuantity = new MySqlParameter("@Quantity",MySqlDbType.Decimal); prmQuantity.Value = Details.Quantity; cmd.Parameters.Add(prmQuantity); MySqlParameter prmUnitCost = new MySqlParameter("@UnitCost",MySqlDbType.Decimal); prmUnitCost.Value = Details.UnitCost; cmd.Parameters.Add(prmUnitCost); MySqlParameter prmDiscount = new MySqlParameter("@Discount",MySqlDbType.Decimal); prmDiscount.Value = Details.Discount; cmd.Parameters.Add(prmDiscount); MySqlParameter prmDiscountApplied = new MySqlParameter("@DiscountApplied",MySqlDbType.Decimal); prmDiscountApplied.Value = Details.DiscountApplied; cmd.Parameters.Add(prmDiscountApplied); MySqlParameter prmDiscountType = new MySqlParameter("@DiscountType",MySqlDbType.Int16); prmDiscountType.Value = (int)Details.DiscountType; cmd.Parameters.Add(prmDiscountType); MySqlParameter prmAmount = new MySqlParameter("@Amount",MySqlDbType.Decimal); prmAmount.Value = Details.Amount; cmd.Parameters.Add(prmAmount); MySqlParameter prmVAT = new MySqlParameter("@VAT",MySqlDbType.Decimal); prmVAT.Value = Details.VAT; cmd.Parameters.Add(prmVAT); MySqlParameter prmVatableAmount = new MySqlParameter("@VatableAmount",MySqlDbType.Decimal); prmVatableAmount.Value = Details.VatableAmount; cmd.Parameters.Add(prmVatableAmount); MySqlParameter prmEVAT = new MySqlParameter("@EVAT",MySqlDbType.Decimal); prmEVAT.Value = Details.EVAT; cmd.Parameters.Add(prmEVAT); MySqlParameter prmEVatableAmount = new MySqlParameter("@EVatableAmount",MySqlDbType.Decimal); prmEVatableAmount.Value = Details.EVatableAmount; cmd.Parameters.Add(prmEVatableAmount); MySqlParameter prmLocalTax = new MySqlParameter("@LocalTax",MySqlDbType.Decimal); prmLocalTax.Value = Details.LocalTax; cmd.Parameters.Add(prmLocalTax); MySqlParameter prmisVATInclusive = new MySqlParameter("@isVATInclusive",MySqlDbType.Int16); prmisVATInclusive.Value = Convert.ToInt16(Details.isVATInclusive); cmd.Parameters.Add(prmisVATInclusive); MySqlParameter prmVariationMatrixID = new MySqlParameter("@VariationMatrixID",MySqlDbType.Int64); prmVariationMatrixID.Value = Details.VariationMatrixID; cmd.Parameters.Add(prmVariationMatrixID); MySqlParameter prmMatrixDescription = new MySqlParameter("@MatrixDescription",MySqlDbType.String); prmMatrixDescription.Value = Details.MatrixDescription; cmd.Parameters.Add(prmMatrixDescription); MySqlParameter prmProductGroup = new MySqlParameter("@ProductGroup",MySqlDbType.String); prmProductGroup.Value = Details.ProductGroup; cmd.Parameters.Add(prmProductGroup); MySqlParameter prmProductSubGroup = new MySqlParameter("@ProductSubGroup",MySqlDbType.String); prmProductSubGroup.Value = Details.ProductSubGroup; cmd.Parameters.Add(prmProductSubGroup); MySqlParameter prmSOItemStatus = new MySqlParameter("@SOItemStatus",MySqlDbType.Int16); prmSOItemStatus.Value = Details.SOItemStatus.ToString("d"); cmd.Parameters.Add(prmSOItemStatus); MySqlParameter prmIsVatable = new MySqlParameter("@IsVatable",MySqlDbType.Int16); prmIsVatable.Value = Convert.ToInt16(Details.IsVatable); cmd.Parameters.Add(prmIsVatable); MySqlParameter prmRemarks = new MySqlParameter("@Remarks",MySqlDbType.String); prmRemarks.Value = Details.Remarks; cmd.Parameters.Add(prmRemarks); cmd.Parameters.AddWithValue("@SellingPrice", Details.SellingPrice); cmd.Parameters.AddWithValue("@SellingVAT", Details.SellingVAT); cmd.Parameters.AddWithValue("@SellingEVAT", Details.SellingEVAT); cmd.Parameters.AddWithValue("@SellingLocalTax", Details.SellingLocalTax); base.ExecuteNonQuery(cmd); SQL = "SELECT LAST_INSERT_ID();"; cmd.Parameters.Clear(); cmd.CommandText = SQL; string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName); base.MySqlDataAdapterFill(cmd, dt); Int64 iID = 0; foreach (System.Data.DataRow dr in dt.Rows) { iID = Int64.Parse(dr[0].ToString()); } return iID; } catch (Exception ex) { throw base.ThrowException(ex); } }
public SOItemDetails Details(long SOItemID) { try { string SQL = SQLSelect() + "WHERE SOItemID = @SOItemID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOItemID = new MySqlParameter("@SOItemID",MySqlDbType.Int64); prmSOItemID.Value = SOItemID; cmd.Parameters.Add(prmSOItemID); MySqlDataReader myReader = base.ExecuteReader(cmd, System.Data.CommandBehavior.SingleResult); SOItemDetails Details = new SOItemDetails(); while (myReader.Read()) { Details.SOItemID = SOItemID; Details.SOID = myReader.GetInt64("SOID"); Details.ProductID = myReader.GetInt64("ProductID"); Details.ProductCode = "" + myReader["ProductCode"].ToString(); Details.BarCode = "" + myReader["BarCode"].ToString(); Details.Description = "" + myReader["Description"].ToString(); Details.ProductUnitID = myReader.GetInt16("ProductUnitID"); Details.ProductUnitCode = "" + myReader["ProductUnitCode"].ToString(); Details.Quantity = myReader.GetDecimal("Quantity"); Details.UnitCost = myReader.GetDecimal("UnitCost"); Details.Discount = myReader.GetDecimal("Discount"); Details.DiscountApplied = myReader.GetDecimal("DiscountApplied"); Details.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), myReader.GetString("DiscountType")); Details.Amount = myReader.GetDecimal("Amount"); Details.VAT = myReader.GetDecimal("VAT"); Details.VatableAmount = myReader.GetDecimal("VatableAmount"); Details.EVAT = myReader.GetDecimal("EVAT"); Details.EVatableAmount = myReader.GetDecimal("EVatableAmount"); Details.LocalTax = myReader.GetDecimal("LocalTax"); Details.isVATInclusive = myReader.GetBoolean("isVATInclusive"); Details.VariationMatrixID = myReader.GetInt64("VariationMatrixID"); Details.MatrixDescription = "" + myReader["MatrixDescription"].ToString(); Details.ProductGroup = "" + myReader["ProductGroup"].ToString(); Details.ProductSubGroup = "" + myReader["ProductSubGroup"].ToString(); Details.SOItemStatus = (SOItemStatus)Enum.Parse(typeof(SOItemStatus), myReader.GetString("SOItemStatus")); if (myReader["IsVatable"].ToString() == "1") Details.IsVatable = true; Details.Remarks = "" + myReader["Remarks"].ToString(); //Added Jul 1, 2010 4:27PM : For selling suggested selling price information Details.SellingPrice = myReader.GetDecimal("SellingPrice"); Details.SellingVAT = myReader.GetDecimal("SellingVAT"); Details.SellingEVAT = myReader.GetDecimal("SellingEVAT"); Details.SellingLocalTax = myReader.GetDecimal("SellingLocalTax"); } myReader.Close(); return Details; } catch (Exception ex) { throw base.ThrowException(ex); } }
public void Update(SOItemDetails Details) { try { string SQL = "UPDATE tblSOItems SET " + "SOID = @SOID, " + "ProductID = @ProductID, " + "ProductCode = @ProductCode, " + "BarCode = @BarCode, " + "Description = @Description, " + "ProductUnitID = @ProductUnitID, " + "ProductUnitCode = @ProductUnitCode, " + "Quantity = @Quantity, " + "UnitCost = @UnitCost, " + "Discount = @Discount, " + "DiscountApplied = @DiscountApplied, " + "DiscountType = @DiscountType, " + "Amount = @Amount, " + "VAT = @VAT, " + "VatableAmount = @VatableAmount, " + "EVAT = @EVAT, " + "EVatableAmount = @EVatableAmount, " + "LocalTax = @LocalTax, " + "isVATInclusive = @isVATInclusive, " + "VariationMatrixID = @VariationMatrixID, " + "MatrixDescription = @MatrixDescription, " + "ProductGroup = @ProductGroup, " + "ProductSubGroup = @ProductSubGroup, " + "SOItemStatus = @SOItemStatus, " + "IsVatable = @IsVatable, " + "Remarks = @Remarks, " + "ChartOfAccountIDSold = (SELECT ChartOfAccountIDSold FROM tblProducts WHERE ProductID = @ProductID), " + "ChartOfAccountIDTaxSold = (SELECT ChartOfAccountIDTaxSold FROM tblProducts WHERE ProductID = @ProductID), " + "ChartOfAccountIDInventory = (SELECT ChartOfAccountIDInventory FROM tblProducts WHERE ProductID = @ProductID), " + "SellingPrice = @SellingPrice, " + "SellingVAT = @SellingVAT, " + "SellingEVAT = @SellingEVAT, " + "SellingLocalTax = @SellingLocalTax " + "WHERE SOItemID = @SOItemID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmSOID = new MySqlParameter("@SOID",MySqlDbType.Int64); prmSOID.Value = Details.SOID; cmd.Parameters.Add(prmSOID); MySqlParameter prmProductID = new MySqlParameter("@ProductID",MySqlDbType.Int64); prmProductID.Value = Details.ProductID; cmd.Parameters.Add(prmProductID); MySqlParameter prmProductCode = new MySqlParameter("@ProductCode",MySqlDbType.String); prmProductCode.Value = Details.ProductCode; cmd.Parameters.Add(prmProductCode); MySqlParameter prmBarCode = new MySqlParameter("@BarCode",MySqlDbType.String); prmBarCode.Value = Details.BarCode; cmd.Parameters.Add(prmBarCode); MySqlParameter prmDescription = new MySqlParameter("@Description",MySqlDbType.String); prmDescription.Value = Details.Description; cmd.Parameters.Add(prmDescription); MySqlParameter prmProductUnitID = new MySqlParameter("@ProductUnitID",MySqlDbType.Int16); prmProductUnitID.Value = Details.ProductUnitID; cmd.Parameters.Add(prmProductUnitID); MySqlParameter prmProductUnitCode = new MySqlParameter("@ProductUnitCode",MySqlDbType.String); prmProductUnitCode.Value = Details.ProductUnitCode; cmd.Parameters.Add(prmProductUnitCode); MySqlParameter prmQuantity = new MySqlParameter("@Quantity",MySqlDbType.Decimal); prmQuantity.Value = Details.Quantity; cmd.Parameters.Add(prmQuantity); MySqlParameter prmUnitCost = new MySqlParameter("@UnitCost",MySqlDbType.Decimal); prmUnitCost.Value = Details.UnitCost; cmd.Parameters.Add(prmUnitCost); MySqlParameter prmDiscount = new MySqlParameter("@Discount",MySqlDbType.Decimal); prmDiscount.Value = Details.Discount; cmd.Parameters.Add(prmDiscount); MySqlParameter prmDiscountApplied = new MySqlParameter("@DiscountApplied",MySqlDbType.Decimal); prmDiscountApplied.Value = Details.DiscountApplied; cmd.Parameters.Add(prmDiscountApplied); MySqlParameter prmDiscountType = new MySqlParameter("@DiscountType",MySqlDbType.Int16); prmDiscountType.Value = (int)Details.DiscountType; cmd.Parameters.Add(prmDiscountType); MySqlParameter prmAmount = new MySqlParameter("@Amount",MySqlDbType.Decimal); prmAmount.Value = Details.Amount; cmd.Parameters.Add(prmAmount); MySqlParameter prmVAT = new MySqlParameter("@VAT",MySqlDbType.Decimal); prmVAT.Value = Details.VAT; cmd.Parameters.Add(prmVAT); MySqlParameter prmVatableAmount = new MySqlParameter("@VatableAmount",MySqlDbType.Decimal); prmVatableAmount.Value = Details.VatableAmount; cmd.Parameters.Add(prmVatableAmount); MySqlParameter prmEVAT = new MySqlParameter("@EVAT",MySqlDbType.Decimal); prmEVAT.Value = Details.EVAT; cmd.Parameters.Add(prmEVAT); MySqlParameter prmEVatableAmount = new MySqlParameter("@EVatableAmount",MySqlDbType.Decimal); prmEVatableAmount.Value = Details.EVatableAmount; cmd.Parameters.Add(prmEVatableAmount); MySqlParameter prmLocalTax = new MySqlParameter("@LocalTax",MySqlDbType.Decimal); prmLocalTax.Value = Details.LocalTax; cmd.Parameters.Add(prmLocalTax); MySqlParameter prmisVATInclusive = new MySqlParameter("@isVATInclusive",MySqlDbType.Int16); prmisVATInclusive.Value = Convert.ToInt16(Details.isVATInclusive); cmd.Parameters.Add(prmisVATInclusive); MySqlParameter prmVariationMatrixID = new MySqlParameter("@VariationMatrixID",MySqlDbType.Int64); prmVariationMatrixID.Value = Details.VariationMatrixID; cmd.Parameters.Add(prmVariationMatrixID); MySqlParameter prmMatrixDescription = new MySqlParameter("@MatrixDescription",MySqlDbType.String); prmMatrixDescription.Value = Details.MatrixDescription; cmd.Parameters.Add(prmMatrixDescription); MySqlParameter prmProductGroup = new MySqlParameter("@ProductGroup",MySqlDbType.String); prmProductGroup.Value = Details.ProductGroup; cmd.Parameters.Add(prmProductGroup); MySqlParameter prmProductSubGroup = new MySqlParameter("@ProductSubGroup",MySqlDbType.String); prmProductSubGroup.Value = Details.ProductSubGroup; cmd.Parameters.Add(prmProductSubGroup); MySqlParameter prmSOItemStatus = new MySqlParameter("@SOItemStatus",MySqlDbType.Int16); prmSOItemStatus.Value = Details.SOItemStatus.ToString("d"); cmd.Parameters.Add(prmSOItemStatus); MySqlParameter prmIsVatable = new MySqlParameter("@IsVatable",MySqlDbType.Int16); prmIsVatable.Value = Convert.ToInt16(Details.IsVatable); cmd.Parameters.Add(prmIsVatable); MySqlParameter prmRemarks = new MySqlParameter("@Remarks",MySqlDbType.String); prmRemarks.Value = Details.Remarks; cmd.Parameters.Add(prmRemarks); cmd.Parameters.AddWithValue("@SellingPrice", Details.SellingPrice); cmd.Parameters.AddWithValue("@SellingVAT", Details.SellingVAT); cmd.Parameters.AddWithValue("@SellingEVAT", Details.SellingEVAT); cmd.Parameters.AddWithValue("@SellingLocalTax", Details.SellingLocalTax); cmd.Parameters.AddWithValue("@SOItemID", Details.SOItemID); base.ExecuteNonQuery(cmd); SO clsSO = new SO(base.Connection, base.Transaction); clsSO.SynchronizeAmount(Details.SOID); } catch (Exception ex) { throw base.ThrowException(ex); } }