public async Task <IActionResult> OnPostAsync()
        {
            await Task.Run(async() =>
            {
                string username = userManager.GetUserName(User);
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        IEnumerable <Cart> cartitem = cartdb.GetByCartId(username);
                        var transactionOrder        = new Transac
                        {
                            Username  = username,
                            OrderDate = DateTime.Now
                        };
                        transactiondb.Add(transactionOrder);
                        await transactiondb.CommitAsync();
                        foreach (var r in cartitem)
                        {
                            var orderdetail = new OrderDetail
                            {
                                OrderId    = transactionOrder.OrderId,
                                GameId     = r.GameId,
                                PlatformId = r.PlatformId,
                                Quantity   = r.Quantity,
                            };
                            orderdetaildb.Add(orderdetail);
                            await orderdetaildb.CommitAsync();

                            //Generate code
                            for (var i = 0; i < orderdetail.Quantity; i++)
                            {
                                var codeidgenerated = Guid.NewGuid().ToString();
                                var code            = new Code
                                {
                                    CodeId     = codeidgenerated,
                                    OrderId    = orderdetail.OrderId,
                                    GameId     = orderdetail.GameId,
                                    PlatformId = orderdetail.PlatformId
                                };
                                codedb.Add(code);
                                await codedb.CommitAsync();
                            }
                        }

                        cartdb.DeleteItemInCart(username);
                        await cartdb.CommitAsync();

                        await transaction.CommitAsync();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                        await transaction.RollbackAsync();
                    }
                }
            });

            return(RedirectToPage("../u/Library"));
        }
Exemple #2
0
 public IActionResult Create(OrderDetail model)
 {
     if (ModelState.IsValid)
     {
         _OrderDetail.Add(model);
         return(RedirectToAction("Index"));
     }
     ViewBag.Orders = _Order.GetOrders;
     ViewBag.Items  = _Item.GetItems;
     return(View(model));
 }
        public async Task AddOrder(Badge badge)
        {
            var Order    = new Order();
            var OrderDtl = new OrderDetails();
            var sugar    = new Sugar(drinkOrder.Quantity);

            Order.Badge = badge;
            await order.AddOrder(Order);

            OrderDtl.Drink = await drinks.GetDrinkById(drinkOrder.DrinkId);

            OrderDtl.Mug = drinkOrder.Mug;
            sugar.Add(OrderDtl);

            await orderDetail.Add(OrderDtl, Order.Badge.Id);
        }
        public async Task <IActionResult> Add([FromBody] OrderDetail record)
        {
            var newRecord = await _OrderDetailService.Add(record);

            return(Ok(newRecord));
        }
Exemple #5
0
 public static int Add(OrderDetailInfo entity)
 {
     return(dal.Add(entity));
 }