Example #1
0
        public async Task <IActionResult> CancelConfirmed(int?id)
        {
            if (id != null)
            {
                WriteOfOrder wo = await _db.WriteOfOrder.FirstOrDefaultAsync(p => p.Id_record == id);

                if (wo != null)
                {
                    return(View(wo));
                }
            }
            return(NotFound());
        }
Example #2
0
        public async Task <IActionResult> CancelOrder(int?id)
        {
            if (id != null)
            {
                WriteOfOrder wo = await _db.WriteOfOrder.Include(o => o.Orders).ThenInclude(p => p.Product).FirstOrDefaultAsync(o => o.Id_record == id);

                wo.StateOrder = "Отменён";
                foreach (Order order in wo.Orders)
                {
                    Product p = await _db.Product.FirstOrDefaultAsync(pr => pr.Id_Product == order.Id_product);

                    p.Count += order.Count;
                    _db.Product.Update(p);
                }
                await _db.SaveChangesAsync();

                return(RedirectToAction("CancelConfirmed", new { id = wo.Id_record }));
            }
            return(NotFound());
        }
Example #3
0
        public async Task <IActionResult> GetOrder(OrderViewModel o)
        {
            Random       r       = new Random();
            var          baskets = _db.Basket.Include(ba => ba.Product).Where(ba => ba.Customer.Login == User.Identity.Name).AsNoTracking();
            WriteOfOrder order   = await _db.WriteOfOrder.LastOrDefaultAsync();

            Basket basket = await baskets.FirstOrDefaultAsync();

            int    number_symbol = r.Next(65, 90);
            char   symbol        = (char)number_symbol;
            string number        = r.Next(1, 999999).ToString();
            string n             = "";

            for (int i = 0; i < 6 - number.Length; i++)
            {
                n += "0";
            }

            string Identity = symbol + "-" + n + number;
            int    AddPay;

            if (o.TypeOfDelivery == "Самовывоз")
            {
                AddPay = 0;
            }
            else
            {
                AddPay = 200;
            }

            WriteOfOrder new_write = new WriteOfOrder()
            {
                Id_customer       = basket.Id_customer,
                IdentityNumber    = Identity,
                DateOfOrder       = DateTime.Now,
                Address           = o.Address,
                StateOrder        = "В пути",
                TypeOfPay         = o.TypeOfPay,
                TypeOfDelivery    = o.TypeOfDelivery,
                AdditionalCharges = AddPay
            };

            _db.WriteOfOrder.Add(new_write);

            foreach (var item in baskets)

            {
                _db.Order.Add(new Order()
                {
                    Id_Record  = new_write.Id_record,
                    Id_product = item.Id_product,
                    Count      = item.Count,
                    SummOrder  = item.SummOrder
                });
                Product p = await _db.Product.FirstOrDefaultAsync(pr => pr.Id_Product == item.Id_product);

                p.Count -= item.Count;
                _db.Product.Update(p);
                _db.Basket.Remove(item);
            }
            await _db.SaveChangesAsync();

            return(RedirectToAction("OrderSuccessed"));
        }
Example #4
0
        public async Task <IActionResult> OrderSuccessed()
        {
            WriteOfOrder wo = await _db.WriteOfOrder.LastOrDefaultAsync(c => c.Customer.Login == User.Identity.Name);

            return(View(wo));
        }