public IActionResult CheckoutAutorize(string name) { var model = new SomeRoleOrders() { Users = db.Users.FirstOrDefault(x => x.UserName == name) }; Console.WriteLine("UserId: " + model.Users.Id); return(View(model)); }
public async Task <IActionResult> CheckoutAutorize(SomeRoleOrders order) { shopCart.listShopItems = shopCart.getShopItems(); User user = await _userManager.FindByEmailAsync(order.Users.Email); if (shopCart.listShopItems.Count == 0) { ModelState.AddModelError("", "У вас должны быть товары"); } if (ModelState.IsValid) { //поля для значений ключей int id_recording_content = 1; int id_recording_order = 0; if (db.Orders.Count() != 0) { id_recording_order = db.Orders.Max(p => p.IdOrder + 1); } //вычисляем общую стоимость заказа int summ = 0; foreach (var item in shopCart.listShopItems) { summ += item.game.Cost; } Orders orders = new Orders() { name = order.Users.UserName, IdOrder = id_recording_order, DateOfZakaz = DateTime.Now, email = order.Users.Email, IdUser = user.Id, Price = summ }; db.Orders.Add(orders); db.SaveChanges(); var items = shopCart.listShopItems; foreach (var el in items) { if (db.ContentOfOrders.Count() != 0) { id_recording_content = db.ContentOfOrders.Max(p => p.id_recording + 1); } var content_of_order = new ContentOfOrder() { IdOrder = id_recording_order, IdGame = el.game.IdGame, id_recording = id_recording_content, }; //вычисляем количество проданных копий int count_cop = 0; foreach (var idgame in items) { if (el.game.IdGame == idgame.game.IdGame) { count_cop++; } } content_of_order.CountOfCopies = count_cop; var game = db.Games.Find(el.game.IdGame); game.CountOfKeys = game.CountOfKeys - count_cop; db.Games.Update(game); db.ContentOfOrders.Add(content_of_order); db.SaveChanges(); } foreach (var sh in shopCart.listShopItems) { var shcart = db.ShopCartItem.FirstOrDefault(x => x.ShopCartId == sh.ShopCartId); shopCart.RemoveFromCart(shcart); } return(RedirectToAction("Complete")); } return(View(order)); }