Exemplo n.º 1
0
        public JsonResult CompleteSale(SaleViewModel model)
        {
            bool           success = true;
            BeSpokeContext context = new BeSpokeContext();

            using (var dbContextTransaction = context.Database.BeginTransaction())
            {
                try
                {
                    // Add Customer
                    var custRepo = new CustomerRepository();
                    custRepo.AddOrUpdateCustomer(model.Customer, model.SaleDate);

                    //Create Sale
                    Sale sale = new Sale();
                    sale.CustomerId    = model.Customer.CustomerId;
                    sale.ProductId     = model.Product.ProductId;
                    sale.SalesPersonId = model.SalesPersonId;
                    sale.Date          = model.SaleDate;
                    var salesRepo = new SalesRepository();
                    salesRepo.CreateSale(sale);

                    //Update Product Count
                    var productRepo = new ProductRepository();
                    productRepo.UpdateQtyOnHand(model.Product.ProductId);
                    dbContextTransaction.Commit();
                }
                catch (Exception e)
                {
                    success = false;
                    dbContextTransaction.Rollback();
                }
            }
            return(new JsonResult {
                Data = success
            });
        }