diff --git a/Tanshu.Accounts.Contracts/Data Contracts Display/BillInventoryBO.cs b/Tanshu.Accounts.Contracts/Data Contracts Display/BillInventoryBO.cs index 934836f..9525f35 100644 --- a/Tanshu.Accounts.Contracts/Data Contracts Display/BillInventoryBO.cs +++ b/Tanshu.Accounts.Contracts/Data Contracts Display/BillInventoryBO.cs @@ -9,6 +9,7 @@ namespace Tanshu.Accounts.Contracts public int ProductID { get; set; } public string Name { get; set; } public decimal Price { get; set; } + public decimal FullPrice { get; set; } public decimal Quantity { get; set; } private decimal _discount; public Product Product { get; private set; } @@ -104,7 +105,8 @@ namespace Tanshu.Accounts.Contracts ProductID = product.ProductID; Name = product.Units == string.Empty ? product.Name : product.Name + " (" + product.Units + ")"; Quantity = 1; - Price = product.SalePrice; + Price = product.Price; + FullPrice = product.FullPrice; Tax = product.Tax.Rate; ServiceCharge = product.ServiceCharge; Discount = 0; @@ -118,6 +120,7 @@ namespace Tanshu.Accounts.Contracts Discount = 0; Name = "== New Kot =="; Price = 0; + FullPrice = 0; Printed = true; Quantity = 0; Tax = -1; @@ -131,6 +134,7 @@ namespace Tanshu.Accounts.Contracts Discount = 0; Name = string.Format("Kot: {0} / {1:dd-MMM HH:mm} ({2})", kot.Code, kot.Date, kot.User.Name); Price = 0; + FullPrice = 0; Printed = true; Quantity = 0; Tax = -1; diff --git a/Tanshu.Accounts.Contracts/Data Contracts Display/ProductDisplayBO.cs b/Tanshu.Accounts.Contracts/Data Contracts Display/ProductDisplayBO.cs deleted file mode 100644 index d6d01df..0000000 --- a/Tanshu.Accounts.Contracts/Data Contracts Display/ProductDisplayBO.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Runtime.Serialization; -using FluentNHibernate.Mapping; -using Tanshu.Accounts.Entities; - -namespace Tanshu.Accounts.Contracts -{ - public class ProductDisplay : Product - { - public virtual decimal Price { get; set; } - public virtual string Group { get; set; } - } -} diff --git a/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs index 5c69fef..d0eafad 100644 --- a/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs +++ b/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs @@ -21,7 +21,8 @@ namespace Tanshu.Accounts.Entities public virtual Product Product { get; set; } public virtual decimal Quantity { get; set; } - public virtual decimal Rate { get; set; } + public virtual decimal Price { get; set; } + public virtual decimal FullPrice { get; set; } public virtual decimal Tax { get; set; } public virtual decimal Discount { get; set; } public virtual decimal ServiceCharge { get; set; } @@ -29,10 +30,10 @@ namespace Tanshu.Accounts.Entities [Cascade] public virtual IList InventoryModifier { get; set; } - [Formula(Formula = "Quantity * Rate * (1 - Discount) * (1 + ServiceCharge) * (1 + Tax)")] + [Formula(Formula = "Quantity * Price * (1 - Discount) * (1 + ServiceCharge) * (1 + Tax)")] public virtual decimal Amount { - get { return Quantity * Rate * (1 + Tax) * (1 + ServiceCharge) * (1 - Discount); } + get { return Quantity * Price * (1 + Tax) * (1 + ServiceCharge) * (1 - Discount); } private set { } } } diff --git a/Tanshu.Accounts.Contracts/Data Contracts/ProductBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/ProductBO.cs index 9c21b44..33cda51 100644 --- a/Tanshu.Accounts.Contracts/Data Contracts/ProductBO.cs +++ b/Tanshu.Accounts.Contracts/Data Contracts/ProductBO.cs @@ -14,7 +14,8 @@ namespace Tanshu.Accounts.Entities [NotNull] public virtual Tax Tax { get; set; } public virtual decimal ServiceCharge { get; set; } - public virtual decimal SalePrice { get; set; } + public virtual decimal Price { get; set; } + public virtual decimal FullPrice { get; set; } public virtual bool Discontinued { get; set; } public virtual int SortOrder { get; set; } } diff --git a/Tanshu.Accounts.Contracts/RolesConstants.cs b/Tanshu.Accounts.Contracts/RolesConstants.cs index 35a274d..cab568e 100644 --- a/Tanshu.Accounts.Contracts/RolesConstants.cs +++ b/Tanshu.Accounts.Contracts/RolesConstants.cs @@ -36,9 +36,12 @@ namespace Tanshu.Accounts.Contracts public static RoleConstants PRINT_BILL = new RoleConstants("Sales/PrintBill"); public static RoleConstants PRINT_KOT = new RoleConstants("Sales/PrintKOT"); public static RoleConstants SALES = new RoleConstants("Sales/SalesBill"); + + public static RoleConstants VOID_OR_REPRINTED_BILL_REPORT = new RoleConstants("Void or Reprinted Bill Report"); public static RoleConstants BILL_DETAILS = new RoleConstants("Sales/BillDetails"); public static RoleConstants SALE_ANALYSIS = new RoleConstants("Sales/SaleAnalysis"); public static RoleConstants SALE_DETAIL = new RoleConstants("Sales/SaleDetail"); + public static RoleConstants SPLIT_BILL = new RoleConstants("Split Bill"); public static RoleConstants VOID_BILL = new RoleConstants("Sales/VoidPrintedBill"); public static RoleConstants ZERO_RATE = new RoleConstants("Sales/ZeroRate"); diff --git a/Tanshu.Accounts.Contracts/Tanshu.Accounts.Contracts.csproj b/Tanshu.Accounts.Contracts/Tanshu.Accounts.Contracts.csproj index d6fe866..413a8f6 100644 --- a/Tanshu.Accounts.Contracts/Tanshu.Accounts.Contracts.csproj +++ b/Tanshu.Accounts.Contracts/Tanshu.Accounts.Contracts.csproj @@ -75,6 +75,10 @@ + + False + ..\Include\Tanshu.Common.dll + @@ -89,6 +93,9 @@ Code + + Code + @@ -112,8 +119,6 @@ - - diff --git a/Tanshu.Accounts.Helpers/ControlFactory.cs b/Tanshu.Accounts.Helpers/ControlFactory.cs index 1f82dee..deaba9e 100644 --- a/Tanshu.Accounts.Helpers/ControlFactory.cs +++ b/Tanshu.Accounts.Helpers/ControlFactory.cs @@ -60,7 +60,7 @@ namespace Tanshu.Accounts.Helpers { var item = list[i]; var control = GetButton(string.Format("p{0}", i), item.Units == string.Empty ? item.Name : string.Format("{0} ({1})", item.Name, item.Units), size.X, size.Y, item, bcDelegate); - if (item.SalePrice == 0) + if (item.Price == 0) control.BackColor = Color.Yellow; panel.Controls.Add(control); } diff --git a/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs b/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs index 7e0847a..cd39079 100644 --- a/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs +++ b/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs @@ -335,7 +335,7 @@ namespace Tanshu.Accounts.PointOfSale inv.Product.Units == string.Empty ? inv.Product.Name : inv.Product.Name + " (" + inv.Product.Units + ")", - Price = inv.Rate, + Price = inv.Price, Printed = true, Quantity = inv.Quantity, Tax = inv.Tax, @@ -558,16 +558,18 @@ namespace Tanshu.Accounts.PointOfSale return; if (_bill.Count == 1) //new kot only return; - if (_billInfo.Void) //voided bills not allowed - { - MessageBox.Show(string.Format("This Bill is already void.\nReason: {0}", _billInfo.VoidReason), "Bill already Voided", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - var printed = false; if (_billInfo != null) using (var bi = new VoucherBI(false)) - printed = bi.IsVoucherPrinted(_billInfo.VoucherID); + { + var voucher = bi.Get(_billInfo.VoucherID); + if (voucher.Void) + { + MessageBox.Show(string.Format("This Bill is already void.\nReason: {0}", _billInfo.VoidReason), "Bill already Voided", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + printed = voucher.Printed; + } if (printed && (!Session.IsAllowed(RoleConstants.EDIT_PRINTED_BILL))) return; var amount = _bill.Where(x => x.Key.BillItemType == BillItemType.Product && x.Key.KotID != 0).Sum(x => x.Value.GrossAmount); @@ -739,7 +741,7 @@ namespace Tanshu.Accounts.PointOfSale { var i = _billInfo.Kots.Single(x => x.KotID == item.Key.KotID).Inventories.Single(x => x.Product.ProductID == item.Key.ProductID); i.Discount = item.Value.Discount; - i.Rate = item.Value.Price; + i.Price = item.Value.Price; } } private static Kot GetKot(IEnumerable> list) @@ -760,7 +762,8 @@ namespace Tanshu.Accounts.PointOfSale { Product = item.Value.Product, Quantity = item.Value.Quantity, - Rate = item.Value.Price, + Price = item.Value.Price, + FullPrice = item.Value.FullPrice, Discount = item.Value.Discount, ServiceCharge = item.Value.ServiceCharge, Tax = item.Value.Tax diff --git a/Tanshu.Accounts.PointOfSale/MainForm.cs b/Tanshu.Accounts.PointOfSale/MainForm.cs index 2aed19f..e00cae2 100644 --- a/Tanshu.Accounts.PointOfSale/MainForm.cs +++ b/Tanshu.Accounts.PointOfSale/MainForm.cs @@ -188,6 +188,7 @@ namespace Tanshu.Accounts.PointOfSale btnSaleDetail.Visible = Session.IsAllowed(RoleConstants.SALE_DETAIL); btnBillDetails.Visible = Session.IsAllowed(RoleConstants.BILL_DETAILS); + btnVoidOrReprints.Visible = Session.IsAllowed(RoleConstants.VOID_OR_REPRINTED_BILL_REPORT); btnChangePassword.Visible = Session.IsAuthenticated; } @@ -267,6 +268,13 @@ namespace Tanshu.Accounts.PointOfSale frm.ShowDialog(); } + private void btnVoidOrReprints_Click(object sender, EventArgs e) + { + if (Session.IsAllowed(RoleConstants.VOID_OR_REPRINTED_BILL_REPORT)) + using (var frm = new VoidReprintedForm()) + frm.ShowDialog(); + } + } } \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/MainForm.designer.cs b/Tanshu.Accounts.PointOfSale/MainForm.designer.cs index 7f56a40..629f85c 100644 --- a/Tanshu.Accounts.PointOfSale/MainForm.designer.cs +++ b/Tanshu.Accounts.PointOfSale/MainForm.designer.cs @@ -48,6 +48,7 @@ this.btnBillDetails = new System.Windows.Forms.Button(); this.btnChangePassword = new System.Windows.Forms.Button(); this.btnExit = new System.Windows.Forms.Button(); + this.btnVoidOrReprints = new System.Windows.Forms.Button(); this.flowLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // @@ -100,6 +101,7 @@ this.flowLayoutPanel1.Controls.Add(this.btnSaleAnalysis); this.flowLayoutPanel1.Controls.Add(this.btnSaleDetail); this.flowLayoutPanel1.Controls.Add(this.btnBillDetails); + this.flowLayoutPanel1.Controls.Add(this.btnVoidOrReprints); this.flowLayoutPanel1.Controls.Add(this.btnChangePassword); this.flowLayoutPanel1.Controls.Add(this.btnExit); this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; @@ -250,7 +252,7 @@ // // btnChangePassword // - this.btnChangePassword.Location = new System.Drawing.Point(315, 321); + this.btnChangePassword.Location = new System.Drawing.Point(471, 321); this.btnChangePassword.Name = "btnChangePassword"; this.btnChangePassword.Size = new System.Drawing.Size(150, 100); this.btnChangePassword.TabIndex = 17; @@ -260,7 +262,7 @@ // // btnExit // - this.btnExit.Location = new System.Drawing.Point(471, 321); + this.btnExit.Location = new System.Drawing.Point(627, 321); this.btnExit.Name = "btnExit"; this.btnExit.Size = new System.Drawing.Size(150, 100); this.btnExit.TabIndex = 18; @@ -268,6 +270,16 @@ this.btnExit.UseVisualStyleBackColor = true; this.btnExit.Click += new System.EventHandler(this.btnExit_Click); // + // btnVoidOrReprints + // + this.btnVoidOrReprints.Location = new System.Drawing.Point(315, 321); + this.btnVoidOrReprints.Name = "btnVoidOrReprints"; + this.btnVoidOrReprints.Size = new System.Drawing.Size(150, 100); + this.btnVoidOrReprints.TabIndex = 19; + this.btnVoidOrReprints.Text = "Voids or Reprints"; + this.btnVoidOrReprints.UseVisualStyleBackColor = true; + this.btnVoidOrReprints.Click += new System.EventHandler(this.btnVoidOrReprints_Click); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -306,5 +318,6 @@ private System.Windows.Forms.Button btnSwipeLogin; private System.Windows.Forms.Button btnOpenBill; private System.Windows.Forms.Button btnBillDetails; + private System.Windows.Forms.Button btnVoidOrReprints; } } \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/Management/QuantityForm.cs b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.cs new file mode 100644 index 0000000..8d1e2cb --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using Tanshu.Accounts.Repository; +using Tanshu.Accounts.Contracts; + +namespace Tanshu.Accounts.Management +{ + public partial class QuantityForm : Form + { + IList _list; + //private static readonly Tanshu.Logging.SqlLogger log = new Tanshu.Logging.SqlLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + public QuantityForm() + { + InitializeComponent(); + //log.Warn(string.Format("Sales Analysis by: {0}", Session.User.Name)); + } + + private void dtpStart_ValueChanged(object sender, EventArgs e) + { + ShowStatement(); + } + + private void ShowStatement() + { + _list = new SalesAnalysisBI().GetBillDetails(dtpStart.Value, dtpFinish.Value); + dgvSale.AutoGenerateColumns = true; + dgvSale.DataSource = _list; + dgvSale.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + dgvSale.Columns[1].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; + dgvSale.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; + } + + private void dtpFinish_ValueChanged(object sender, EventArgs e) + { + ShowStatement(); + } + + private void Sale_Analysis_Form_Load(object sender, EventArgs e) + { + dtpStart.Value = DateTime.Today; + dtpFinish.Value = DateTime.Today; + ShowStatement(); + } + + private void btnGo_Click(object sender, EventArgs e) + { + string type = null; + if (rbLight.Checked) + { + type = "Light"; + } + else if (rbPremium.Checked) + { + type = "Premium"; + } + else if (rbWheat.Checked) + { + type = "Wheat"; + } + else if (rbDark.Checked) + { + type = "Dark"; + } + else if (rbFestival.Checked) + { + type = "Festival"; + } + MessageBox.Show(GetQuantity(type).ToString()); + } + private decimal GetQuantity(string type) + { + "" + } + } +} diff --git a/Tanshu.Accounts.PointOfSale/Management/QuantityForm.designer.cs b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.designer.cs new file mode 100644 index 0000000..862b5ec --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.designer.cs @@ -0,0 +1,198 @@ +namespace Tanshu.Accounts.Management +{ + partial class QuantityForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.dtpFinish = new System.Windows.Forms.DateTimePicker(); + this.dtpStart = new System.Windows.Forms.DateTimePicker(); + this.label10 = new System.Windows.Forms.Label(); + this.flpProducts = new System.Windows.Forms.FlowLayoutPanel(); + this.rbLight = new System.Windows.Forms.RadioButton(); + this.rbPremium = new System.Windows.Forms.RadioButton(); + this.rbWheat = new System.Windows.Forms.RadioButton(); + this.rbDark = new System.Windows.Forms.RadioButton(); + this.rbFestival = new System.Windows.Forms.RadioButton(); + this.txtQuantity = new System.Windows.Forms.TextBox(); + this.btnGo = new System.Windows.Forms.Button(); + this.flpProducts.SuspendLayout(); + this.SuspendLayout(); + // + // dtpFinish + // + this.dtpFinish.CustomFormat = "dd-MMM-yyyy"; + this.dtpFinish.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpFinish.Location = new System.Drawing.Point(168, 12); + this.dtpFinish.Name = "dtpFinish"; + this.dtpFinish.Size = new System.Drawing.Size(90, 20); + this.dtpFinish.TabIndex = 21; + this.dtpFinish.ValueChanged += new System.EventHandler(this.dtpFinish_ValueChanged); + // + // dtpStart + // + this.dtpStart.CustomFormat = "dd-MMM-yyyy"; + this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpStart.Location = new System.Drawing.Point(12, 12); + this.dtpStart.Name = "dtpStart"; + this.dtpStart.Size = new System.Drawing.Size(90, 20); + this.dtpStart.TabIndex = 20; + this.dtpStart.ValueChanged += new System.EventHandler(this.dtpStart_ValueChanged); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(108, 16); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(54, 13); + this.label10.TabIndex = 22; + this.label10.Text = "<- Date ->"; + // + // flpProducts + // + this.flpProducts.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.flpProducts.Controls.Add(this.rbLight); + this.flpProducts.Controls.Add(this.rbPremium); + this.flpProducts.Controls.Add(this.rbWheat); + this.flpProducts.Controls.Add(this.rbDark); + this.flpProducts.Controls.Add(this.rbFestival); + this.flpProducts.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flpProducts.Location = new System.Drawing.Point(12, 38); + this.flpProducts.Name = "flpProducts"; + this.flpProducts.Size = new System.Drawing.Size(335, 137); + this.flpProducts.TabIndex = 23; + // + // rbLight + // + this.rbLight.AutoSize = true; + this.rbLight.Location = new System.Drawing.Point(3, 3); + this.rbLight.Name = "rbLight"; + this.rbLight.Size = new System.Drawing.Size(48, 17); + this.rbLight.TabIndex = 0; + this.rbLight.TabStop = true; + this.rbLight.Text = "Light"; + this.rbLight.UseVisualStyleBackColor = true; + // + // rbPremium + // + this.rbPremium.AutoSize = true; + this.rbPremium.Location = new System.Drawing.Point(3, 26); + this.rbPremium.Name = "rbPremium"; + this.rbPremium.Size = new System.Drawing.Size(65, 17); + this.rbPremium.TabIndex = 1; + this.rbPremium.TabStop = true; + this.rbPremium.Text = "Premium"; + this.rbPremium.UseVisualStyleBackColor = true; + // + // rbWheat + // + this.rbWheat.AutoSize = true; + this.rbWheat.Location = new System.Drawing.Point(3, 49); + this.rbWheat.Name = "rbWheat"; + this.rbWheat.Size = new System.Drawing.Size(57, 17); + this.rbWheat.TabIndex = 2; + this.rbWheat.TabStop = true; + this.rbWheat.Text = "Wheat"; + this.rbWheat.UseVisualStyleBackColor = true; + // + // rbDark + // + this.rbDark.AutoSize = true; + this.rbDark.Location = new System.Drawing.Point(3, 72); + this.rbDark.Name = "rbDark"; + this.rbDark.Size = new System.Drawing.Size(48, 17); + this.rbDark.TabIndex = 3; + this.rbDark.TabStop = true; + this.rbDark.Text = "Dark"; + this.rbDark.UseVisualStyleBackColor = true; + // + // rbFestival + // + this.rbFestival.AutoSize = true; + this.rbFestival.Location = new System.Drawing.Point(3, 95); + this.rbFestival.Name = "rbFestival"; + this.rbFestival.Size = new System.Drawing.Size(61, 17); + this.rbFestival.TabIndex = 4; + this.rbFestival.TabStop = true; + this.rbFestival.Text = "Festival"; + this.rbFestival.UseVisualStyleBackColor = true; + // + // txtQuantity + // + this.txtQuantity.Location = new System.Drawing.Point(12, 181); + this.txtQuantity.Name = "txtQuantity"; + this.txtQuantity.Size = new System.Drawing.Size(335, 20); + this.txtQuantity.TabIndex = 5; + // + // btnGo + // + this.btnGo.Location = new System.Drawing.Point(12, 207); + this.btnGo.Name = "btnGo"; + this.btnGo.Size = new System.Drawing.Size(335, 23); + this.btnGo.TabIndex = 24; + this.btnGo.Text = "Go"; + this.btnGo.UseVisualStyleBackColor = true; + this.btnGo.Click += new System.EventHandler(this.btnGo_Click); + // + // QuantityForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(359, 242); + this.Controls.Add(this.btnGo); + this.Controls.Add(this.flpProducts); + this.Controls.Add(this.dtpFinish); + this.Controls.Add(this.dtpStart); + this.Controls.Add(this.label10); + this.Controls.Add(this.txtQuantity); + this.MaximizeBox = false; + this.Name = "QuantityForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Sale Analysis Form"; + this.Load += new System.EventHandler(this.Sale_Analysis_Form_Load); + this.flpProducts.ResumeLayout(false); + this.flpProducts.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DateTimePicker dtpFinish; + private System.Windows.Forms.DateTimePicker dtpStart; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.FlowLayoutPanel flpProducts; + private System.Windows.Forms.RadioButton rbLight; + private System.Windows.Forms.RadioButton rbPremium; + private System.Windows.Forms.RadioButton rbWheat; + private System.Windows.Forms.RadioButton rbDark; + private System.Windows.Forms.RadioButton rbFestival; + private System.Windows.Forms.TextBox txtQuantity; + private System.Windows.Forms.Button btnGo; + } +} \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/Management/QuantityForm.resx b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Management/QuantityForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/Products/ProductForm.Designer.cs b/Tanshu.Accounts.PointOfSale/Products/ProductForm.Designer.cs index 0f91fa1..03caceb 100644 --- a/Tanshu.Accounts.PointOfSale/Products/ProductForm.Designer.cs +++ b/Tanshu.Accounts.PointOfSale/Products/ProductForm.Designer.cs @@ -40,7 +40,7 @@ this.Label2 = new System.Windows.Forms.Label(); this.txtUnits = new System.Windows.Forms.TextBox(); this.txtName = new System.Windows.Forms.TextBox(); - this.txtSalePrice = new System.Windows.Forms.TextBox(); + this.txtPrice = new System.Windows.Forms.TextBox(); this.cmbTax = new System.Windows.Forms.ComboBox(); this.chkDiscontinued = new System.Windows.Forms.CheckBox(); this.txtServiceCharge = new System.Windows.Forms.TextBox(); @@ -140,14 +140,14 @@ this.txtName.Size = new System.Drawing.Size(189, 20); this.txtName.TabIndex = 1; // - // txtSalePrice + // txtPrice // - this.txtSalePrice.AccessibleName = ""; - this.txtSalePrice.Location = new System.Drawing.Point(112, 64); - this.txtSalePrice.Name = "txtSalePrice"; - this.txtSalePrice.Size = new System.Drawing.Size(189, 20); - this.txtSalePrice.TabIndex = 3; - this.txtSalePrice.Text = "0"; + this.txtPrice.AccessibleName = ""; + this.txtPrice.Location = new System.Drawing.Point(112, 64); + this.txtPrice.Name = "txtPrice"; + this.txtPrice.Size = new System.Drawing.Size(189, 20); + this.txtPrice.TabIndex = 3; + this.txtPrice.Text = "0"; // // cmbTax // @@ -252,7 +252,7 @@ this.Controls.Add(this.chkDiscontinued); this.Controls.Add(this.txtServiceCharge); this.Controls.Add(this.Label7); - this.Controls.Add(this.txtSalePrice); + this.Controls.Add(this.txtPrice); this.Controls.Add(this.label5); this.Controls.Add(this.cmbTax); this.Controls.Add(this.txtUnits); @@ -288,7 +288,7 @@ internal System.Windows.Forms.Label Label2; internal System.Windows.Forms.TextBox txtUnits; internal System.Windows.Forms.TextBox txtName; - internal System.Windows.Forms.TextBox txtSalePrice; + internal System.Windows.Forms.TextBox txtPrice; internal System.Windows.Forms.ComboBox cmbTax; private System.Windows.Forms.CheckBox chkDiscontinued; internal System.Windows.Forms.TextBox txtServiceCharge; diff --git a/Tanshu.Accounts.PointOfSale/Products/ProductForm.cs b/Tanshu.Accounts.PointOfSale/Products/ProductForm.cs index 002309f..448f51b 100644 --- a/Tanshu.Accounts.PointOfSale/Products/ProductForm.cs +++ b/Tanshu.Accounts.PointOfSale/Products/ProductForm.cs @@ -26,7 +26,7 @@ namespace Tanshu.Accounts.PointOfSale txtCode.Text = product.Code.ToString(); txtName.Text = product.Name; txtUnits.Text = product.Units; - txtSalePrice.Text = product.SalePrice.ToString("#.##"); + txtPrice.Text = product.Price.ToString("#.##"); cmbTax.SelectedValue = product.Tax.TaxID; txtServiceCharge.Text = product.ServiceCharge.ToString("#.##"); chkDiscontinued.Checked = product.Discontinued; @@ -78,11 +78,11 @@ namespace Tanshu.Accounts.PointOfSale product.Units = txtUnits.Text.Trim(); decimal salePrice; - if (!decimal.TryParse(txtSalePrice.Text, out salePrice)) + if (!decimal.TryParse(txtPrice.Text, out salePrice)) return null; if (salePrice < 0) return null; - product.SalePrice = salePrice; + product.Price = salePrice; // Tax if (cmbTax.SelectedItem == null) diff --git a/Tanshu.Accounts.PointOfSale/Products/ProductListForm.Designer.cs b/Tanshu.Accounts.PointOfSale/Products/ProductListForm.Designer.cs index 40de627..6e33cc2 100644 --- a/Tanshu.Accounts.PointOfSale/Products/ProductListForm.Designer.cs +++ b/Tanshu.Accounts.PointOfSale/Products/ProductListForm.Designer.cs @@ -161,10 +161,10 @@ // // salePriceDataGridViewTextBoxColumn // - this.salePriceDataGridViewTextBoxColumn.DataPropertyName = "SalePrice"; + this.salePriceDataGridViewTextBoxColumn.DataPropertyName = "Price"; dataGridViewCellStyle2.Format = "N0"; this.salePriceDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle2; - this.salePriceDataGridViewTextBoxColumn.HeaderText = "SalePrice"; + this.salePriceDataGridViewTextBoxColumn.HeaderText = "Price"; this.salePriceDataGridViewTextBoxColumn.Name = "salePriceDataGridViewTextBoxColumn"; this.salePriceDataGridViewTextBoxColumn.ReadOnly = true; this.salePriceDataGridViewTextBoxColumn.Width = 77; diff --git a/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.cs b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.cs new file mode 100644 index 0000000..ab7747b --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using Tanshu.Accounts.Repository; +using Tanshu.Accounts.Contracts; +using Tanshu.Accounts.Helpers; + +namespace Tanshu.Accounts.PointOfSale +{ + public partial class VoidReprintedForm : Form + { + IList _list; + public VoidReprintedForm() + { + InitializeComponent(); + } + + private void dtpStart_ValueChanged(object sender, EventArgs e) + { + ShowStatement(); + } + + private void ShowStatement() + { + _list = new SalesAnalysisBI().VoidOrReprintedBillsList(dtpStart.Value, dtpFinish.Value); + dgvSale.AutoGenerateColumns = true; + dgvSale.DataSource = _list; + dgvSale.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + dgvSale.Columns[1].DefaultCellStyle.Format = "#,##0.00;(#,##0.00);0"; + dgvSale.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; + } + + private void dtpFinish_ValueChanged(object sender, EventArgs e) + { + ShowStatement(); + } + + private void Sale_Analysis_Form_Load(object sender, EventArgs e) + { + dtpStart.Value = DateTime.Today; + dtpFinish.Value = DateTime.Today; + ShowStatement(); + } + } +} diff --git a/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.designer.cs b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.designer.cs new file mode 100644 index 0000000..667ba54 --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.designer.cs @@ -0,0 +1,114 @@ +namespace Tanshu.Accounts.PointOfSale +{ + partial class VoidReprintedForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.dgvSale = new System.Windows.Forms.DataGridView(); + this.dtpFinish = new System.Windows.Forms.DateTimePicker(); + this.dtpStart = new System.Windows.Forms.DateTimePicker(); + this.label10 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSale)).BeginInit(); + this.SuspendLayout(); + // + // dgvSale + // + this.dgvSale.AllowUserToAddRows = false; + this.dgvSale.AllowUserToDeleteRows = false; + this.dgvSale.AllowUserToResizeRows = false; + this.dgvSale.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dgvSale.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSale.Location = new System.Drawing.Point(12, 41); + this.dgvSale.MultiSelect = false; + this.dgvSale.Name = "dgvSale"; + this.dgvSale.ReadOnly = true; + this.dgvSale.RowHeadersVisible = false; + this.dgvSale.RowTemplate.Height = 19; + this.dgvSale.RowTemplate.ReadOnly = true; + this.dgvSale.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dgvSale.Size = new System.Drawing.Size(335, 466); + this.dgvSale.TabIndex = 14; + // + // dtpFinish + // + this.dtpFinish.CustomFormat = "dd-MMM-yyyy"; + this.dtpFinish.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpFinish.Location = new System.Drawing.Point(168, 12); + this.dtpFinish.Name = "dtpFinish"; + this.dtpFinish.Size = new System.Drawing.Size(90, 20); + this.dtpFinish.TabIndex = 21; + this.dtpFinish.ValueChanged += new System.EventHandler(this.dtpFinish_ValueChanged); + // + // dtpStart + // + this.dtpStart.CustomFormat = "dd-MMM-yyyy"; + this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpStart.Location = new System.Drawing.Point(12, 12); + this.dtpStart.Name = "dtpStart"; + this.dtpStart.Size = new System.Drawing.Size(90, 20); + this.dtpStart.TabIndex = 20; + this.dtpStart.ValueChanged += new System.EventHandler(this.dtpStart_ValueChanged); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(108, 16); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(54, 13); + this.label10.TabIndex = 22; + this.label10.Text = "<- Date ->"; + // + // BillDetailsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(359, 519); + this.Controls.Add(this.dgvSale); + this.Controls.Add(this.dtpFinish); + this.Controls.Add(this.dtpStart); + this.Controls.Add(this.label10); + this.MaximizeBox = false; + this.Name = "BillDetailsForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Sale Analysis Form"; + this.Load += new System.EventHandler(this.Sale_Analysis_Form_Load); + ((System.ComponentModel.ISupportInitialize)(this.dgvSale)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DataGridView dgvSale; + private System.Windows.Forms.DateTimePicker dtpFinish; + private System.Windows.Forms.DateTimePicker dtpStart; + private System.Windows.Forms.Label label10; + } +} \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.resx b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/Tanshu.Accounts.PointOfSale/Reports/VoidReprintedForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj b/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj index ea76f5f..e417f76 100644 --- a/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj +++ b/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj @@ -149,6 +149,12 @@ BillDetailsForm.cs + + Form + + + VoidReprintedForm.cs + Form @@ -278,6 +284,10 @@ BillDetailsForm.cs Designer + + VoidReprintedForm.cs + Designer + SaleDetail.cs Designer @@ -417,6 +427,9 @@ Tanshu.Accounts.Repository + + +