private void deleteButton_Click(object sender, RoutedEventArgs e) { try { if (this.datagridProduct.Items.Count > 0) { SalesItemBind itemBindInfo = this.datagridProduct.SelectedValue as SalesItemBind; itemList.RemoveAt(this.datagridProduct.SelectedIndex); SalesItemInfo productInfoExist = itemInfoList.SingleOrDefault(i => i.ProductID == itemBindInfo.ItemInfo.ProductID); itemInfoList.Remove(productInfoExist); SetTotalAmount(); datagridProduct.Items.Refresh(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
private void Grid_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { if (autoProductName.SelectedItem != null && txtQty.Text.Length > 0 && comboRetailRate.Text != null && comboUoM.SelectedValue != null) { ProductInfo productInfo = null; if (autoProductName.SelectedItem != null) { productInfo = (ProductInfo)autoProductName.SelectedItem; } int itemNum = 0; SalesItemInfo productInfoExist = null; if (itemInfoList != null && itemInfoList.Count > 0) { itemNum = _invoiceInfo.SalesItemList.Length + 1; productInfoExist = _invoiceInfo.SalesItemList.ToList().SingleOrDefault(i => i.ProductID == productInfo.ProductCode); } else { itemNum = 1; } if (productInfoExist != null) { MessageBox.Show("Product already in the list. If you want to change qty please update in the list it self"); this.autoProductName.Focus(); comboRetailRate.SelectedItem = null; autoProductName.SelectedItem = null; txtDiscount.Text = ""; txtQty.Text = ""; } else { if (productInfo != null) { SalesItemBind itemBindInfo = new SalesItemBind(); itemBindInfo.ItemNum = itemNum; itemBindInfo.ItemInfo.ProductID = productInfo.ProductCode; decimal discountRate = 0; decimal.TryParse(txtDiscount.Text, out discountRate); itemBindInfo.DisplayProductName = productInfo.ProductDescription + " - " + productInfo.VendorInfo.SupplierName; itemBindInfo.ItemInfo.DiscountRate = discountRate; decimal qty = 0; decimal.TryParse(txtQty.Text, out qty); itemBindInfo.ItemInfo.Qty = qty; decimal retailRate = 0; retailRate = Convert.ToDecimal(comboRetailRate.Text); itemBindInfo.ItemInfo.RetailRate = retailRate; itemBindInfo.ItemInfo.Unit = comboUoM.SelectedValue.ToString(); if (discountRate > 0) { itemBindInfo.ItemInfo.Amount = qty * discountRate; } else { itemBindInfo.ItemInfo.Amount = qty * retailRate; } itemInfoList.Add(itemBindInfo.ItemInfo); itemList.Add(itemBindInfo); _invoiceInfo.SalesItemList = itemInfoList.ToArray(); datagridProduct.ItemsSource = null; datagridProduct.ItemsSource = itemList; SetTotalAmount(); } this.autoProductName.Focus(); comboRetailRate.SelectedItem = null; autoProductName.SelectedItem = null; txtDiscount.Text = ""; txtQty.Text = ""; } } } }