Fix: Products edit form vat and st were mixed in combobox.

Fix: Removed MinimumLevel and MaximumLevel from products.
This commit is contained in:
Amritanshu
2013-11-30 16:42:08 +05:30
parent c36240398f
commit 82f3b6b3e7
9 changed files with 166 additions and 370 deletions

View File

@ -34,6 +34,8 @@ ALTER TABLE dbo.Products DROP COLUMN timestamp;
ALTER TABLE dbo.Products DROP COLUMN PurchasePrice; ALTER TABLE dbo.Products DROP COLUMN PurchasePrice;
ALTER TABLE dbo.Products DROP COLUMN SaleLedgerID; ALTER TABLE dbo.Products DROP COLUMN SaleLedgerID;
ALTER TABLE dbo.Products DROP COLUMN PurchaseLedgerID; ALTER TABLE dbo.Products DROP COLUMN PurchaseLedgerID;
ALTER TABLE dbo.Products DROP COLUMN MinimumLevel;
ALTER TABLE dbo.Products DROP COLUMN MaximumLevel;
ALTER TABLE dbo.Waiters DROP COLUMN timestamp; ALTER TABLE dbo.Waiters DROP COLUMN timestamp;
ALTER TABLE dbo.Vouchers DROP COLUMN Ref; ALTER TABLE dbo.Vouchers DROP COLUMN Ref;
ALTER TABLE dbo.Vouchers DROP COLUMN Type; ALTER TABLE dbo.Vouchers DROP COLUMN Type;
@ -53,6 +55,22 @@ exec sp_rename 'dbo.ProductGroups.ProductTypeID', 'ProductGroupID', 'COLUMN';
exec sp_rename 'dbo.Products.ProductTypeID', 'ProductGroupID', 'COLUMN'; exec sp_rename 'dbo.Products.ProductTypeID', 'ProductGroupID', 'COLUMN';
exec sp_rename 'dbo.Products.PurchaseTaxID', 'ServiceTaxID', 'COLUMN'; exec sp_rename 'dbo.Products.PurchaseTaxID', 'ServiceTaxID', 'COLUMN';
exec sp_rename 'dbo.Products.SaleTaxID', 'VatID', 'COLUMN'; exec sp_rename 'dbo.Products.SaleTaxID', 'VatID', 'COLUMN';
INSERT INTO Tax(TaxID, Name, Rate, Type) VALUES ('27B6FA07-F9D2-49C6-8E37-31A5EFC04FBB', '4.944% Service Tax', 0.049444, 'V');
UPDATE Products SET ServiceTaxID = '3D1413EE-D3EA-412F-B762-BAE37BD503B6' WHERE VatID != '8C200738-374B-484E-B239-9BD0CB9CCF36';
UPDATE Products SET ServiceTaxID = '27B6FA07-F9D2-49C6-8E37-31A5EFC04FBB' WHERE VatID = '8C200738-374B-484E-B239-9BD0CB9CCF36';
UPDATE Products SET VatID = '48E10C74-9508-44CB-9D7D-7B71ABDAA289' WHERE VatID ='8C200738-374B-484E-B239-9BD0CB9CCF36';
update Products set productgroupid = 'A331DC08-EAA5-4C87-8DE0-0F9CBA2558F7'
where productgroupid in (
'80EC988A-448E-4F81-B753-1B70FF8B233C',
'28846C15-6391-48D4-A50E-2A40BA8156C0',
'B75B3C3A-4364-4B36-8DEA-C0C0247449B2',
'F76B54C6-21CE-450F-AC73-E1A3A43DAB43',
'CC099265-97FF-45CA-80A6-F7BB189C18B7',
'389A3E09-AC97-4C4B-BCE1-342D2CF991DB'
);
delete from productgroups where productgroupid not in (
select distinct productgroupid from products)
update inventory set servicetax = 0.04944, vat = 0.12500 from inventory where vat = 0.17444
COMMIT COMMIT
-- ROLLBACK -- ROLLBACK

View File

@ -14,8 +14,6 @@ namespace Tanshu.Accounts.Contracts
public decimal SalePrice { get; set; } public decimal SalePrice { get; set; }
public Guid ServiceTaxID { get; set; } public Guid ServiceTaxID { get; set; }
public bool Discontinued { get; set; } public bool Discontinued { get; set; }
public decimal MinimumLevel { get; set; }
public decimal MaximumLevel { get; set; }
public int SortOrder { get; set; } public int SortOrder { get; set; }
} }
} }

View File

@ -8,7 +8,9 @@ namespace Tanshu.Accounts.Contracts
public int Code { get; set; } public int Code { get; set; }
public string Name { get; set; } public string Name { get; set; }
public decimal Price { get; set; } public decimal Price { get; set; }
public string Category { get; set; } public string ProuctGroup { get; set; }
public string Vat { get; set; }
public string ServiceTax { get; set; }
public Guid ProductID { get; set; } public Guid ProductID { get; set; }
} }
} }

View File

@ -13,12 +13,13 @@ namespace Tanshu.Accounts.Helpers
{ {
public class SelectProduct : Tanshu.Data.BaseSelector<ProductDisplaySmallBO> public class SelectProduct : Tanshu.Data.BaseSelector<ProductDisplaySmallBO>
{ {
public event ProductEventHandler productEvent;
public SelectProduct(GetData<ProductDisplaySmallBO> getData, bool autoClose) public SelectProduct(GetData<ProductDisplaySmallBO> getData, bool autoClose)
: base(getData, true, "List of Products") : base(getData, autoClose, "List of Products")
{ {
List<string> filters = new List<string>(); List<string> filters = new List<string>();
filters.Add("Name"); filters.Add("Name");
filters.Add("Type"); filters.Add("ProductGroup");
SetFilterColumns(filters); SetFilterColumns(filters);
grid.Columns["ProductID"].Visible = false; grid.Columns["ProductID"].Visible = false;
} }
@ -37,10 +38,26 @@ namespace Tanshu.Accounts.Helpers
DisplayLabel = string.Format("Chosen Product {0} with rate Rs. {1}", item.Name, item.Price); DisplayLabel = string.Format("Chosen Product {0} with rate Rs. {1}", item.Name, item.Price);
} }
protected override ProductDisplaySmallBO HandleKeydown(object sender, ExtendedKeyEventArgs e) protected override ProductDisplaySmallBO HandleKeydown(object sender, ExtendedKeyEventArgs e)
{
var product = bindingSource.Current as ProductDisplaySmallBO;
if (productEvent == null)
{ {
e.Handled = false; e.Handled = false;
return null; return null;
} }
Guid? id = null;
if ((product != null) && (e.KeyCode == Keys.F2))
id = product.ProductID;
if ((e.KeyCode == Keys.F1) || (e.KeyCode == Keys.F2))
{
var updatedProduct = productEvent(sender, new ProductEventArgs(id));
if (updatedProduct != null)
product = new ProductDisplaySmallBO() { ProductID = updatedProduct.ProductID, Code = product.Code };
e.Handled = product != null;
}
return product;
}
#region Designer Code #region Designer Code
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@ -74,4 +91,17 @@ namespace Tanshu.Accounts.Helpers
#endregion #endregion
#endregion #endregion
} }
public delegate ProductBO ProductEventHandler(object sender, ProductEventArgs e);
public class ProductEventArgs : EventArgs
{
public ProductEventArgs(Guid? productID)
{
ProductID = productID;
}
public Guid? ProductID
{
get;
private set;
}
}
} }

View File

@ -208,9 +208,19 @@ namespace Tanshu.Accounts.PointOfSale
} }
else else
{ {
ProductsForm form = new ProductsForm(); using (SelectProduct selectProduct = new SelectProduct(new ProductBI().GetFilteredProducts, false))
{
selectProduct.productEvent += new ProductEventHandler(selectProduct_productEvent);
selectProduct.ShowDialog();
}
}
}
ProductBO selectProduct_productEvent(object sender, ProductEventArgs e)
{
using (var form = new ProductsForm(e.ProductID))
{
form.ShowDialog(); form.ShowDialog();
form.Dispose(); return form.Product;
} }
} }

View File

@ -31,32 +31,21 @@
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.Label4 = new System.Windows.Forms.Label(); this.Label4 = new System.Windows.Forms.Label();
this.txtSalePrice = new System.Windows.Forms.TextBox(); this.txtSalePrice = new System.Windows.Forms.TextBox();
this.bsProducts = new System.Windows.Forms.BindingSource(this.components);
this.GroupBox1 = new System.Windows.Forms.GroupBox(); this.GroupBox1 = new System.Windows.Forms.GroupBox();
this.btnAddCategory = new System.Windows.Forms.Button(); this.btnAddCategory = new System.Windows.Forms.Button();
this.cmbProductGroups = new System.Windows.Forms.ComboBox(); this.cmbProductGroups = new System.Windows.Forms.ComboBox();
this.bsTypes = new System.Windows.Forms.BindingSource(this.components); this.bsProductGroups = new System.Windows.Forms.BindingSource(this.components);
this.cmbUnits = new System.Windows.Forms.ComboBox(); this.cmbUnits = new System.Windows.Forms.ComboBox();
this.bsUnits = new System.Windows.Forms.BindingSource(this.components); this.bsUnits = new System.Windows.Forms.BindingSource(this.components);
this.Label7 = new System.Windows.Forms.Label(); this.Label7 = new System.Windows.Forms.Label();
this.Label3 = new System.Windows.Forms.Label(); this.Label3 = new System.Windows.Forms.Label();
this.txtName = new System.Windows.Forms.TextBox(); this.txtName = new System.Windows.Forms.TextBox();
this.Label2 = new System.Windows.Forms.Label(); this.Label2 = new System.Windows.Forms.Label();
this.btnNavFirst = new System.Windows.Forms.Button();
this.btnNavPrev = new System.Windows.Forms.Button();
this.lblNavLocation = new System.Windows.Forms.Label();
this.btnNavNext = new System.Windows.Forms.Button();
this.btnLast = new System.Windows.Forms.Button();
this.txtUniqueID = new System.Windows.Forms.TextBox(); this.txtUniqueID = new System.Windows.Forms.TextBox();
this.Label1 = new System.Windows.Forms.Label(); this.Label1 = new System.Windows.Forms.Label();
this.btnAdd = new System.Windows.Forms.Button();
this.btnDelete = new System.Windows.Forms.Button(); this.btnDelete = new System.Windows.Forms.Button();
this.btnUpdate = new System.Windows.Forms.Button(); this.btnSave = new System.Windows.Forms.Button();
this.btnExit = new System.Windows.Forms.Button(); this.btnCancel = new System.Windows.Forms.Button();
this.txtMinimumLevel = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.txtMaximumLevel = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.chkDiscontinued = new System.Windows.Forms.CheckBox(); this.chkDiscontinued = new System.Windows.Forms.CheckBox();
this.cmbVat = new System.Windows.Forms.ComboBox(); this.cmbVat = new System.Windows.Forms.ComboBox();
this.bsVat = new System.Windows.Forms.BindingSource(this.components); this.bsVat = new System.Windows.Forms.BindingSource(this.components);
@ -64,9 +53,8 @@
this.cmbServiceTax = new System.Windows.Forms.ComboBox(); this.cmbServiceTax = new System.Windows.Forms.ComboBox();
this.bsServiceTax = new System.Windows.Forms.BindingSource(this.components); this.bsServiceTax = new System.Windows.Forms.BindingSource(this.components);
this.label8 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.bsProducts)).BeginInit();
this.GroupBox1.SuspendLayout(); this.GroupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bsTypes)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bsProductGroups)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bsUnits)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bsUnits)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bsVat)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bsVat)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bsServiceTax)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bsServiceTax)).BeginInit();
@ -84,19 +72,12 @@
// txtSalePrice // txtSalePrice
// //
this.txtSalePrice.AccessibleName = "Phone 1"; this.txtSalePrice.AccessibleName = "Phone 1";
this.txtSalePrice.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bsProducts, "SalePrice", true));
this.txtSalePrice.Location = new System.Drawing.Point(13, 164); this.txtSalePrice.Location = new System.Drawing.Point(13, 164);
this.txtSalePrice.Name = "txtSalePrice"; this.txtSalePrice.Name = "txtSalePrice";
this.txtSalePrice.Size = new System.Drawing.Size(74, 20); this.txtSalePrice.Size = new System.Drawing.Size(74, 20);
this.txtSalePrice.TabIndex = 53; this.txtSalePrice.TabIndex = 53;
this.txtSalePrice.Text = "0"; this.txtSalePrice.Text = "0";
// //
// bsProducts
//
this.bsProducts.DataSource = typeof(Tanshu.Accounts.Contracts.ProductBO);
this.bsProducts.AddingNew += new System.ComponentModel.AddingNewEventHandler(this.bsProducts_AddingNew);
this.bsProducts.PositionChanged += new System.EventHandler(this.bsProducts_PositionChanged);
//
// GroupBox1 // GroupBox1
// //
this.GroupBox1.Controls.Add(this.btnAddCategory); this.GroupBox1.Controls.Add(this.btnAddCategory);
@ -123,8 +104,7 @@
// //
// cmbProductGroups // cmbProductGroups
// //
this.cmbProductGroups.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsProducts, "ProductGroupID", true)); this.cmbProductGroups.DataSource = this.bsProductGroups;
this.cmbProductGroups.DataSource = this.bsTypes;
this.cmbProductGroups.DisplayMember = "Name"; this.cmbProductGroups.DisplayMember = "Name";
this.cmbProductGroups.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbProductGroups.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbProductGroups.Location = new System.Drawing.Point(94, 72); this.cmbProductGroups.Location = new System.Drawing.Point(94, 72);
@ -133,13 +113,12 @@
this.cmbProductGroups.TabIndex = 35; this.cmbProductGroups.TabIndex = 35;
this.cmbProductGroups.ValueMember = "ProductGroupID"; this.cmbProductGroups.ValueMember = "ProductGroupID";
// //
// bsTypes // bsProductGroups
// //
this.bsTypes.DataSource = typeof(Tanshu.Accounts.Contracts.ProductGroupBO); this.bsProductGroups.DataSource = typeof(Tanshu.Accounts.Contracts.ProductGroupBO);
// //
// cmbUnits // cmbUnits
// //
this.cmbUnits.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsProducts, "Units", true));
this.cmbUnits.DataSource = this.bsUnits; this.cmbUnits.DataSource = this.bsUnits;
this.cmbUnits.DisplayMember = "Description"; this.cmbUnits.DisplayMember = "Description";
this.cmbUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@ -174,7 +153,6 @@
// txtName // txtName
// //
this.txtName.AccessibleName = ""; this.txtName.AccessibleName = "";
this.txtName.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bsProducts, "Name", true));
this.txtName.Location = new System.Drawing.Point(94, 19); this.txtName.Location = new System.Drawing.Point(94, 19);
this.txtName.Name = "txtName"; this.txtName.Name = "txtName";
this.txtName.Size = new System.Drawing.Size(212, 20); this.txtName.Size = new System.Drawing.Size(212, 20);
@ -189,58 +167,9 @@
this.Label2.TabIndex = 28; this.Label2.TabIndex = 28;
this.Label2.Text = "Name"; this.Label2.Text = "Name";
// //
// btnNavFirst
//
this.btnNavFirst.Location = new System.Drawing.Point(40, 334);
this.btnNavFirst.Name = "btnNavFirst";
this.btnNavFirst.Size = new System.Drawing.Size(40, 23);
this.btnNavFirst.TabIndex = 44;
this.btnNavFirst.Text = "<<";
this.btnNavFirst.Click += new System.EventHandler(this.btnNavFirst_Click);
//
// btnNavPrev
//
this.btnNavPrev.Location = new System.Drawing.Point(86, 334);
this.btnNavPrev.Name = "btnNavPrev";
this.btnNavPrev.Size = new System.Drawing.Size(35, 23);
this.btnNavPrev.TabIndex = 45;
this.btnNavPrev.Text = "<";
this.btnNavPrev.Click += new System.EventHandler(this.btnNavPrev_Click);
//
// lblNavLocation
//
this.lblNavLocation.BackColor = System.Drawing.Color.White;
this.lblNavLocation.Location = new System.Drawing.Point(118, 334);
this.lblNavLocation.Name = "lblNavLocation";
this.lblNavLocation.Size = new System.Drawing.Size(95, 23);
this.lblNavLocation.TabIndex = 46;
this.lblNavLocation.Text = "No Records";
this.lblNavLocation.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.lblNavLocation.Click += new System.EventHandler(this.lblNavLocation_Click);
//
// btnNavNext
//
this.btnNavNext.Location = new System.Drawing.Point(214, 334);
this.btnNavNext.Name = "btnNavNext";
this.btnNavNext.Size = new System.Drawing.Size(35, 23);
this.btnNavNext.TabIndex = 47;
this.btnNavNext.Text = ">";
this.btnNavNext.Click += new System.EventHandler(this.btnNavNext_Click);
//
// btnLast
//
this.btnLast.Location = new System.Drawing.Point(254, 334);
this.btnLast.Name = "btnLast";
this.btnLast.Size = new System.Drawing.Size(40, 23);
this.btnLast.TabIndex = 48;
this.btnLast.Text = ">>";
this.btnLast.Click += new System.EventHandler(this.btnLast_Click);
//
// txtUniqueID // txtUniqueID
// //
this.txtUniqueID.AccessibleName = "Unique ID"; this.txtUniqueID.AccessibleName = "Unique ID";
this.txtUniqueID.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bsProducts, "Code", true));
this.txtUniqueID.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.bsProducts, "ProductID", true));
this.txtUniqueID.Enabled = false; this.txtUniqueID.Enabled = false;
this.txtUniqueID.Location = new System.Drawing.Point(75, 12); this.txtUniqueID.Location = new System.Drawing.Point(75, 12);
this.txtUniqueID.Name = "txtUniqueID"; this.txtUniqueID.Name = "txtUniqueID";
@ -259,87 +188,39 @@
this.Label1.Text = "Code"; this.Label1.Text = "Code";
this.Label1.TextAlign = System.Drawing.ContentAlignment.TopRight; this.Label1.TextAlign = System.Drawing.ContentAlignment.TopRight;
// //
// btnAdd
//
this.btnAdd.Location = new System.Drawing.Point(9, 300);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(75, 23);
this.btnAdd.TabIndex = 72;
this.btnAdd.Text = "&Add";
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// btnDelete // btnDelete
// //
this.btnDelete.Location = new System.Drawing.Point(91, 300); this.btnDelete.Location = new System.Drawing.Point(90, 214);
this.btnDelete.Name = "btnDelete"; this.btnDelete.Name = "btnDelete";
this.btnDelete.Size = new System.Drawing.Size(75, 23); this.btnDelete.Size = new System.Drawing.Size(75, 23);
this.btnDelete.TabIndex = 73; this.btnDelete.TabIndex = 73;
this.btnDelete.Text = "&Delete"; this.btnDelete.Text = "&Delete";
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click); this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
// //
// btnUpdate // btnSave
// //
this.btnUpdate.AccessibleName = "Done"; this.btnSave.AccessibleName = "Done";
this.btnUpdate.Location = new System.Drawing.Point(173, 300); this.btnSave.Location = new System.Drawing.Point(12, 213);
this.btnUpdate.Name = "btnUpdate"; this.btnSave.Name = "btnSave";
this.btnUpdate.Size = new System.Drawing.Size(72, 24); this.btnSave.Size = new System.Drawing.Size(72, 24);
this.btnUpdate.TabIndex = 71; this.btnSave.TabIndex = 71;
this.btnUpdate.Text = "&Update"; this.btnSave.Text = "&Save";
this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click); this.btnSave.Click += new System.EventHandler(this.btnUpdate_Click);
// //
// btnExit // btnCancel
// //
this.btnExit.AccessibleName = "Done"; this.btnCancel.AccessibleName = "Done";
this.btnExit.Location = new System.Drawing.Point(252, 300); this.btnCancel.Location = new System.Drawing.Point(255, 214);
this.btnExit.Name = "btnExit"; this.btnCancel.Name = "btnCancel";
this.btnExit.Size = new System.Drawing.Size(72, 24); this.btnCancel.Size = new System.Drawing.Size(72, 24);
this.btnExit.TabIndex = 70; this.btnCancel.TabIndex = 70;
this.btnExit.Text = "E&xit"; this.btnCancel.Text = "&Cancel";
this.btnExit.Click += new System.EventHandler(this.btnExit_Click); this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// txtMinimumLevel
//
this.txtMinimumLevel.AccessibleName = "Phone 1";
this.txtMinimumLevel.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bsProducts, "MinimumLevel", true));
this.txtMinimumLevel.Location = new System.Drawing.Point(10, 264);
this.txtMinimumLevel.Name = "txtMinimumLevel";
this.txtMinimumLevel.Size = new System.Drawing.Size(77, 20);
this.txtMinimumLevel.TabIndex = 75;
this.txtMinimumLevel.Text = "0";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(10, 248);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(77, 13);
this.label6.TabIndex = 74;
this.label6.Text = "Minimum Level";
//
// txtMaximumLevel
//
this.txtMaximumLevel.AccessibleName = "Phone 1";
this.txtMaximumLevel.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bsProducts, "MaximumLevel", true));
this.txtMaximumLevel.Location = new System.Drawing.Point(96, 264);
this.txtMaximumLevel.Name = "txtMaximumLevel";
this.txtMaximumLevel.Size = new System.Drawing.Size(85, 20);
this.txtMaximumLevel.TabIndex = 77;
this.txtMaximumLevel.Text = "0";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(93, 249);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(80, 13);
this.label9.TabIndex = 76;
this.label9.Text = "Maximum Level";
// //
// chkDiscontinued // chkDiscontinued
// //
this.chkDiscontinued.AutoSize = true; this.chkDiscontinued.AutoSize = true;
this.chkDiscontinued.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.bsProducts, "Discontinued", true)); this.chkDiscontinued.Location = new System.Drawing.Point(16, 190);
this.chkDiscontinued.Location = new System.Drawing.Point(233, 272);
this.chkDiscontinued.Name = "chkDiscontinued"; this.chkDiscontinued.Name = "chkDiscontinued";
this.chkDiscontinued.Size = new System.Drawing.Size(88, 17); this.chkDiscontinued.Size = new System.Drawing.Size(88, 17);
this.chkDiscontinued.TabIndex = 78; this.chkDiscontinued.TabIndex = 78;
@ -348,11 +229,10 @@
// //
// cmbVat // cmbVat
// //
this.cmbVat.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsProducts, "VatID", true));
this.cmbVat.DataSource = this.bsVat; this.cmbVat.DataSource = this.bsVat;
this.cmbVat.DisplayMember = "Name"; this.cmbVat.DisplayMember = "Name";
this.cmbVat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbVat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbVat.Location = new System.Drawing.Point(236, 163); this.cmbVat.Location = new System.Drawing.Point(106, 163);
this.cmbVat.Name = "cmbVat"; this.cmbVat.Name = "cmbVat";
this.cmbVat.Size = new System.Drawing.Size(91, 21); this.cmbVat.Size = new System.Drawing.Size(91, 21);
this.cmbVat.TabIndex = 82; this.cmbVat.TabIndex = 82;
@ -365,7 +245,7 @@
// label10 // label10
// //
this.label10.AutoSize = true; this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(241, 148); this.label10.Location = new System.Drawing.Point(111, 148);
this.label10.Name = "label10"; this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(23, 13); this.label10.Size = new System.Drawing.Size(23, 13);
this.label10.TabIndex = 81; this.label10.TabIndex = 81;
@ -373,11 +253,10 @@
// //
// cmbServiceTax // cmbServiceTax
// //
this.cmbServiceTax.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsProducts, "VatID", true));
this.cmbServiceTax.DataSource = this.bsServiceTax; this.cmbServiceTax.DataSource = this.bsServiceTax;
this.cmbServiceTax.DisplayMember = "Name"; this.cmbServiceTax.DisplayMember = "Name";
this.cmbServiceTax.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbServiceTax.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbServiceTax.Location = new System.Drawing.Point(236, 205); this.cmbServiceTax.Location = new System.Drawing.Point(227, 164);
this.cmbServiceTax.Name = "cmbServiceTax"; this.cmbServiceTax.Name = "cmbServiceTax";
this.cmbServiceTax.Size = new System.Drawing.Size(91, 21); this.cmbServiceTax.Size = new System.Drawing.Size(91, 21);
this.cmbServiceTax.TabIndex = 84; this.cmbServiceTax.TabIndex = 84;
@ -390,7 +269,7 @@
// label8 // label8
// //
this.label8.AutoSize = true; this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(241, 190); this.label8.Location = new System.Drawing.Point(223, 148);
this.label8.Name = "label8"; this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(64, 13); this.label8.Size = new System.Drawing.Size(64, 13);
this.label8.TabIndex = 83; this.label8.TabIndex = 83;
@ -400,29 +279,19 @@
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(336, 365); this.ClientSize = new System.Drawing.Size(336, 249);
this.Controls.Add(this.cmbServiceTax); this.Controls.Add(this.cmbServiceTax);
this.Controls.Add(this.label8); this.Controls.Add(this.label8);
this.Controls.Add(this.cmbVat); this.Controls.Add(this.cmbVat);
this.Controls.Add(this.Label1); this.Controls.Add(this.Label1);
this.Controls.Add(this.label10); this.Controls.Add(this.label10);
this.Controls.Add(this.chkDiscontinued); this.Controls.Add(this.chkDiscontinued);
this.Controls.Add(this.txtMaximumLevel);
this.Controls.Add(this.label9);
this.Controls.Add(this.txtMinimumLevel);
this.Controls.Add(this.label6);
this.Controls.Add(this.btnAdd);
this.Controls.Add(this.btnDelete); this.Controls.Add(this.btnDelete);
this.Controls.Add(this.btnUpdate); this.Controls.Add(this.btnSave);
this.Controls.Add(this.btnExit); this.Controls.Add(this.btnCancel);
this.Controls.Add(this.Label4); this.Controls.Add(this.Label4);
this.Controls.Add(this.txtSalePrice); this.Controls.Add(this.txtSalePrice);
this.Controls.Add(this.GroupBox1); this.Controls.Add(this.GroupBox1);
this.Controls.Add(this.btnNavFirst);
this.Controls.Add(this.btnNavPrev);
this.Controls.Add(this.lblNavLocation);
this.Controls.Add(this.btnNavNext);
this.Controls.Add(this.btnLast);
this.Controls.Add(this.txtUniqueID); this.Controls.Add(this.txtUniqueID);
this.MaximizeBox = false; this.MaximizeBox = false;
this.MinimizeBox = false; this.MinimizeBox = false;
@ -430,10 +299,9 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Products"; this.Text = "Products";
this.Load += new System.EventHandler(this.Products_Load); this.Load += new System.EventHandler(this.Products_Load);
((System.ComponentModel.ISupportInitialize)(this.bsProducts)).EndInit();
this.GroupBox1.ResumeLayout(false); this.GroupBox1.ResumeLayout(false);
this.GroupBox1.PerformLayout(); this.GroupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bsTypes)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bsProductGroups)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bsUnits)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bsUnits)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bsVat)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bsVat)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bsServiceTax)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bsServiceTax)).EndInit();
@ -454,27 +322,16 @@
internal System.Windows.Forms.Label Label3; internal System.Windows.Forms.Label Label3;
internal System.Windows.Forms.TextBox txtName; internal System.Windows.Forms.TextBox txtName;
internal System.Windows.Forms.Label Label2; internal System.Windows.Forms.Label Label2;
internal System.Windows.Forms.Button btnNavFirst;
internal System.Windows.Forms.Button btnNavPrev;
internal System.Windows.Forms.Label lblNavLocation;
internal System.Windows.Forms.Button btnNavNext;
internal System.Windows.Forms.Button btnLast;
internal System.Windows.Forms.TextBox txtUniqueID; internal System.Windows.Forms.TextBox txtUniqueID;
internal System.Windows.Forms.Label Label1; internal System.Windows.Forms.Label Label1;
internal System.Windows.Forms.Button btnAdd;
internal System.Windows.Forms.Button btnDelete; internal System.Windows.Forms.Button btnDelete;
internal System.Windows.Forms.Button btnUpdate; internal System.Windows.Forms.Button btnSave;
internal System.Windows.Forms.Button btnExit; internal System.Windows.Forms.Button btnCancel;
internal System.Windows.Forms.TextBox txtMinimumLevel;
internal System.Windows.Forms.Label label6;
internal System.Windows.Forms.TextBox txtMaximumLevel;
internal System.Windows.Forms.Label label9;
private System.Windows.Forms.CheckBox chkDiscontinued; private System.Windows.Forms.CheckBox chkDiscontinued;
internal System.Windows.Forms.ComboBox cmbVat; internal System.Windows.Forms.ComboBox cmbVat;
internal System.Windows.Forms.Label label10; internal System.Windows.Forms.Label label10;
private System.Windows.Forms.BindingSource bsProducts;
private System.Windows.Forms.BindingSource bsUnits; private System.Windows.Forms.BindingSource bsUnits;
private System.Windows.Forms.BindingSource bsTypes; private System.Windows.Forms.BindingSource bsProductGroups;
private System.Windows.Forms.BindingSource bsVat; private System.Windows.Forms.BindingSource bsVat;
private System.Windows.Forms.BindingSource bsServiceTax; private System.Windows.Forms.BindingSource bsServiceTax;
internal System.Windows.Forms.ComboBox cmbServiceTax; internal System.Windows.Forms.ComboBox cmbServiceTax;

View File

@ -13,111 +13,72 @@ namespace Tanshu.Accounts.PointOfSale
{ {
bool createOnly = false; bool createOnly = false;
List<ProductDisplayBO> productList = new List<ProductDisplayBO>(); List<ProductDisplayBO> productList = new List<ProductDisplayBO>();
Guid? _productID;
ProductBO product;
#region Form Load #region Form Load
public ProductsForm() public ProductsForm(Guid? productID)
{ {
_productID = productID;
InitializeComponent(); InitializeComponent();
} }
private void Products_Load(object sender, EventArgs e) private void Products_Load(object sender, EventArgs e)
{ {
productList = new ProductBI().GetProducts();
bsProducts.DataSource = productList;
FillCombos(); FillCombos();
bsProducts.MoveFirst(); if (_productID.HasValue)
{
product = new ProductBI().GetProduct(_productID.Value);
txtUniqueID.Text = product.Code.ToString();
txtName.Text = product.Name;
cmbUnits.SelectedItem = product.Units;
cmbProductGroups.SelectedValue = product.ProductGroupID;
txtSalePrice.Text = product.SalePrice.ToString();
cmbVat.SelectedValue = product.VatID;
cmbServiceTax.SelectedValue = product.ServiceTaxID;
chkDiscontinued.Checked = product.Discontinued;
btnSave.Text = "&Update";
btnDelete.Enabled = true;
}
else
{
btnSave.Text = "&Save";
btnDelete.Enabled = false;
}
} }
private void FillCombos() private void FillCombos()
{ {
bsUnits.DataSource = new StringType[17] {new StringType ( "Cms"), string[] units = { "Can", "Gms", "Rs.", "Piece", "Liter", "Plate", "Kg.", "Bottle", "Pack" };
new StringType ("Meter"), bsUnits.DataSource = units;
new StringType ("Quintal"), bsProductGroups.DataSource = new ProductBI().GetProductGroups();
new StringType ("Can"),
new StringType ("Gms"),
new StringType ("Rs."),
new StringType ("Piece"),
new StringType ("Petti"),
new StringType ("No.'s"),
new StringType ("Liter"),
new StringType ("Box"),
new StringType ("Tin"),
new StringType ("Dibbi"),
new StringType ("Plate"),
new StringType ("Kg."),
new StringType ("Bottle"),
new StringType ("Pack" )};
bsTypes.DataSource = new ProductBI().GetProductGroups();
bsVat.DataSource = new ProductBI().GetTaxes(); bsVat.DataSource = new ProductBI().GetTaxes();
bsServiceTax.DataSource = new ProductBI().GetTaxes(); bsServiceTax.DataSource = new ProductBI().GetTaxes();
} }
#endregion #endregion
#region Buttons #region Buttons
private void btnAdd_Click(object sender, EventArgs e)
{
if (btnAdd.Text == "&Add")
{
bsProducts.AddNew();
LockControls(true);
this.lblNavLocation.Text = "Add New";
txtName.Select();
}
else
{
if (!ValidateValues())
{
MessageBox.Show("Missing Information: Please check the form.");
bsProducts.CancelEdit();
}
else
{
bsProducts.EndEdit();
Save(true);
if (createOnly)
btnExit_Click(sender, e);
else
{
productList = new ProductBI().GetProducts();
bsProducts.DataSource = productList;
LockControls(false);
}
}
}
}
private void btnDelete_Click(object sender, EventArgs e) private void btnDelete_Click(object sender, EventArgs e)
{ {
if (btnDelete.Text == "&Delete") if (MessageBox.Show("Are you sure?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes)
{ return;
if (productList.Count() > 0)
{
if (MessageBox.Show("Are you sure?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
if (new ProductBI().Delete(productList.Single(p => p.Code == Convert.ToInt32(txtUniqueID.Text)).ProductID))
{
productList = new ProductBI().GetProducts();
btnNavFirst_Click(sender, e);
}
}
}
}
else if (new ProductBI().Delete(product.ProductID))
{ {
LockControls(false); btnCancel_Click(sender, e);
bsProducts.CancelEdit();
} }
} }
private void btnUpdate_Click(object sender, EventArgs e) private void btnUpdate_Click(object sender, EventArgs e)
{ {
if (MessageBox.Show("Are you sure?", "Update", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) if (!ValidateValues())
{ {
Save(false); MessageBox.Show("Missing Information: Please check the form.");
bsProducts.ResetItem(bsProducts.Position); txtName.Focus();
}
else if (MessageBox.Show("Are you sure?", "Update", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
Save();
btnCancel_Click(sender, e);
} }
} }
#endregion #endregion
@ -132,16 +93,11 @@ namespace Tanshu.Accounts.PointOfSale
return returnType; return returnType;
} }
private bool Save(bool addNew) private void Save()
{ {
#region Setup Products if (product == null)
UserBO user = CurrentUser.user; product = new ProductBO();
ProductBO product = new ProductBO();
if (!addNew)
product = new ProductBI().GetProduct(productList.ElementAt(bsProducts.Position).ProductID);
product.Name = txtName.Text; product.Name = txtName.Text;
product.MinimumLevel = Convert.ToDecimal(txtMinimumLevel.Text);
product.MaximumLevel = Convert.ToDecimal(txtMaximumLevel.Text);
product.Units = cmbUnits.Text; product.Units = cmbUnits.Text;
product.ProductGroupID = new Guid(cmbProductGroups.SelectedValue.ToString()); product.ProductGroupID = new Guid(cmbProductGroups.SelectedValue.ToString());
product.SalePrice = Convert.ToDecimal(txtSalePrice.Text); product.SalePrice = Convert.ToDecimal(txtSalePrice.Text);
@ -149,100 +105,30 @@ namespace Tanshu.Accounts.PointOfSale
product.ServiceTaxID = new Guid(cmbServiceTax.SelectedValue.ToString()); product.ServiceTaxID = new Guid(cmbServiceTax.SelectedValue.ToString());
product.Discontinued = chkDiscontinued.Checked; product.Discontinued = chkDiscontinued.Checked;
product.VatID = new Guid(cmbVat.SelectedValue.ToString()); product.VatID = new Guid(cmbVat.SelectedValue.ToString());
if (addNew) if (product.ProductID == new Guid())
new ProductBI().Insert(product); new ProductBI().Insert(product);
else else
new ProductBI().Update(product); new ProductBI().Update(product);
return true;
#endregion
} }
#endregion #endregion
private void btnExit_Click(object sender, EventArgs e) private void btnCancel_Click(object sender, EventArgs e)
{ {
this.Close(); this.Close();
} }
private void LockControls(bool enable)
{
if (enable)
{
btnAdd.Text = "&Save";
btnDelete.Text = "&Cancel";
}
else
{
btnAdd.Text = "&Add";
btnDelete.Text = "&Delete";
}
btnExit.Enabled = !enable;
btnLast.Enabled = !enable;
btnNavPrev.Enabled = !enable;
btnNavNext.Enabled = !enable;
btnUpdate.Enabled = !enable;
btnNavFirst.Enabled = !enable;
}
private void btnAddCategory_Click(object sender, EventArgs e) private void btnAddCategory_Click(object sender, EventArgs e)
{ {
ProductGroups frm = new ProductGroups(); using (var frm = new ProductGroups())
{
frm.ShowDialog(); frm.ShowDialog();
frm.Dispose(); }
FillCombos(); FillCombos();
cmbProductGroups.SelectedIndex = 0; cmbProductGroups.SelectedIndex = 0;
} }
public ProductBO Product
#region Move Buttons
private void btnNavFirst_Click(object sender, EventArgs e)
{ {
this.bsProducts.MoveFirst(); get { return null; }
}
private void btnNavPrev_Click(object sender, EventArgs e)
{
this.bsProducts.MovePrevious();
}
private void btnNavNext_Click(object sender, EventArgs e)
{
this.bsProducts.MoveNext();
}
private void btnLast_Click(object sender, EventArgs e)
{
this.bsProducts.MoveLast();
}
private void lblNavLocation_Click(object sender, EventArgs e)
{
using (SelectProduct selectProduct = new SelectProduct(new ProductBI().GetFilteredProducts, true))
{
selectProduct.ShowDialog();
if (selectProduct.SelectedItem != null)
{
bsProducts.Position = GetPosition(productList, selectProduct.SelectedItem.ProductID);
}
}
}
#endregion
#region Binding Source Events
private void bsProducts_AddingNew(object sender, AddingNewEventArgs e)
{
e.NewObject = new ProductDisplayBO();
}
private void bsProducts_PositionChanged(object sender, EventArgs e)
{
this.lblNavLocation.Text = string.Format("{0} of {1}", bsProducts.Position + 1, bsProducts.Count);
}
#endregion
private int GetPosition(List<ProductDisplayBO> list, Guid id)
{
for (int i = 0; i < list.Count; i++)
{
if (list[i].ProductID == id)
return i;
}
return 0;
} }
} }
} }

View File

@ -117,10 +117,7 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="bsProducts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bsProductGroups.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bsTypes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>251, 17</value> <value>251, 17</value>
</metadata> </metadata>
<metadata name="bsUnits.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bsUnits.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@ -20,7 +20,7 @@ namespace Tanshu.Accounts.SqlDAO
product.ProductID = Guid.NewGuid(); product.ProductID = Guid.NewGuid();
SqlCommand cmd = new SqlCommand(@" SqlCommand cmd = new SqlCommand(@"
SELECT @Code = ISNULL(MAX(Code), 0) + 1 FROM Products; SELECT @Code = ISNULL(MAX(Code), 0) + 1 FROM Products;
INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductGroupID, VatID ,SalePrice , ServiceTaxID , Discontinued, MinimumLevel, MaximumLevel, SortOrder) VALUES (@ProductID, @Code, @Name, '', '', @Units, @ProductGroupID, @VatID, @SalePrice ,@ServiceTaxID ,@Discontinued, @MinimumLevel, @MaximumLevel, @SortOrder);"); INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductGroupID, VatID ,SalePrice , ServiceTaxID , Discontinued, SortOrder) VALUES (@ProductID, @Code, @Name, '', '', @Units, @ProductGroupID, @VatID, @SalePrice ,@ServiceTaxID ,@Discontinued, @SortOrder);");
{ {
cmd.Parameters.AddWithValue("@ProductID", product.ProductID); cmd.Parameters.AddWithValue("@ProductID", product.ProductID);
cmd.Parameters.Add("@Code", SqlDbType.Int); cmd.Parameters.Add("@Code", SqlDbType.Int);
@ -32,8 +32,6 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
cmd.Parameters.AddWithValue("@SalePrice", product.SalePrice); cmd.Parameters.AddWithValue("@SalePrice", product.SalePrice);
cmd.Parameters.AddWithValue("@ServiceTaxID", product.ServiceTaxID); cmd.Parameters.AddWithValue("@ServiceTaxID", product.ServiceTaxID);
cmd.Parameters.AddWithValue("@Discontinued", product.Discontinued); cmd.Parameters.AddWithValue("@Discontinued", product.Discontinued);
cmd.Parameters.AddWithValue("@MinimumLevel", product.MinimumLevel);
cmd.Parameters.AddWithValue("@MaximumLevel", product.MaximumLevel);
cmd.Parameters.AddWithValue("@SortOrder", product.SortOrder); cmd.Parameters.AddWithValue("@SortOrder", product.SortOrder);
connection.ExecuteNonQuery(cmd); connection.ExecuteNonQuery(cmd);
product.Code = (int)cmd.Parameters["@Code"].Value; product.Code = (int)cmd.Parameters["@Code"].Value;
@ -55,7 +53,7 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
} }
public bool Update(ProductBO product) public bool Update(ProductBO product)
{ {
SqlCommand cmd = new SqlCommand(@"UPDATE Products SET Code = @Code ,Name = @Name ,Units = @Units ,ProductGroupID = @ProductGroupID ,VatID = @VatID ,SalePrice = @SalePrice ,ServiceTaxID = @ServiceTaxID ,Discontinued = @Discontinued ,MinimumLevel = @MinimumLevel ,MaximumLevel = @MaximumLevel, SortOrder=@SortOrder WHERE ProductID = @ProductID;"); SqlCommand cmd = new SqlCommand(@"UPDATE Products SET Code = @Code ,Name = @Name ,Units = @Units ,ProductGroupID = @ProductGroupID ,VatID = @VatID ,SalePrice = @SalePrice ,ServiceTaxID = @ServiceTaxID ,Discontinued = @Discontinued ,SortOrder=@SortOrder WHERE ProductID = @ProductID;");
cmd.Parameters.AddWithValue("@ProductID", product.ProductID); cmd.Parameters.AddWithValue("@ProductID", product.ProductID);
cmd.Parameters.AddWithValue("@Code", product.Code); cmd.Parameters.AddWithValue("@Code", product.Code);
cmd.Parameters.AddWithValue("@Name", product.Name); cmd.Parameters.AddWithValue("@Name", product.Name);
@ -65,8 +63,6 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
cmd.Parameters.AddWithValue("@SalePrice", product.SalePrice); cmd.Parameters.AddWithValue("@SalePrice", product.SalePrice);
cmd.Parameters.AddWithValue("@ServiceTaxID", product.ServiceTaxID); cmd.Parameters.AddWithValue("@ServiceTaxID", product.ServiceTaxID);
cmd.Parameters.AddWithValue("@Discontinued", product.Discontinued); cmd.Parameters.AddWithValue("@Discontinued", product.Discontinued);
cmd.Parameters.AddWithValue("@MinimumLevel", product.MinimumLevel);
cmd.Parameters.AddWithValue("@MaximumLevel", product.MaximumLevel);
cmd.Parameters.AddWithValue("@SortOrder", product.SortOrder); cmd.Parameters.AddWithValue("@SortOrder", product.SortOrder);
connection.ExecuteNonQuery(cmd); connection.ExecuteNonQuery(cmd);
return true; return true;
@ -79,8 +75,8 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
} }
public List<ProductDisplayBO> GetProducts() public List<ProductDisplayBO> GetProducts()
{ {
//SELECT p.ProductID, p.Picture, p.Code, p.Name, p.Units, p.ProductGroupID, p.VatID, p.SalePrice, p.ServiceTaxID, p.Discontinued, p.MinimumLevel, p.MaximumLevel, p.SortOrder, pt.Name AS Type FROM Products p INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID ORDER BY p.Name //SELECT p.ProductID, p.Picture, p.Code, p.Name, p.Units, p.ProductGroupID, p.VatID, p.SalePrice, p.ServiceTaxID, p.Discontinued, p.SortOrder, pt.Name AS Type FROM Products p INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID ORDER BY p.Name
SqlCommand cmd = new SqlCommand("SELECT p.ProductID, p.Picture, p.Code, p.Name, p.Units, p.ProductGroupID, p.VatID, p.SalePrice, p.ServiceTaxID, p.Discontinued, p.MinimumLevel, p.MaximumLevel, p.SortOrder, pt.Name AS Type FROM Products p INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID ORDER BY p.Name"); SqlCommand cmd = new SqlCommand("SELECT p.ProductID, p.Picture, p.Code, p.Name, p.Units, p.ProductGroupID, p.VatID, p.SalePrice, p.ServiceTaxID, p.Discontinued, p.SortOrder, pt.Name AS Type FROM Products p INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID ORDER BY p.Name");
return BusinessObjectDAO<ProductDisplayBO>.GetBusinessObjects(connection.ExecuteReader(cmd)); return BusinessObjectDAO<ProductDisplayBO>.GetBusinessObjects(connection.ExecuteReader(cmd));
} }
@ -94,11 +90,13 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
{ {
list.Add(new ProductDisplaySmallBO list.Add(new ProductDisplaySmallBO
{ {
Category = dr.GetString(4), ProductID = dr.GetGuid(0),
Code = dr.GetInt32(1), Code = dr.GetInt32(1),
Name = dr.GetString(2), Name = dr.GetString(2),
Price = dr.GetDecimal(3), Price = dr.GetDecimal(3),
ProductID = dr.GetGuid(0) Vat = string.Format("{0:#.###%}", dr.GetDecimal(4)),
ServiceTax = string.Format("{0:#.###%}", dr.GetDecimal(5)),
ProuctGroup = dr.GetString(6),
}); });
} }
@ -110,11 +108,11 @@ INSERT INTO Products (ProductID, Code, Name, ShortName, BarCode, Units, ProductG
{ {
string query = @" string query = @"
SELECT p.ProductID, p.Code, p.Name + ' (' + p.Units + ') ' + ShortName AS Name, SELECT p.ProductID, p.Code, p.Name + ' (' + p.Units + ') ' + ShortName AS Name,
p.SalePrice * (1 + t.Rate) AS Price, p.SalePrice, tv.Rate AS Vat, ts.Rate AS ServiceTax, pt.Name AS ProductGroup
pt.Name AS Category FROM Products p INNER JOIN Tax tv ON p.VatID = tv.TaxID
FROM Products p INNER JOIN Tax t ON p.VatID = t.TaxID INNER JOIN Tax ts ON p.ServiceTaxID = ts.TaxID
INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID INNER JOIN ProductGroups pt ON p.ProductGroupID = pt.ProductGroupID
WHERE pt.IsForSale = 1 AND p.SalePrice > 0 AND p.Discontinued = 0 WHERE pt.IsForSale = 1 AND p.Discontinued = 0
"; ";
string[] n = filter["Name"].Split(" ".ToCharArray()); string[] n = filter["Name"].Split(" ".ToCharArray());
@ -122,7 +120,7 @@ WHERE pt.IsForSale = 1 AND p.SalePrice > 0 AND p.Discontinued = 0
if (n1 != null && n1 != string.Empty) if (n1 != null && n1 != string.Empty)
query += string.Format("AND p.Name + ' (' + p.Units + ') ' + ShortName LIKE '%{0}%' \r\n", n1); query += string.Format("AND p.Name + ' (' + p.Units + ') ' + ShortName LIKE '%{0}%' \r\n", n1);
n = filter["Type"].ToLower().Split(" ".ToCharArray()); n = filter["ProductGroup"].ToLower().Split(" ".ToCharArray());
foreach (string n1 in n) foreach (string n1 in n)
if (n1 != null && n1 != string.Empty) if (n1 != null && n1 != string.Empty)
query += string.Format("AND pt.Name LIKE '%{0}%' \r\n", n1); query += string.Format("AND pt.Name LIKE '%{0}%' \r\n", n1);