Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
0
 public void RemoveProduct(int id) => ProductsInInvoice.Remove(ProductsInInvoice.Find(products => products.ID == id));
Ejemplo n.º 5
0
 public Product GetProduct(int id)
 {
     return(ProductsInInvoice.Find(product => product.ID == id));
 }