public static PizzaModel GetPizza(Guid id) { UnitOfWorkRepository unitOfWork = new UnitOfWorkRepository(); var pizzas = unitOfWork.PizzaRepository.GetPizzaId(id); var model = PizzaModelFactory.ConvertPizza(pizzas); return(model); }
public static OrderViewModel OrderPizza(Guid userId, Guid pizzaId, Guid bottomId, Guid sauceId, List <Guid> ingredientId) { UnitOfWorkRepository unitOfWork = new UnitOfWorkRepository(); OrderRule orderrule = new OrderRule(); var order = unitOfWork.OrderRepository.GetAllOrders().Where(x => x.UserId == userId).FirstOrDefault(); var piz = unitOfWork.PizzaRepository.GetPizzaId(pizzaId); var bot = unitOfWork.BottomRepository.GetBottom(bottomId); var sc = unitOfWork.SauceRepository.GetSauceId(sauceId); if (order == null) { order = new Order(); order.Id = Guid.NewGuid(); order.OrderRule = new List <OrderRule>(); } List <Ingredients> _Ing = new List <Ingredients>(); foreach (var ing in ingredientId) { var ingr = unitOfWork.IngredientRepository.GetAllIngredients().Where(x => x.Id == ing).FirstOrDefault(); _Ing.Add(ingr); } foreach (var ing in _Ing) { Pizza_Ingredient pizza_Ingredient = new Pizza_Ingredient(); pizza_Ingredient.Id = Guid.NewGuid(); pizza_Ingredient.IngriedientId = ing.Id; pizza_Ingredient.PizzaIngredient_Id = pizzaId; unitOfWork.PizzaIngredientRepository.AddPizza_Ingredients(pizza_Ingredient); piz.PizzaIngredient.Add(pizza_Ingredient); } bot.SauceId = sc.Id; piz.BottomId = bot.Id; piz.OrderRuleId = orderrule.Id; orderrule.Id = Guid.NewGuid(); orderrule.OrderId = order.Id; orderrule.PizzaId = piz.Id; order.OrderRule.Add(orderrule); unitOfWork.PizzaRepository.UpdatePizza(piz); unitOfWork.OrderRepository.AddOrUpdate(order); unitOfWork.OrderRuleRepository.AddOrUpdate(orderrule); var pizza = PizzaModelFactory.ConvertPizza(piz); var orderViewModel = new OrderViewModel() { pizza = pizza, bottom = BottomModelFacotry.ConvertBottom(bot), sauce = SauceModelFactory.ConvertSauce(sc), ingredients = IngredientModelFactory.ConvertIngredients(_Ing) }; return(orderViewModel); }