private void cartTable_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex != 8) { return; } var t = sender as DataGridView; var id = (int)(t.Rows[e.RowIndex].Cells[0].Value); var quantity = (int)(t.Rows[e.RowIndex].Cells[quantityCol.Name].Value); var price = (decimal)(t.Rows[e.RowIndex].Cells[priceCol.Name].Value); var discount = (decimal)(t.Rows[e.RowIndex].Cells[discountCol.Name].Value); using (var p = new POSEntities()) { var inventoryItem = p.InventoryItems.FirstOrDefault(x => x.Id == id); using (var setup = new ItemSaleSetupForm()) { setup.SetValues(inventoryItem.Id , inventoryItem.Product.Item.Barcode, inventoryItem.SerialNumber, inventoryItem.Product.Item.Name, ImageDatabaseConverter.byteArrayToImage(inventoryItem.Product.Item.SampleImage), price, inventoryItem.Quantity, discount, quantity); setup.OnConfirm += editConfirmed_Callback; setup.ShowDialog(); } } }
public override void save() { if (!canSave()) { return; } switch (MessageBox.Show(this, "Are you sure you want to create this item?", "Please double check.", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { //Stay on this form case DialogResult.No: return; default: break; } try { using (var p = new POSEntities()) { var item = new Item(); item.Barcode = barcode.Text; item.Name = name.Text; item.SellingPrice = sellingPrice.Value; //item.Cost = cost.Value; item.Department = string.IsNullOrEmpty(itemDepartment.Text) ? null : itemDepartment.Text; // item.Type = itemType.Text; item.Type = itemType.Text; item.Details = details.Text; if (ImageBox.Image != null) { item.SampleImage = ImageDatabaseConverter.imageToByteArray(ImageBox.Image); } else { item.SampleImage = null; } p.Items.Add(item); if (item.Type == ItemType.Service.ToString() || item.Type == ItemType.Software.ToString()) { MessageBox.Show("Items of type Service or Software will automatically create an item variation and be added to Inventory."); var prod = new Product(); prod.Item = item; prod.Cost = 0; prod.Supplier = p.Suppliers.FirstOrDefault(x => x.Name == "None"); p.Products.Add(prod); var inventory = new InventoryItem(); inventory.Product = prod; inventory.Quantity = 0; inventory.SerialNumber = null; p.InventoryItems.Add(inventory); } else { foreach (DataGridViewRow i in variationTable.Rows) { var prod = new Product(); prod.ItemId = item.Barcode; string s = i.Cells[0].Value.ToString(); prod.Supplier = p.Suppliers.FirstOrDefault(x => x.Name == s); prod.Cost = Convert.ToDecimal(i.Cells[1].Value); p.Products.Add(prod); } } p.SaveChanges(); MessageBox.Show("Item Added"); } InvokeEvent(); clearFields(); } catch (Exception except) { MessageBox.Show(except.Message); } }