Exemplo n.º 1
0
        public void Delete(string userId, int receiptId, int productId)
        {
            var product = new DatabaseModel.Product()
            {
                Id        = productId,
                UserId    = userId,
                ReceiptId = receiptId
            };

            using (var db = new DatabaseModel.ReceiptReaderDatabaseContext())
            {
                var productCount = db.Product.Count(p => p.UserId == userId && p.ReceiptId == receiptId);

                db.Product.Attach(product);
                db.Product.Remove(product);

                if (productCount == 1)
                {
                    var receipt = new DatabaseModel.Receipt()
                    {
                        Id     = receiptId,
                        UserId = userId
                    };

                    db.Receipt.Attach(receipt);
                    db.Receipt.Remove(receipt);
                }

                UpdateReceiptControlSum(receiptId, userId, db);

                db.SaveChanges();
            }
        }
Exemplo n.º 2
0
        public void AddEmpty(string userId)
        {
            using (var db = new DatabaseModel.ReceiptReaderDatabaseContext())
            {
                var databaseReceipt = new DatabaseModel.Receipt();

                databaseReceipt.Id      = GenerateReceiptIdForUser(db, userId);
                databaseReceipt.UserId  = userId;
                databaseReceipt.AddDate = DateTime.Now;

                db.Receipt.Add(databaseReceipt);

                var firstProduct = new DatabaseModel.Product();
                firstProduct.Id         = 1;
                firstProduct.UserId     = userId;
                firstProduct.ReceiptId  = databaseReceipt.Id;
                firstProduct.Name       = "Update me";
                firstProduct.Price      = 0m;
                firstProduct.Quantity   = 0;
                firstProduct.CategoryId = 12;

                db.Product.Add(firstProduct);

                db.SaveChanges();
            }
        }