public void AddOrderDish(OrderDishDTO orderDishDTO) { var orderDish = mapper.Map <OrderDishDTO, OrderDish>(orderDishDTO); db.OrderDishes.Add(orderDish); db.Save(); }
public string MakeOrder(IEnumerable <DishForOrderModel> dishesForOrderModel) { if (ModelState.IsValid) { if (dishesForOrderModel.Count() == 0 || dishesForOrderModel.All(d => d.Count == 0)) { return("Нужно быбрать минимум одно блюдо"); } int userId = -1; if (User.Identities.Any(u => u.HasClaim(c => c.Type == ClaimTypes.Role && c.Value == "Administrator"))) { if (Request.Form.TryGetValue("userIdForAdmin", out var userIdForAdmin)) { userId = int.Parse(userIdForAdmin); } else { return("Пользователь не найден"); } } else { userId = int.Parse(User.Identity.Name); } var orderDTO = new OrderDTO { CreateDate = DateTime.Now, UserId = userId }; var id = orderService.MakeOrder(orderDTO); foreach (var item in dishesForOrderModel) { if (item.Count != 0) { var orderDishDTO = new OrderDishDTO { OrderId = id, DishId = item.Id, Count = item.Count }; orderService.AddOrderDish(orderDishDTO); } } return("Заказ выполнен."); } return("Ошибка при проверке данных"); }