public void Update(string userId, int receiptId, int productId, Product updatedProduct)
        {
            if (updatedProduct == null)
            {
                throw new ArgumentNullException("updatedProduct");
            }

            var dbUpdatedProduct = productMapper.MapToDatabase(updatedProduct);

            dbUpdatedProduct.Id        = productId;
            dbUpdatedProduct.UserId    = userId;
            dbUpdatedProduct.ReceiptId = receiptId;

            using (var db = new DatabaseModel.ReceiptReaderDatabaseContext())
            {
                db.Product.Attach(dbUpdatedProduct);
                var entry = db.Entry(dbUpdatedProduct);

                entry.Property(e => e.Name).IsModified       = true;
                entry.Property(e => e.Price).IsModified      = true;
                entry.Property(e => e.Quantity).IsModified   = true;
                entry.Property(e => e.CategoryId).IsModified = true;

                UpdateReceiptControlSum(receiptId, userId, db);

                db.SaveChanges();
            }
        }
Beispiel #2
0
        public void Update(string userId, int receiptId, Receipt updatedReceipt)
        {
            if (updatedReceipt == null)
            {
                throw new ArgumentNullException("updatedReceipt");
            }

            var dbUpdatedReceipt = receiptMapper.MapToDatabase(updatedReceipt);

            dbUpdatedReceipt.UserId = userId;
            dbUpdatedReceipt.Id     = receiptId;

            using (var db = new DatabaseModel.ReceiptReaderDatabaseContext())
            {
                db.Receipt.Attach(dbUpdatedReceipt);
                var entry = db.Entry(dbUpdatedReceipt);

                entry.Property(e => e.PurchaseDate).IsModified  = true;
                entry.Property(e => e.PurchasePlace).IsModified = true;

                db.SaveChanges();
            }
        }