public static void SaveInvoice(InvoiceModel invoiceModel) { if (UserHelper.UserID != null) { var storageDbEntities = new StorageDBEntities(); Invoice invoice = new Invoice { SupplierID = invoiceModel.Supplier.ID, RecipientID = invoiceModel.Recipient.ID, Date = invoiceModel.Date, Type = invoiceModel.Type, Number = invoiceModel.Number, PriceType = invoiceModel.PriceType, UserID = UserHelper.UserID.Value }; foreach (ProductsInInvoiceModel productsInInvoiceModel in invoiceModel.Products.Where(p => p.ProductID > 0).ToList()) { ProductsInInvoice productsInInvoice = new ProductsInInvoice { Price = productsInInvoiceModel.Price, Quantity = productsInInvoiceModel.Quantity, ProductID = productsInInvoiceModel.ProductID }; invoice.ProductsInInvoices.Add(productsInInvoice); } storageDbEntities.Invoices.AddObject(invoice); storageDbEntities.SaveChanges(); } }
public void AddProduct(Product product) { if (!ProductsInInvoice.Exists(e => e.ID == product.ID) && product != null) { ProductsInInvoice.Add(product); } else if (product != null) { Product temp = ProductsInInvoice.Find(e => e.ID == product.ID); int qauntitytemp = temp.GetProductPurchasedQuantity() + product.GetProductPurchasedQuantity(); temp.SetProductPurchasedQuantity(qauntitytemp); int index = ProductsInInvoice.FindIndex(e => e.ID == temp.ID); ProductsInInvoice[index] = temp; } }
public static void UpdateInvoice(InvoiceModel invoiceModel) { var storageDbEntities = new StorageDBEntities(); Invoice invoice = storageDbEntities.Invoices.Where(inv => inv.ID == invoiceModel.ID && inv.UserID == UserHelper.UserID).FirstOrDefault(); if (invoice != null) { // updates invoice metadata invoice.SupplierID = invoiceModel.Supplier.ID; invoice.RecipientID = invoiceModel.Recipient.ID; invoice.PriceType = invoiceModel.PriceType; foreach (var productInInvoice in invoice.ProductsInInvoices.ToList()) { ProductsInInvoiceModel productsInInvoiceModel = invoiceModel.Products.Where(p => p.ProductID == productInInvoice.ProductID).FirstOrDefault(); // product was updated by user if (productsInInvoiceModel != null) { productInInvoice.Price = productsInInvoiceModel.Price; productInInvoice.Quantity = productsInInvoiceModel.Quantity; invoiceModel.Products.Remove(productsInInvoiceModel); } // product was deleted by user else { storageDbEntities.ProductsInInvoices.DeleteObject(productInInvoice); } } // products were created by user foreach (var productsInInvoiceModel in invoiceModel.Products.Where(p => p.ProductID > 0).ToList()) { ProductsInInvoice productsInInvoice = new ProductsInInvoice { Price = productsInInvoiceModel.Price, Quantity = productsInInvoiceModel.Quantity, ProductID = productsInInvoiceModel.ProductID }; invoice.ProductsInInvoices.Add(productsInInvoice); } storageDbEntities.SaveChanges(); } }
public void RemoveProduct(int id) => ProductsInInvoice.Remove(ProductsInInvoice.Find(products => products.ID == id));
public Product GetProduct(int id) { return(ProductsInInvoice.Find(product => product.ID == id)); }