Example #1
0
        public async Task CreateOrder(int productId, int customerId, int productsNumber)
        {
            var dateTime = DateTime.Now;

            var duplicateOrder = await _context.FindDuplicateOrder(productId, customerId);

            if (duplicateOrder == null)
            {
                var order = new Order()
                {
                    CustomerId     = customerId,
                    ProductId      = productId,
                    ProductsNumber = productsNumber,
                    Date           = dateTime
                };

                _context.Add(order);
                await _context.SaveChangesAsync();
            }
            else
            {
                duplicateOrder.ProductsNumber += productsNumber;
                duplicateOrder.Date            = dateTime;
                await _context.SaveChangesAsync();
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProductId,CustomerId,ProductsNumber,Date")] Order order)
        {
            if (id != order.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(order);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OrderExists(order.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(RedirectToAction(nameof(Edit), order.Id));
            }
        }
        public async Task <IActionResult> Create([Bind("Id,FirstName,LastName,PhoneNumber,AdditionalInfo")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                _context.Add(customer);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(customer));
        }
Example #4
0
        public async Task <IActionResult> RollbackOrdersWithProductConfirmed(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var product = await _context.Products.Include(p => p.Orders).SingleOrDefaultAsync(p => p.Id == id);

            if (product == null)
            {
                return(NotFound());
            }

            _context.RemoveRange(product.Orders);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }