public void setItemAsDemo(Int64 TransactionItemID, DateTime TransactionDate) { SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.setItemAsDemo(TransactionItemID); }
public void ReturnItem(Int64 TransactionItemID) { SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.Return(TransactionItemID); }
public void VoidItem(Int64 TransactionItemID, DateTime TransactionDate) { SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.Void(TransactionItemID); }
public Int64 AddItem(SalesTransactionDetails SalesTransactionDetails, SalesTransactionItemDetails SalesTransItemDetails) { try { UpdateSubTotal(SalesTransactionDetails.TransactionID, SalesTransactionDetails.ItemSold, SalesTransactionDetails.QuantitySold, SalesTransactionDetails.GrossSales, SalesTransactionDetails.SubTotal, SalesTransactionDetails.NetSales, SalesTransactionDetails.ItemsDiscount, SalesTransactionDetails.SNRItemsDiscount, SalesTransactionDetails.PWDItemsDiscount, SalesTransactionDetails.OtherItemsDiscount, SalesTransactionDetails.Discount, SalesTransactionDetails.SNRDiscount, SalesTransactionDetails.PWDDiscount, SalesTransactionDetails.OtherDiscount, SalesTransactionDetails.TransDiscount, SalesTransactionDetails.TransDiscountType, SalesTransactionDetails.VAT, SalesTransactionDetails.VATableAmount, SalesTransactionDetails.ZeroRatedSales, SalesTransactionDetails.NonVATableAmount, SalesTransactionDetails.VATExempt, SalesTransactionDetails.EVAT, SalesTransactionDetails.EVATableAmount, SalesTransactionDetails.NonEVATableAmount, SalesTransactionDetails.LocalTax, SalesTransactionDetails.DiscountCode, SalesTransactionDetails.DiscountRemarks, SalesTransactionDetails.Charge, SalesTransactionDetails.ChargeAmount, SalesTransactionDetails.ChargeCode, SalesTransactionDetails.ChargeRemarks, SalesTransactionDetails.ChargeType); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); Int64 TransactionItemID = clsSalesTransactionItems.Insert(SalesTransItemDetails); return TransactionItemID; } catch (Exception ex) { throw base.ThrowException(ex); } }
public Int64 AddItem(Int64 TransactionID, decimal ItemSold, decimal QuantitySold, decimal GrossSales, decimal SubTotal, decimal NetSales, decimal ItemsDiscount, decimal SNRItemsDiscount, decimal PWDItemsDiscount, decimal OtherItemsDiscount, decimal Discount, decimal SNRDiscount, decimal PWDDiscount, decimal OtherDiscount, decimal TransDiscount, DiscountTypes TransDiscountType, decimal VAT, decimal VATableAmount, decimal ZeroRatedSales, decimal NonVATableAmount, decimal VATExempt, decimal EVAT, decimal EVATableAmount, decimal NonEVATableAmount, decimal LocalTax, string DiscountCode, string DiscountRemarks, decimal Charge, decimal ChargeAmount, string ChargeCode, string ChargeRemarks, ChargeTypes ChargeType, SalesTransactionItemDetails SalesTransItemDetails) { try { UpdateSubTotal(TransactionID, ItemSold, QuantitySold, GrossSales, SubTotal, NetSales, ItemsDiscount, SNRItemsDiscount, PWDItemsDiscount, OtherItemsDiscount, Discount, SNRDiscount, PWDDiscount, OtherDiscount, TransDiscount, TransDiscountType, VAT, VATableAmount, ZeroRatedSales, NonVATableAmount, VATExempt, EVAT, EVATableAmount, NonEVATableAmount, LocalTax, DiscountCode, DiscountRemarks, Charge, ChargeAmount, ChargeCode, ChargeRemarks, ChargeType); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); Int64 TransactionItemID = clsSalesTransactionItems.Insert(SalesTransItemDetails); return TransactionItemID; } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SetDataSource(ReportDocument Report) { // ReportDataset rptds = new ReportDataset(); DateTime StartTransactionDate = DateTime.MinValue; try { StartTransactionDate = Convert.ToDateTime(txtStartTransactionDate.Text + " " + txtStartTime.Text); } catch{} DateTime EndTransactionDate = DateTime.MinValue; try { EndTransactionDate = Convert.ToDateTime(txtEndTransactionDate.Text + " " + txtEndTime.Text); } catch{} Int32 Limit = 0; try { Limit = Convert.ToInt32(txtLimit.Text); } catch{} System.Data.DataSet ds = new System.Data.DataSet(); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(); ds.Tables.Add(clsSalesTransactionItems.MostSalableItems(StartTransactionDate, EndTransactionDate, Limit)); clsSalesTransactionItems.CommitAndDispose(); Report.SetDataSource(ds); SetParameters(Report); }
public void Refund(TransactionStatus RefundTransactionStatus, Int64 TransactionID, string ORNo, decimal ItemSold, decimal QuantitySold, decimal GrossSales, decimal SubTotal, decimal NetSales, decimal ItemsDiscount, decimal SNRItemsDiscount, decimal PWDItemsDiscount, decimal OtherItemsDiscount, decimal Discount, decimal SNRDiscount, decimal PWDDiscount, decimal OtherDiscount, decimal TransDiscount, DiscountTypes TransDiscountType, decimal VAT, decimal VATableAmount, decimal ZeroRatedSales, decimal NonVATableAmount, decimal VATExempt, decimal EVAT, decimal EVATableAmount, decimal NonEVATableAmount, decimal LocalTax, decimal AmountPaid, decimal CashPayment, decimal ChequePayment, decimal CreditCardPayment, decimal CreditPayment, decimal DebitPayment, decimal RewardPointsPayment, decimal RewardConvertedPayment, decimal BalanceAmount, decimal ChangeAmount, PaymentTypes PaymentType, string DiscountCode, string DiscountRemarks, decimal Charge, decimal ChargeAmount, string ChargeCode, string ChargeRemarks, Int64 CashierID, string CashierName) { try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; string SQL = "UPDATE tblTransactions SET " + "ORNo = @ORNo, " + "TransactionStatus = @TransactionStatus, " + "ItemSold = @ItemSold, " + "QuantitySold = @QuantitySold, " + "GrossSales = @GrossSales, " + "SubTotal = @SubTotal, " + "NetSales = @NetSales, " + "ItemsDiscount = @ItemsDiscount, " + "SNRItemsDiscount = @SNRItemsDiscount, " + "PWDItemsDiscount = @PWDItemsDiscount, " + "OtherItemsDiscount = @OtherItemsDiscount, " + "Discount = @Discount, " + "SNRDiscount = @SNRDiscount, " + "PWDDiscount = @PWDDiscount, " + "OtherDiscount = @OtherDiscount, " + "TransDiscount = @TransDiscount, " + "TransDiscountType = @TransDiscType, " + "VAT = @VAT, " + "VATableAmount = @VATableAmount, " + "ZeroRatedSales = @ZeroRatedSales, " + "NonVATableAmount = @NonVATableAmount, " + "VATExempt = @VATExempt, " + "EVAT = @EVAT, " + "EVATableAmount = @EVATableAmount, " + "NonEVATableAmount = @NonEVATableAmount, " + "LocalTax = @LocalTax, " + "AmountPaid = @AmountPaid, " + "CashPayment = @CashPayment, " + "ChequePayment = @ChequePayment, " + "CreditCardPayment = @CreditCardPayment, " + "CreditPayment = @CreditPayment, " + "DebitPayment = @DebitPayment, " + "RewardPointsPayment = @RewardPointsPayment, " + "RewardConvertedPayment = @RewardConvertedPayment, " + "BalanceAmount = @BalanceAmount, " + "ChangeAmount = @ChangeAmount, " + "DateClosed = NOW(), " + "PaymentType = @PaymentType, " + "DiscountCode = @DiscCode, " + "DiscountRemarks = @DiscRemarks, " + "Charge = @Charge, " + "ChargeAmount = @ChargeAmount, " + "ChargeCode = @ChargeCode, " + "ChargeRemarks = @ChargeRemarks, " + "CashierID = @CashierID, " + "CashierName = @CashierName, " + "LastModified = NOW() " + "WHERE TransactionID = @TransactionID;"; cmd.Parameters.AddWithValue("ORNo", ORNo); cmd.Parameters.AddWithValue("TransactionStatus", RefundTransactionStatus.ToString("d")); cmd.Parameters.AddWithValue("ItemSold", ItemSold); cmd.Parameters.AddWithValue("QuantitySold", QuantitySold); cmd.Parameters.AddWithValue("GrossSales", GrossSales); cmd.Parameters.AddWithValue("SubTotal", SubTotal); cmd.Parameters.AddWithValue("NetSales", NetSales); cmd.Parameters.AddWithValue("ItemsDiscount", ItemsDiscount); cmd.Parameters.AddWithValue("SNRItemsDiscount", SNRItemsDiscount); cmd.Parameters.AddWithValue("PWDItemsDiscount", PWDItemsDiscount); cmd.Parameters.AddWithValue("OtherItemsDiscount", OtherItemsDiscount); cmd.Parameters.AddWithValue("Discount", Discount); cmd.Parameters.AddWithValue("SNRDiscount", SNRDiscount); cmd.Parameters.AddWithValue("PWDDiscount", PWDDiscount); cmd.Parameters.AddWithValue("OtherDiscount", OtherDiscount); cmd.Parameters.AddWithValue("TransDiscount", TransDiscount); cmd.Parameters.AddWithValue("TransDiscType", TransDiscountType.ToString("d")); cmd.Parameters.AddWithValue("VAT", VAT); cmd.Parameters.AddWithValue("VATableAmount", VATableAmount); cmd.Parameters.AddWithValue("ZeroRatedSales", ZeroRatedSales); cmd.Parameters.AddWithValue("NonVATableAmount", NonVATableAmount); cmd.Parameters.AddWithValue("VATExempt", VATExempt); cmd.Parameters.AddWithValue("EVAT", EVAT); cmd.Parameters.AddWithValue("EVATableAmount", EVATableAmount); cmd.Parameters.AddWithValue("NonEVATableAmount", NonEVATableAmount); cmd.Parameters.AddWithValue("LocalTax", LocalTax); cmd.Parameters.AddWithValue("AmountPaid", AmountPaid); cmd.Parameters.AddWithValue("CashPayment", CashPayment); cmd.Parameters.AddWithValue("ChequePayment", ChequePayment); cmd.Parameters.AddWithValue("CreditCardPayment", CreditCardPayment); cmd.Parameters.AddWithValue("CreditPayment", CreditPayment); cmd.Parameters.AddWithValue("DebitPayment", DebitPayment); cmd.Parameters.AddWithValue("RewardPointsPayment", RewardPointsPayment); cmd.Parameters.AddWithValue("RewardConvertedPayment", RewardConvertedPayment); cmd.Parameters.AddWithValue("BalanceAmount", BalanceAmount); cmd.Parameters.AddWithValue("ChangeAmount", ChangeAmount); cmd.Parameters.AddWithValue("PaymentType", PaymentType.ToString("d")); cmd.Parameters.AddWithValue("DiscCode", string.IsNullOrEmpty(DiscountCode) ? "" : DiscountCode); cmd.Parameters.AddWithValue("DiscRemarks", DiscountRemarks); cmd.Parameters.AddWithValue("Charge", Charge); cmd.Parameters.AddWithValue("ChargeAmount", ChargeAmount); cmd.Parameters.AddWithValue("ChargeCode", ChargeCode); cmd.Parameters.AddWithValue("ChargeRemarks", string.IsNullOrEmpty(ChargeRemarks) ? "" : ChargeRemarks); cmd.Parameters.AddWithValue("CashierID", CashierID); cmd.Parameters.AddWithValue("CashierName", CashierName); cmd.Parameters.AddWithValue("TransactionID", TransactionID); cmd.CommandText = SQL; base.ExecuteNonQuery(cmd); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.RefundByTransaction(TransactionID); } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SetDataSource(ReportDocument Report) { ReportDataset rptds = new ReportDataset(); DataRow drNew; /****************************sales transaction *****************************/ SalesTransactions clsSalesTransactions = new SalesTransactions(); SalesTransactionDetails clsDetails = clsSalesTransactions.Details(txtTransactionNo.Text, txtTerminalNo.Text, int.Parse(cboBranch.SelectedItem.Value)); clsSalesTransactions.CommitAndDispose(); if (clsDetails.isExist == true ) { drNew = rptds.Transactions.NewRow(); drNew["BranchCode"] = clsDetails.BranchCode; drNew["TransactionID"] = clsDetails.TransactionID; drNew["TransactionNo"] = clsDetails.TransactionNo; drNew["CustomerName"] = clsDetails.CustomerName; drNew["CashierName"] = clsDetails.CashierName; drNew["TerminalNo"] = clsDetails.TerminalNo; drNew["TransactionDate"] = clsDetails.TransactionDate; drNew["DateSuspended"] = clsDetails.DateSuspended.ToString(); drNew["DateResumed"] = clsDetails.DateResumed; drNew["TransactionStatus"] = clsDetails.TransactionStatus; drNew["SubTotal"] = clsDetails.SubTotal; drNew["ItemsDiscount"] = clsDetails.ItemsDiscount; drNew["Discount"] = clsDetails.Discount; drNew["VAT"] = clsDetails.VAT; drNew["VatableAmount"] = clsDetails.VATableAmount; drNew["LocalTax"] = clsDetails.LocalTax; drNew["AmountPaid"] = clsDetails.AmountPaid; drNew["CashPayment"] = clsDetails.CashPayment; drNew["ChequePayment"] = clsDetails.ChequePayment; drNew["CreditCardPayment"] = clsDetails.CreditCardPayment; drNew["BalanceAmount"] = clsDetails.BalanceAmount; drNew["ChangeAmount"] = clsDetails.ChangeAmount; drNew["DateClosed"] = clsDetails.DateClosed; drNew["PaymentType"] = clsDetails.PaymentType.ToString("d"); drNew["ItemsDiscount"] = clsDetails.ItemsDiscount; drNew["Charge"] = clsDetails.Charge; drNew["CreditPayment"] = clsDetails.CreditPayment; drNew["CreatedByName"] = clsDetails.CreatedByName; rptds.Transactions.Rows.Add(drNew); /****************************sales transaction items*****************************/ SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(); System.Data.DataTable dt = clsSalesTransactionItems.List(clsDetails.TransactionID, clsDetails.TransactionDate,"TransactionItemsID",SortOption.Ascending); clsSalesTransactionItems.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { drNew = rptds.TransactionItems.NewRow(); foreach (DataColumn dc in rptds.TransactionItems.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.TransactionItems.Rows.Add(drNew); } } Report.SetDataSource(rptds); SetParameters(Report); }
public void CloseAsOrderSlip(Int64 TransactionID) { try { string SQL = "UPDATE tblTransactions SET " + "TransactionStatus = @TransactionStatus, " + "LastModified = NOW() " + "WHERE TransactionID = @TransactionID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmTransactionID = new MySqlParameter("@TransactionID",MySqlDbType.Int64); prmTransactionID.Value = TransactionID; cmd.Parameters.Add(prmTransactionID); MySqlParameter prmTransactionStatus = new MySqlParameter("@TransactionStatus",MySqlDbType.Int16); prmTransactionStatus.Value = TransactionStatus.OrderSlip.ToString("d"); cmd.Parameters.Add(prmTransactionStatus); base.ExecuteNonQuery(cmd); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.CloseAsOrderSlip(TransactionID); } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SetDataSource(ReportDocument Report) { ReportDataset rptds = new ReportDataset(); Int64 intProductID = 0; if (cboProductCode.Items.Count > 0) intProductID = Int64.Parse(cboProductCode.SelectedItem.Value); Int64 intMatrixID = 0; if (cboVariation.Items.Count > 0) intMatrixID = Int64.Parse(cboVariation.SelectedItem.Value); DateTime DateFrom = DateTime.MinValue; DateFrom = DateTime.TryParse(txtStartDate.Text + " " + txtStartTime.Text, out DateFrom) ? DateFrom : DateTime.MinValue; DateTime DateTo = DateTime.MinValue; DateTo = DateTime.TryParse(txtEndDate.Text + " " + txtEndTime.Text, out DateTo) ? DateTo : DateTime.MinValue; Int32 intLimit = 0; intLimit = Int32.TryParse(txtLimit.Text, out intLimit) ? intLimit : 0; Int32 intBranchID = 0; intBranchID = Int32.TryParse(cboBranch.SelectedItem.Value, out intBranchID) ? intBranchID : 0; switch (cboReportType.SelectedValue) { case ReportTypes.ProductHistoryMovement: #region Product History Movement StockItem clsStockItem = new StockItem(); System.Data.DataTable dtProductHistoryMovement = clsStockItem.ProductMovementReport(intProductID, intMatrixID, DateFrom, DateTo, intBranchID); clsStockItem.CommitAndDispose(); foreach (DataRow dr in dtProductHistoryMovement.Rows) { DataRow drNew = rptds.ProductMovement.NewRow(); foreach (DataColumn dc in rptds.ProductMovement.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ProductMovement.Rows.Add(drNew); } break; #endregion case ReportTypes.ProductHistoryPrice: #region Product price history ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(); clsProductPackagePriceHistory.GetConnection(); System.Data.DataTable dtProductList = clsProductPackagePriceHistory.List(DateFrom, DateTo, intProductID); clsProductPackagePriceHistory.CommitAndDispose(); foreach (DataRow dr in dtProductList.Rows) { DataRow drNew = rptds.ProductPriceHistory.NewRow(); foreach (DataColumn dc in rptds.ProductPriceHistory.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ProductPriceHistory.Rows.Add(drNew); } break; #endregion case ReportTypes.ProductHistoryMostSaleable: #region Most Saleable SalesTransactionItems clsSalesTransactionItemsMost = new SalesTransactionItems(); System.Data.DataTable dtMostSaleable = clsSalesTransactionItemsMost.MostSalableItems(DateFrom, DateTo, intLimit); clsSalesTransactionItemsMost.CommitAndDispose(); foreach (DataRow dr in dtMostSaleable.Rows) { DataRow drNew = rptds.MostSalableItems.NewRow(); foreach (DataColumn dc in rptds.MostSalableItems.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.MostSalableItems.Rows.Add(drNew); } break; #endregion case ReportTypes.ProductHistoryLeastSaleable: #region Least Saleable SalesTransactionItems clsSalesTransactionItemsLeast = new SalesTransactionItems(); System.Data.DataTable dtLeastSaleable = clsSalesTransactionItemsLeast.LeastSalableItems(DateFrom, DateTo, intLimit); clsSalesTransactionItemsLeast.CommitAndDispose(); foreach (DataRow dr in dtLeastSaleable.Rows) { DataRow drNew = rptds.LeastSalableItems.NewRow(); foreach (DataColumn dc in rptds.LeastSalableItems.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.LeastSalableItems.Rows.Add(drNew); } break; #endregion } Report.SetDataSource(rptds); SetParameters(Report); }
public SalesTransactionItemDetails[] Details(Int64 TransactionID, DateTime TransactionDate) { try { SalesTransactionItems clsItems = new SalesTransactionItems(base.Connection, base.Transaction); System.Data.DataTable dt = clsItems.List(TransactionID, TransactionDate, "TransactionItemsID", SortOption.Ascending); ArrayList items = new ArrayList(); int itemno = 1; foreach(System.Data.DataRow dr in dt.Rows) { Data.SalesTransactionItemDetails itemDetails = new Data.SalesTransactionItemDetails(); itemDetails.ItemNo = itemno.ToString(); itemDetails.TransactionItemsID = Int64.Parse(dr["TransactionItemsID"].ToString()); itemDetails.ReturnTransactionItemsID = Int64.Parse(dr["ReturnTransactionItemsID"].ToString()); itemDetails.RefReturnTransactionItemsID = Int64.Parse(dr["RefReturnTransactionItemsID"].ToString()); itemDetails.TransactionID = Int64.Parse(dr["TransactionID"].ToString()); itemDetails.ProductID = Int64.Parse(dr["ProductID"].ToString()); itemDetails.ProductCode = "" + dr["ProductCode"].ToString(); itemDetails.BarCode = "" + dr["BarCode"].ToString(); itemDetails.Description = "" + dr["Description"].ToString(); itemDetails.ProductUnitID = Int32.Parse(dr["ProductUnitID"].ToString()); itemDetails.ProductUnitCode = "" + dr["ProductUnitCode"].ToString(); itemDetails.Quantity = decimal.Parse(dr["Quantity"].ToString()); itemDetails.Price = decimal.Parse(dr["Price"].ToString()); itemDetails.Discount = decimal.Parse(dr["Discount"].ToString()); itemDetails.ItemDiscount = decimal.Parse(dr["ItemDiscount"].ToString()); itemDetails.ItemDiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), dr["ItemDiscountType"].ToString()); itemDetails.Amount = decimal.Parse(dr["Amount"].ToString()); itemDetails.VAT = decimal.Parse(dr["VAT"].ToString()); itemDetails.VatableAmount = decimal.Parse(dr["VatableAmount"].ToString()); itemDetails.NonVatableAmount = decimal.Parse(dr["NonVatableAmount"].ToString()); itemDetails.VATExempt = decimal.Parse(dr["VATExempt"].ToString()); itemDetails.EVAT = decimal.Parse(dr["EVAT"].ToString()); itemDetails.LocalTax = decimal.Parse(dr["LocalTax"].ToString()); itemDetails.VariationsMatrixID = Int64.Parse(dr["VariationsMatrixID"].ToString()); itemDetails.MatrixDescription = "" + dr["MatrixDescription"].ToString(); itemDetails.ProductGroup = "" + dr["ProductGroup"].ToString(); itemDetails.ProductSubGroup = "" + dr["ProductSubGroup"].ToString(); itemDetails.TransactionDate = TransactionDate; itemDetails.TransactionItemStatus = (TransactionItemStatus)Enum.Parse(typeof(TransactionItemStatus), dr["TransactionItemStatus"].ToString()); itemDetails.DiscountCode = "" + dr["DiscountCode"].ToString(); itemDetails.DiscountRemarks = "" + dr["DiscountRemarks"].ToString(); itemDetails.ProductPackageID = Int64.Parse(dr["ProductPackageID"].ToString()); itemDetails.MatrixPackageID = Int64.Parse(dr["MatrixPackageID"].ToString()); itemDetails.PackageQuantity = decimal.Parse(dr["PackageQuantity"].ToString()); itemDetails.PromoQuantity = decimal.Parse(dr["PromoQuantity"].ToString()); itemDetails.PromoValue = decimal.Parse(dr["PromoValue"].ToString()); itemDetails.PromoInPercent = bool.Parse(dr["PromoInPercent"].ToString()); itemDetails.PromoType = (PromoTypes)Enum.Parse(typeof(PromoTypes), dr["PromoType"].ToString()); itemDetails.PromoApplied = decimal.Parse(dr["PromoApplied"].ToString()); itemDetails.PurchasePrice = decimal.Parse(dr["PurchasePrice"].ToString()); itemDetails.PurchaseAmount = decimal.Parse(dr["PurchaseAmount"].ToString()); itemDetails.IncludeInSubtotalDiscount = bool.Parse(dr["IncludeInSubtotalDiscount"].ToString()); itemDetails.IsCreditChargeExcluded = bool.Parse(dr["IsCreditChargeExcluded"].ToString()); itemDetails.OrderSlipPrinter1 = bool.Parse(dr["OrderSlipPrinter1"].ToString()); itemDetails.OrderSlipPrinter2 = bool.Parse(dr["OrderSlipPrinter2"].ToString()); itemDetails.OrderSlipPrinter3 = bool.Parse(dr["OrderSlipPrinter3"].ToString()); itemDetails.OrderSlipPrinter4 = bool.Parse(dr["OrderSlipPrinter4"].ToString()); itemDetails.OrderSlipPrinter5 = bool.Parse(dr["OrderSlipPrinter5"].ToString()); itemDetails.OrderSlipPrinted = Convert.ToBoolean(dr["OrderSlipPrinted"]); itemDetails.PercentageCommision = decimal.Parse(dr["PercentageCommision"].ToString()); itemDetails.Commision = decimal.Parse(dr["Commision"].ToString()); itemDetails.RewardPoints = decimal.Parse(dr["RewardPoints"].ToString()); itemDetails.PaxNo = Int32.Parse(dr["PaxNo"].ToString()); itemDetails.SupplierID = Int64.Parse(dr["SupplierID"].ToString()); itemDetails.SupplierCode = "" + dr["SupplierCode"].ToString(); itemDetails.SupplierName = "" + dr["SupplierName"].ToString(); itemDetails.ItemRemarks = "" + dr["ItemRemarks"].ToString(); if (itemDetails.TransactionItemStatus == TransactionItemStatus.Return) { itemDetails.Amount = -itemDetails.Amount; itemDetails.Commision = -itemDetails.Commision; itemDetails.RewardPoints = -itemDetails.RewardPoints; } else if (itemDetails.TransactionItemStatus == TransactionItemStatus.Refund) { itemDetails.Amount = -itemDetails.Amount; itemDetails.Commision = -itemDetails.Commision; itemDetails.RewardPoints = -itemDetails.RewardPoints; } else if (itemDetails.TransactionItemStatus == TransactionItemStatus.Void) { itemDetails.Amount = 0; itemDetails.Commision = 0; itemDetails.RewardPoints = 0; } //else // itemDetails.Amount = itemDetails.Amount; items.Add(itemDetails); itemno++; } SalesTransactionItemDetails[] TransactionItems = new SalesTransactionItemDetails[0]; if (items != null) { TransactionItems = new SalesTransactionItemDetails[items.Count]; items.CopyTo(TransactionItems); } return TransactionItems; } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SetDataSource(ReportDocument Report) { DateTime StartTransactionDate = DateTime.MinValue; try { StartTransactionDate = Convert.ToDateTime(txtStartTransactionDate.Text + " " + txtStartTime.Text); } catch { } DateTime EndTransactionDate = DateTime.MinValue; try { EndTransactionDate = Convert.ToDateTime(txtEndTransactionDate.Text + " " + txtEndTime.Text); } catch { } System.Data.DataSet ds = new System.Data.DataSet(); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(); if (cboContactCode.SelectedItem.Value != "0") ds.Tables.Add(clsSalesTransactionItems.AgentsCommision(long.Parse(cboContactCode.SelectedValue), StartTransactionDate, EndTransactionDate)); else ds.Tables.Add(clsSalesTransactionItems.AgentsCommision(cboDepartment.SelectedItem.Text, cboPosition.SelectedItem.Text, StartTransactionDate, EndTransactionDate)); clsSalesTransactionItems.CommitAndDispose(); Report.SetDataSource(ds); SetParameters(Report); }
private void SetDataSource(ReportDocument Report) { ReportDataset rptds = new ReportDataset(); //long lngProductGroupName = long.Parse(cboProductGroup.SelectedItem.Value); //long lngSubGroupName = long.Parse(cboSubGroup.SelectedItem.Value); string ProductGroupName = string.Empty; if (cboProductGroup.SelectedItem.Value != Constants.ZERO_STRING) ProductGroupName = cboProductGroup.SelectedItem.Value; string SubGroupName = string.Empty; if (cboSubGroup.SelectedItem.Value != Constants.ZERO_STRING) SubGroupName = cboSubGroup.SelectedItem.Value; string ReportType = cboReportType.SelectedItem.Text; ProductColumns clsProductColumns = new ProductColumns(); #region clsProductColumns clsProductColumns.ProductCode = true; clsProductColumns.BarCode = true; clsProductColumns.BarCode2 = true; clsProductColumns.BarCode3 = true; clsProductColumns.ProductDesc = true; clsProductColumns.ProductSubGroupName = true; clsProductColumns.BaseUnitName = true; clsProductColumns.UnitName = true; clsProductColumns.ProductGroupName = true; clsProductColumns.DateCreated = true; clsProductColumns.Price = true; clsProductColumns.Quantity = true; clsProductColumns.MinThreshold = true; clsProductColumns.MaxThreshold = true; clsProductColumns.PurchasePrice = true; clsProductColumns.SupplierName = true; clsProductColumns.QuantityIN = true; clsProductColumns.QuantityOUT = true; clsProductColumns.RIDMinThreshold = true; clsProductColumns.RIDMaxThreshold = true; clsProductColumns.RID = true; //clsProductColumns.BranchActualQuantity = true; //clsProductColumns.BranchQuantity = true; //clsProductColumns.BranchQuantityIN = true; //clsProductColumns.BranchQuantityOUT = true; #endregion ProductDetails clsSearchKey = new ProductDetails(); #region Search Key clsSearchKey.BranchID = Convert.ToInt32(cboBranch.SelectedItem.Value); clsSearchKey.SupplierID = Convert.ToInt32(cboContact.SelectedItem.Value); clsSearchKey.ProductGroupID = Convert.ToInt64(cboProductGroup.SelectedItem.Value); clsSearchKey.ProductSubGroupID = Convert.ToInt64(cboSubGroup.SelectedItem.Value); clsSearchKey.ProductCode = txtProductCode.Text; #endregion Products clsProduct = new Products(); clsProduct.GetConnection(); ProductInventories clsProductInventories = new ProductInventories(clsProduct.Connection, clsProduct.Transaction); DataTable dt; string ProductIDs = null; switch (cboReportType.SelectedValue) { case ReportTypes.ProductList: #region Products List dt = clsProductInventories.ListAsDataTable(Int32.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); } break; #endregion case ReportTypes.ProductPriceList: #region Products Price List dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); ProductIDs += dr["ProductID"].ToString() + ","; } break; #endregion case ReportTypes.ProductListWithInvalidMatrix: #region Products List With Invalid Unit Matrix dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text, ShowOnlyWithInvalidUnitMatrix: true); clsProduct.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); } break; #endregion case ReportTypes.WeightedProductsForWeighingScale: case ReportTypes.CountedProductsForWeighingScale: #region Weighted and Counted Products For Weighing Scale dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { if (dr[ProductColumnNames.BarCode].ToString() != null && dr[ProductColumnNames.BarCode].ToString() != string.Empty) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); ProductIDs += dr["ProductID"].ToString() + ","; } } break; #endregion case ReportTypes.ProductsInDemoReport: #region Products In Demo DateTime StartTransactionDate = DateTime.TryParse(txtStartDate.Text + " " + txtStartTime.Text, out StartTransactionDate) ? StartTransactionDate : DateTime.MinValue; DateTime EndTransactionDate = DateTime.TryParse(txtEndDate.Text + " " + txtEndTime.Text, out EndTransactionDate) ? EndTransactionDate : DateTime.MinValue; SalesTransactionItems clsSalesTransactionItemsDemo = new SalesTransactionItems(); System.Data.DataTable dtDemo = clsSalesTransactionItemsDemo.ProductsInDemoReport(Int32.Parse(cboBranch.SelectedItem.Value), Int64.Parse(cboContact.SelectedItem.Value), cboProductGroup.SelectedItem.Text, cboSubGroup.SelectedItem.Text, txtProductCode.Text, "", StartTransactionDate, EndTransactionDate); clsSalesTransactionItemsDemo.CommitAndDispose(); foreach (DataRow dr in dtDemo.Rows) { DataRow drNew = rptds.ProductsInDemo.NewRow(); foreach (DataColumn dc in rptds.ProductsInDemo.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ProductsInDemo.Rows.Add(drNew); } break; #endregion default: return; } Report.SetDataSource(rptds); SetParameters(Report); }
private void SetDataSource(ReportDocument Report) { string strProductGroup = cboProductGroup.SelectedItem.Text == Constants.ALL ? string.Empty : cboProductGroup.SelectedItem.Text; string TransactionNo = txtTransactionNo.Text; string CustomerGroupName = cboContactGroupName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboContactGroupName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboContactGroupName.SelectedItem.Text; string CustomerName = cboContactName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboContactName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE","").Trim() : cboContactName.SelectedItem.Text; string AgentName = cboAgent.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboAgent.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboAgent.SelectedItem.Text; string CashierName = cboCashierName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboCashierName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboCashierName.SelectedItem.Text; string TerminalNo = cboTerminalNo.SelectedItem.Text == Constants.ALL ? string.Empty : cboTerminalNo.SelectedItem.Text; DateTime StartValidityDate = DateTime.TryParse(txtStartValidityDate.Text + " 00:00:00" + txtStartTime.Text, out StartValidityDate) ? StartValidityDate : DateTime.MinValue; DateTime EndValidityDate = DateTime.TryParse(txtEndValidityDate.Text + " 23:59:59", out EndValidityDate) ? EndValidityDate : DateTime.MinValue; DateTime StartTransactionDate = DateTime.TryParse(txtStartTransactionDate.Text + " " + txtStartTime.Text, out StartTransactionDate) ? StartTransactionDate : DateTime.MinValue; DateTime EndTransactionDate = DateTime.TryParse(txtEndTransactionDate.Text + " " + txtEndTime.Text, out EndTransactionDate) ? EndTransactionDate : DateTime.MinValue; TransactionStatus Status = (TransactionStatus)Enum.Parse(typeof(TransactionStatus), cboTransactionStatus.SelectedItem.Value); PaymentTypes PaymentType = (PaymentTypes)Enum.Parse(typeof(PaymentTypes), cboPaymentType.SelectedItem.Value); DataTable dt = new DataTable(); ReportDataset rptds = new ReportDataset(); SalesTransactions clsSalesTransactions; SalesTransactionItems clsSalesTransactionItems; SalesTransactionsColumns clsSalesTransactionsColumns = new SalesTransactionsColumns(); #region clsSalesTransactionsColumns clsSalesTransactionsColumns.BranchCode = true; clsSalesTransactionsColumns.TransactionNo = true; clsSalesTransactionsColumns.CustomerName = true; clsSalesTransactionsColumns.CustomerGroupName = true; clsSalesTransactionsColumns.CashierName = true; clsSalesTransactionsColumns.TerminalNo = true; clsSalesTransactionsColumns.TransactionDate = true; clsSalesTransactionsColumns.DateSuspended = true; clsSalesTransactionsColumns.DateResumed = true; clsSalesTransactionsColumns.TransactionStatus = true; clsSalesTransactionsColumns.SubTotal = true; clsSalesTransactionsColumns.Discount = true; clsSalesTransactionsColumns.VAT = true; clsSalesTransactionsColumns.VATableAmount = true; clsSalesTransactionsColumns.LocalTax = true; clsSalesTransactionsColumns.AmountPaid = true; clsSalesTransactionsColumns.CashPayment = true; clsSalesTransactionsColumns.ChequePayment = true; clsSalesTransactionsColumns.CreditCardPayment = true; clsSalesTransactionsColumns.BalanceAmount = true; clsSalesTransactionsColumns.ChangeAmount = true; clsSalesTransactionsColumns.DateClosed = true; clsSalesTransactionsColumns.PaymentType = true; clsSalesTransactionsColumns.ItemsDiscount = true; clsSalesTransactionsColumns.Charge = true; clsSalesTransactionsColumns.CreditPayment = true; clsSalesTransactionsColumns.CreatedByName = true; clsSalesTransactionsColumns.AgentName = true; clsSalesTransactionsColumns.PaxNo = true; #endregion SalesTransactionDetails clsSearchKey = new SalesTransactionDetails(); clsSearchKey = new SalesTransactionDetails(); clsSearchKey.TransactionNo = TransactionNo; clsSearchKey.CustomerGroupName = CustomerGroupName; clsSearchKey.CustomerName = CustomerName; clsSearchKey.CashierName = CashierName; clsSearchKey.TerminalNo = TerminalNo; clsSearchKey.BranchID = int.Parse(cboBranch.SelectedItem.Value); clsSearchKey.TransactionDateFrom = StartTransactionDate; clsSearchKey.TransactionDateTo = EndTransactionDate; clsSearchKey.TransactionStatus = Status; clsSearchKey.PaymentType = PaymentType; clsSearchKey.AgentName = AgentName; clsSearchKey.isConsignmentSearch = cboConsignment.SelectedItem.Value; if (clsSearchKey.isConsignmentSearch != "-1") { clsSearchKey.isConsignment = bool.Parse(cboConsignment.SelectedItem.Value); } bool boWithTrustFund = true; string strReportType = cboReportType.SelectedValue; switch (strReportType) { case ReportTypes.SalesPerHour: #region Sales Per Hour clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.SalesPerHour(string.Empty, string.Empty, StartTransactionDate, EndTransactionDate,0, cboTerminalNo.SelectedItem.Text); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SalesPerHour.NewRow(); foreach (DataColumn dc in rptds.SalesPerHour.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.SalesPerHour.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesPerDay: //case ReportTypes.SalesPerDayWithTF: #region Sales Per Day if (strReportType == ReportTypes.SalesPerDay) boWithTrustFund = false; clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey.BranchID, clsSearchKey.TerminalNo, TransactionStatus: clsSearchKey.TransactionStatus, TransactionDateFrom: StartTransactionDate, TransactionDateTo: EndTransactionDate, WithTF: boWithTrustFund); //dt = clsSalesTransactions.SalesPerDay(StartTransactionDate, EndTransactionDate, boWithTrustFund); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.SummarizeDailySales: //case ReportTypes.SummarizeDailySalesWithTF: #region SummarizeDailySales if (strReportType == ReportTypes.SummarizeDailySales) boWithTrustFund = false; Data.TerminalReportHistory clsTerminalReportHistory = new Data.TerminalReportHistory(); dt = clsTerminalReportHistory.SummarizedDailySalesReport(Int32.Parse(cboBranch.SelectedItem.Value), TerminalNo, false, StartTransactionDate, EndTransactionDate, boWithTrustFund); clsTerminalReportHistory.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SalesReport.NewRow(); foreach (DataColumn dc in rptds.SalesReport.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.SalesReport.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesTransactions: #region Sales Transactions clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "TransactionNo", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "TransactionNo", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesTransactionPerCustomer: case ReportTypes.SalesTransactionPerCustomerPerGroup: case ReportTypes.SalesTransactionPerCustomerPerGroupSummarized: case ReportTypes.SalesTransactionPerCustomerWithCheque: case ReportTypes.SalesTransactionPerCashierPerCustomer: #region Sales Transaction Per Customer clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "CustomerName", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "CustomerName", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesTransactionPerCustomerPerItem: #region Sales Transaction Per Customer Per Item clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "CustomerName", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "CustomerName", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); string stIDs = ""; foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); stIDs += "," + dr["TransactionID"].ToString(); } if (dt.Rows.Count > 0) { clsSalesTransactionItems = new SalesTransactionItems(); dt = clsSalesTransactionItems.List(stIDs.Remove(0,1)); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.TransactionItems.NewRow(); foreach (DataColumn dc in rptds.TransactionItems.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.TransactionItems.Rows.Add(drNew); } } break; #endregion case ReportTypes.SalesTransactionPerCashier: #region Sales Transaction Per Cashier/Customer & Per Cashier clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "CashierName", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "CashierName", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.DailySalesTransaction: case ReportTypes.WeeklySalesTransaction: case ReportTypes.MonthlySalesTransaction: #region Daily, Weekely, Monthly Sales Transaction clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "TransactionDate", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "TransactionDate", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesTransactionPerTerminal: #region Sales Transaction Per Terminal clsSalesTransactions = new SalesTransactions(); //dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "tblTransactions.TerminalNo", System.Data.SqlClient.SortOrder.Ascending); dt = clsSalesTransactions.ListAsDataTable(clsSearchKey, false, "TerminalNo", SortOption.Ascending, 0); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.SalesTransactionPerItem: case ReportTypes.SalesTransactionPerItemWoutPurchaseDetails: #region Sales Transaction Per Item SaleperItemFilterType enumSaleperItemFilterType = SaleperItemFilterType.ShowBothPositiveAndNegative; if (rdoShowPositiveOnly.Checked) enumSaleperItemFilterType = SaleperItemFilterType.ShowPositiveOnly; if (rdoShowNegativeOnly.Checked) enumSaleperItemFilterType = SaleperItemFilterType.ShowNegativeOnly; clsSalesTransactionItems = new SalesTransactionItems(); if (cboProductGroup.Text == Constants.ALL) dt = clsSalesTransactionItems.SalesPerItem(TransactionNo + "%", CustomerName + "%", CashierName + "%", TerminalNo + "%", StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); else dt = clsSalesTransactionItems.SalesPerItemByGroup(strProductGroup + "%", TransactionNo + "%", CustomerName + "%", CashierName + "%", TerminalNo + "%", StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); clsSalesTransactionItems.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SalesTransactionPerItem.NewRow(); foreach (DataColumn dc in rptds.SalesTransactionPerItem.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.SalesTransactionPerItem.Rows.Add(drNew); } break; #endregion case ReportTypes.CashSalesDaily: case ReportTypes.CashSalesMonthly: #region Cash-Sales Daily & Cash-Sales Monthly clsSalesTransactionsColumns = new SalesTransactionsColumns(); #region clsSalesTransactionsColumns clsSalesTransactionsColumns.TransactionDate = true; clsSalesTransactionsColumns.TransactionStatus = true; clsSalesTransactionsColumns.TransactionStatusName = true; clsSalesTransactionsColumns.CashPayment = true; #endregion clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.Cash_Cheque_CreditCard_Credit_Sales(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "tblTransactions.TerminalNo", System.Data.SqlClient.SortOrder.Ascending); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.CashSales.NewRow(); foreach (DataColumn dc in rptds.CashSales.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.CashSales.Rows.Add(drNew); } break; #endregion case ReportTypes.ChequePaymentList: #region ChequePaymentList ChequePaymentDetails clsChequeSearchKeys = new ChequePaymentDetails(); clsChequeSearchKeys.TransactionNo = TransactionNo; clsChequeSearchKeys.CustomerGroupName = CustomerGroupName; clsChequeSearchKeys.CustomerName = CustomerName; clsChequeSearchKeys.CashierName = CashierName; clsChequeSearchKeys.TerminalNo = TerminalNo; clsChequeSearchKeys.BranchDetails.BranchID = int.Parse(cboBranch.SelectedItem.Value); clsChequeSearchKeys.TransactionDateFrom = StartTransactionDate; clsChequeSearchKeys.TransactionDateTo = EndTransactionDate; clsChequeSearchKeys.ValidityDateFrom = StartValidityDate; clsChequeSearchKeys.ValidityDateTo = StartValidityDate; clsChequeSearchKeys.TransactionStatus = Status; clsChequeSearchKeys.PaymentType = PaymentType; clsChequeSearchKeys.AgentName = AgentName; ChequePayments clsChequePayments = new ChequePayments(); dt = clsChequePayments.ListAsReport(clsChequeSearchKeys); clsChequePayments.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.ChequePayments.NewRow(); foreach (DataColumn dc in rptds.ChequePayments.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ChequePayments.Rows.Add(drNew); } break; #endregion case ReportTypes.ChequeSalesDaily: case ReportTypes.ChequeSalesMonthly: #region Cheque-Sales Daily & Cheque-Sales Monthly clsSalesTransactionsColumns = new SalesTransactionsColumns(); #region clsSalesTransactionsColumns clsSalesTransactionsColumns.TransactionDate = true; clsSalesTransactionsColumns.TransactionStatus = true; clsSalesTransactionsColumns.TransactionStatusName = true; clsSalesTransactionsColumns.ChequePayment = true; #endregion clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.Cash_Cheque_CreditCard_Credit_Sales(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "tblTransactions.TerminalNo", System.Data.SqlClient.SortOrder.Ascending); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.ChequeSales.NewRow(); foreach (DataColumn dc in rptds.ChequeSales.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ChequeSales.Rows.Add(drNew); } break; #endregion case ReportTypes.CreditCardSalesDaily: case ReportTypes.CreditCardSalesMonthly: #region Card-Sales Daily Card-Sales Monthly clsSalesTransactionsColumns = new SalesTransactionsColumns(); #region clsSalesTransactionsColumns clsSalesTransactionsColumns.TransactionDate = true; clsSalesTransactionsColumns.TransactionStatus = true; clsSalesTransactionsColumns.TransactionStatusName = true; clsSalesTransactionsColumns.CreditCardPayment = true; #endregion clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.Cash_Cheque_CreditCard_Credit_Sales(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "tblTransactions.TerminalNo", System.Data.SqlClient.SortOrder.Ascending); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.CreditCardSales.NewRow(); foreach (DataColumn dc in rptds.CreditCardSales.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.CreditCardSales.Rows.Add(drNew); } break; #endregion case ReportTypes.PaidOut: #region PaidOut Report PaidOutColumns clsPaidOutColumns = new PaidOutColumns(); clsPaidOutColumns.BranchDetails = true; clsPaidOutColumns.TerminalNo = true; clsPaidOutColumns.Amount = true; clsPaidOutColumns.PaymentType = true; clsPaidOutColumns.DateCreated = true; clsPaidOutColumns.TerminalNo = true; clsPaidOutColumns.CashierID = true; clsPaidOutColumns.CashierName = true; clsPaidOutColumns.Remarks = true; PaidOutDetails clsPaidOutSeachKey = new PaidOutDetails(); clsPaidOutSeachKey.StartTransactionDate = StartTransactionDate; clsPaidOutSeachKey.EndTransactionDate = EndTransactionDate; PaidOut clsPaidOut = new PaidOut(); dt = clsPaidOut.ListAsDataTable(clsPaidOutColumns, clsPaidOutSeachKey); clsPaidOut.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.PaidOut.NewRow(); foreach (DataColumn dc in rptds.PaidOut.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.PaidOut.Rows.Add(drNew); } break; #endregion case ReportTypes.Disburse: #region Disburse Report DisburseColumns clsDisburseColumns = new DisburseColumns(); clsDisburseColumns.BranchDetails = true; clsDisburseColumns.TerminalNo = true; clsDisburseColumns.Amount = true; clsDisburseColumns.PaymentType = true; clsDisburseColumns.DateCreated = true; clsDisburseColumns.TerminalNo = true; clsDisburseColumns.CashierID = true; clsDisburseColumns.CashierName = true; clsDisburseColumns.Remarks = true; DisburseDetails clsDisburseSeachKey = new DisburseDetails(); clsDisburseSeachKey.StartTransactionDate = StartTransactionDate; clsDisburseSeachKey.EndTransactionDate = EndTransactionDate; Disburses clsDisburse = new Disburses(); dt = clsDisburse.ListAsDataTable(clsDisburseColumns, clsDisburseSeachKey); clsDisburse.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Disburse.NewRow(); foreach (DataColumn dc in rptds.Disburse.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Disburse.Rows.Add(drNew); } break; #endregion case ReportTypes.RecieveOnAccount: #region WithHold Report WithholdColumns clsWithHoldColumns = new WithholdColumns(); clsWithHoldColumns.BranchDetails = true; clsWithHoldColumns.TerminalNo = true; clsWithHoldColumns.Amount = true; clsWithHoldColumns.PaymentType = true; clsWithHoldColumns.DateCreated = true; clsWithHoldColumns.TerminalNo = true; clsWithHoldColumns.CashierID = true; clsWithHoldColumns.CashierName = true; clsWithHoldColumns.Remarks = true; WithholdDetails clsWithHoldSeachKey = new WithholdDetails(); clsWithHoldSeachKey.StartTransactionDate = StartTransactionDate; clsWithHoldSeachKey.EndTransactionDate = EndTransactionDate; Withhold clsWithHold = new Withhold(); dt = clsWithHold.ListAsDataTable(clsWithHoldColumns, clsWithHoldSeachKey); clsWithHold.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Withhold.NewRow(); foreach (DataColumn dc in rptds.Withhold.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Withhold.Rows.Add(drNew); } break; #endregion default: break; } Report.SetDataSource(rptds); SetParameters(Report); }
public void UpdateItem(Int64 TransactionID, decimal ItemSold, decimal QuantitySold, decimal GrossSales, decimal SubTotal, decimal NetSales, decimal ItemsDiscount, decimal SNRItemsDiscount, decimal PWDItemsDiscount, decimal OtherItemsDiscount, decimal Discount, decimal SNRDiscount, decimal PWDDiscount, decimal OtherDiscount, decimal TransDiscount, DiscountTypes TransDiscountType, decimal VAT, decimal VATableAmount, decimal ZeroRatedSales, decimal NonVATableAmount, decimal VATExempt, decimal EVAT, decimal EVATableAmount, decimal NonEVATableAmount, decimal LocalTax, string DiscountCode, string DiscountRemarks, decimal Charge, decimal ChargeAmount, string ChargeCode, string ChargeRemarks, ChargeTypes ChargeType, SalesTransactionItemDetails SalesTransItemDetails) { UpdateSubTotal(TransactionID, ItemSold, QuantitySold, GrossSales, SubTotal, NetSales, ItemsDiscount, SNRItemsDiscount, PWDItemsDiscount, OtherItemsDiscount, Discount, SNRDiscount, PWDDiscount, OtherDiscount, TransDiscount, TransDiscountType, VAT, VATableAmount, ZeroRatedSales, NonVATableAmount, VATExempt, EVAT, EVATableAmount, NonEVATableAmount, LocalTax, DiscountCode, DiscountRemarks, Charge, ChargeAmount, ChargeCode, ChargeRemarks, ChargeType); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.Update(SalesTransItemDetails); }
public void Void(Int64 TransactionID, decimal ItemSold, decimal QuantitySold, decimal GrossSales, decimal SubTotal, decimal NetSales, decimal ItemsDiscount, decimal SNRItemsDiscount, decimal PWDItemsDiscount, decimal OtherItemsDiscount, decimal Discount, decimal SNRDiscount, decimal PWDDiscount, decimal OtherDiscount, decimal TransDiscount, DiscountTypes TransDiscountType, decimal VAT, decimal VATableAmount, decimal ZeroRatedSales, decimal NonVATableAmount, decimal VATExempt, decimal EVAT, decimal EVATableAmount, decimal NonEVATableAmount, decimal LocalTax, decimal Charge, Int64 CashierID, string CashierName) { try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; string SQL = "UPDATE tblTransactions SET " + "TransactionStatus = @TransactionStatus, " + "ItemSold = @ItemSold, " + "QuantitySold = @QuantitySold, " + "GrossSales = @GrossSales, " + "SubTotal = @SubTotal, " + "NetSales = @NetSales, " + "ItemsDiscount = @ItemsDiscount, " + "SNRItemsDiscount = @SNRItemsDiscount, " + "PWDItemsDiscount = @PWDItemsDiscount, " + "OtherItemsDiscount = @OtherItemsDiscount, " + "Discount = @Discount, " + "SNRDiscount = @SNRDiscount, " + "PWDDiscount = @PWDDiscount, " + "OtherDiscount = @OtherDiscount, " + "VAT = @VAT, " + "VATableAmount = @VATableAmount, " + "ZeroRatedSales = @ZeroRatedSales, " + "NonVATableAmount = @NonVATableAmount, " + "VATExempt = @VATExempt, " + "EVAT = @EVAT, " + "EVATableAmount = @EVATableAmount, " + "NonEVATableAmount = @NonEVATableAmount, " + "LocalTax = @LocalTax, " + "DateClosed = NOW(), " + "Charge = @Charge, " + "CashierID = @CashierID, " + "CashierName = @CashierName, " + "LastModified = NOW() " + "WHERE TransactionID = @TransactionID;"; cmd.Parameters.AddWithValue("TransactionStatus", TransactionStatus.Void.ToString("d")); cmd.Parameters.AddWithValue("ItemSold", ItemSold); cmd.Parameters.AddWithValue("QuantitySold", QuantitySold); cmd.Parameters.AddWithValue("GrossSales", GrossSales); cmd.Parameters.AddWithValue("SubTotal", SubTotal); cmd.Parameters.AddWithValue("NetSales", NetSales); cmd.Parameters.AddWithValue("ItemsDiscount", ItemsDiscount); cmd.Parameters.AddWithValue("SNRItemsDiscount", SNRItemsDiscount); cmd.Parameters.AddWithValue("PWDItemsDiscount", PWDItemsDiscount); cmd.Parameters.AddWithValue("OtherItemsDiscount", OtherItemsDiscount); cmd.Parameters.AddWithValue("Discount", Discount); cmd.Parameters.AddWithValue("SNRDiscount", SNRDiscount); cmd.Parameters.AddWithValue("PWDDiscount", PWDDiscount); cmd.Parameters.AddWithValue("OtherDiscount", OtherDiscount); cmd.Parameters.AddWithValue("VAT", VAT); cmd.Parameters.AddWithValue("VATableAmount", VATableAmount); cmd.Parameters.AddWithValue("ZeroRatedSales", ZeroRatedSales); cmd.Parameters.AddWithValue("NonVATableAmount", NonVATableAmount); cmd.Parameters.AddWithValue("VATExempt", VATExempt); cmd.Parameters.AddWithValue("EVAT", EVAT); cmd.Parameters.AddWithValue("EVATableAmount", EVATableAmount); cmd.Parameters.AddWithValue("NonEVATableAmount", NonEVATableAmount); cmd.Parameters.AddWithValue("LocalTax", LocalTax); cmd.Parameters.AddWithValue("Charge", Charge); cmd.Parameters.AddWithValue("CashierID", CashierID); cmd.Parameters.AddWithValue("CashierName", CashierName); cmd.Parameters.AddWithValue("TransactionID", TransactionID); cmd.CommandText = SQL; base.ExecuteNonQuery(cmd); SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.VoidByTransaction(TransactionID); } catch (Exception ex) { throw base.ThrowException(ex); } }
public void TrashItem(Int64 TransactionItemID) { SalesTransactionItems clsSalesTransactionItems = new SalesTransactionItems(base.Connection, base.Transaction); clsSalesTransactionItems.Trash(TransactionItemID); }
private void SetDataSource(ReportDocument Report) { string strProductGroup = cboProductGroup.SelectedItem.Text == Constants.ALL ? string.Empty : cboProductGroup.SelectedItem.Text; string TransactionNo = txtTransactionNo.Text; string CustomerGroupName = cboContactGroupName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboContactGroupName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboContactGroupName.SelectedItem.Text; string CustomerName = cboContactName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboContactName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE","").Trim() : cboContactName.SelectedItem.Text; string AgentName = cboAgent.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboAgent.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboAgent.SelectedItem.Text; string CashierName = cboCashierName.SelectedItem.Text.Substring(0, 3).Trim() == Constants.ALL ? cboCashierName.SelectedItem.Text.Replace("ALL", "").Replace("LIKE", "").Trim() : cboCashierName.SelectedItem.Text; string TerminalNo = cboTerminalNo.SelectedItem.Text == Constants.ALL ? string.Empty : cboTerminalNo.SelectedItem.Text; DateTime StartTransactionDate = DateTime.MinValue; StartTransactionDate = DateTime.TryParse(txtStartTransactionDate.Text + " " + txtStartTime.Text, out StartTransactionDate) ? StartTransactionDate : DateTime.MinValue; DateTime EndTransactionDate = DateTime.MinValue; EndTransactionDate = DateTime.TryParse(txtEndTransactionDate.Text + " " + txtEndTime.Text, out EndTransactionDate) ? EndTransactionDate : DateTime.MinValue; TransactionStatus Status = (TransactionStatus)Enum.Parse(typeof(TransactionStatus), cboTransactionStatus.SelectedItem.Value); PaymentTypes PaymentType = (PaymentTypes)Enum.Parse(typeof(PaymentTypes), cboPaymentType.SelectedItem.Value); DataTable dt = new DataTable(); ReportDataset rptds = new ReportDataset(); SalesTransactions clsSalesTransactions; SalesTransactionItems clsSalesTransactionItems; SalesTransactionsColumns clsSalesTransactionsColumns = new SalesTransactionsColumns(); #region clsSalesTransactionsColumns clsSalesTransactionsColumns.BranchCode = true; clsSalesTransactionsColumns.TransactionNo = true; clsSalesTransactionsColumns.CustomerName = true; clsSalesTransactionsColumns.CustomerGroupName = true; clsSalesTransactionsColumns.CashierName = true; clsSalesTransactionsColumns.TerminalNo = true; clsSalesTransactionsColumns.TransactionDate = true; clsSalesTransactionsColumns.DateSuspended = true; clsSalesTransactionsColumns.DateResumed = true; clsSalesTransactionsColumns.TransactionStatus = true; clsSalesTransactionsColumns.SubTotal = true; clsSalesTransactionsColumns.Discount = true; clsSalesTransactionsColumns.VAT = true; clsSalesTransactionsColumns.VATableAmount = true; clsSalesTransactionsColumns.LocalTax = true; clsSalesTransactionsColumns.AmountPaid = true; clsSalesTransactionsColumns.CashPayment = true; clsSalesTransactionsColumns.ChequePayment = true; clsSalesTransactionsColumns.CreditCardPayment = true; clsSalesTransactionsColumns.BalanceAmount = true; clsSalesTransactionsColumns.ChangeAmount = true; clsSalesTransactionsColumns.DateClosed = true; clsSalesTransactionsColumns.PaymentType = true; clsSalesTransactionsColumns.ItemsDiscount = true; clsSalesTransactionsColumns.Charge = true; clsSalesTransactionsColumns.CreditPayment = true; clsSalesTransactionsColumns.CreatedByName = true; clsSalesTransactionsColumns.AgentName = true; clsSalesTransactionsColumns.PaxNo = true; #endregion SalesTransactionDetails clsSearchKey = new SalesTransactionDetails(); clsSearchKey = new SalesTransactionDetails(); clsSearchKey.TransactionNo = TransactionNo; clsSearchKey.CustomerGroupName = CustomerGroupName; clsSearchKey.CustomerName = CustomerName; clsSearchKey.CashierName = CashierName; clsSearchKey.TerminalNo = TerminalNo; clsSearchKey.BranchID = int.Parse(cboBranch.SelectedItem.Value); clsSearchKey.TransactionDateFrom = StartTransactionDate; clsSearchKey.TransactionDateTo = EndTransactionDate; clsSearchKey.TransactionStatus = Status; clsSearchKey.PaymentType = PaymentType; clsSearchKey.AgentName = AgentName; clsSearchKey.isConsignmentSearch = cboConsignment.SelectedItem.Value; if (clsSearchKey.isConsignmentSearch != "-1") { clsSearchKey.isConsignment = bool.Parse(cboConsignment.SelectedItem.Value); } string strReportType = cboReportType.SelectedValue; switch (strReportType) { case ReportTypes.ANALYTICS_All: case ReportTypes.ANALYTICS_All_Covers: #region Daily, Weekely, Monthly Sales Transaction clsSalesTransactions = new SalesTransactions(); dt = clsSalesTransactions.List(clsSalesTransactionsColumns, clsSearchKey, System.Data.SqlClient.SortOrder.Ascending, 0, "TransactionDate", System.Data.SqlClient.SortOrder.Ascending); clsSalesTransactions.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Transactions.NewRow(); foreach (DataColumn dc in rptds.Transactions.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Transactions.Rows.Add(drNew); } break; #endregion case ReportTypes.ANALYTICS_ItemsForPOBasedOnSales: #region Items For PO Based On Sales SaleperItemFilterType enumSaleperItemFilterType = SaleperItemFilterType.ShowBothPositiveAndNegative; if (rdoShowPositiveOnly.Checked) enumSaleperItemFilterType = SaleperItemFilterType.ShowPositiveOnly; if (rdoShowNegativeOnly.Checked) enumSaleperItemFilterType = SaleperItemFilterType.ShowNegativeOnly; clsSalesTransactionItems = new SalesTransactionItems(); //if (cboProductGroup.Text == Constants.ALL) // dt = clsSalesTransactionItems.SalesPerItem(TransactionNo + "%", CustomerName + "%", CashierName + "%", // TerminalNo + "%", StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); //else // dt = clsSalesTransactionItems.SalesPerItemByGroup(strProductGroup + "%", TransactionNo + "%", CustomerName + "%", CashierName + "%", // TerminalNo + "%", StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); if (cboProductGroup.Text == Constants.ALL) dt = clsSalesTransactionItems.SalesPerItem(TransactionNo, CustomerName, CashierName, TerminalNo, StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); else dt = clsSalesTransactionItems.SalesPerItemByGroupProc(strProductGroup, TransactionNo, CustomerName, CashierName, TerminalNo, StartTransactionDate, EndTransactionDate, Status, PaymentType, enumSaleperItemFilterType); clsSalesTransactionItems.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SalesTransactionPerItem.NewRow(); foreach (DataColumn dc in rptds.SalesTransactionPerItem.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.SalesTransactionPerItem.Rows.Add(drNew); } break; #endregion default: break; } Report.SetDataSource(rptds); SetParameters(Report); }