public async Task <IActionResult> Constructor(RecipeModel model) { model.Id = Guid.NewGuid().ToString(); model.Ingredients = model.Checkpoints.SelectMany(x => x.Ingredients != null && x.Ingredients.Any() ? x.Ingredients : new List <IngredientModel>()).ToList(); model.PublicationDate = DateTime.Now; var totalTime = 0; foreach (var checkpoint in model.Checkpoints) { totalTime += checkpoint.CookingMinutes; checkpoint.CookingSeconds = (checkpoint.CookingMinutes * 60).ToString(); checkpoint.TimerSeconds = (checkpoint.TimerMinutes * 60).ToString(); } model.CookingTimeMinutes = totalTime.ToString(); var recipes = await _apiService.CreateRecipe(model); var guid = _cookieProvider.GetGuidFromCookies(HttpContext); var auth = _authRepository.LoginnedByToken(guid); var user = _userRepository.GetById(auth.Id); var recipesIds = user.RecipesIds?.ToList() ?? new List <string>(); recipesIds.Add(recipes.Id); user.RecipesIds = recipesIds; _userRepository.Update(user.Id, user); return(Redirect("/Recipe/Recipes")); }
public IActionResult SignOut() { var guid = _cookieProvider.GetGuidFromCookies(HttpContext); _cookieProvider.DeleteGuidFromCookies(HttpContext); _authRepository.DeleteOneByGuid(guid); return(View("SignIn")); }
public string AddTestRecept() { var guid = _cookieProvider.GetGuidFromCookies(HttpContext); if (String.IsNullOrEmpty(guid)) { return("Вы не авторизированы"); } var auth = _authRepository.LoginnedByToken(guid); if (auth == null) { return("Аут. Пользователь не найден"); } var user = _userRepository.GetById(auth.Id); if (user == null) { return("Пользователь не найден"); } var recipes = new RecipeModel[] { new RecipeModel() { Id = Guid.NewGuid().ToString(), PublicationDate = DateTime.Now, Title = "Этап 1", ImageName = "test", Raiting = 0.0, CookingTimeMinutes = "30 минут", Ingredients = new IngredientModel[] { new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "3 шт", Title = "Мясо" }, new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "1 шт", Title = "Соус" }, new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "200 мл", Title = "Бульон" }, }, Checkpoints = new CheckpointModel[] { new CheckpointModel() { CookingSeconds = null, Description = "Срежьте с куска мяса лишний жир, если он, по-вашему, есть. Разрежьте стейк на 2 равные части, сохраняя толщину. Растолките перец в ступке не очень мелко. Натрите мясо с двух сторон (не там, где разрез) солью, вдавите пальцами перец. Дайте мясу полежать 15–20 мин.", TimerSeconds = "20", Ingredients = new IngredientModel[] { new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "3 шт", Title = "Мясо" }, } }, new CheckpointModel() { CookingSeconds = "10", Description = "В хорошо разогретой на сильном огне сковороде с толстым дном растопите в оливковом сливочное масло. Уложите стейки на сковороду, жарьте 3 мин. Переверните и жарьте еще 2 мин. Снимите сковороду с огня и дайте постоять 5 мин. Затем верните сковороду на огонь и жарьте еще по 1–3 мин. на каждой стороне, до желаемой степени прожарки. Переложите мясо на подогретые тарелки и накройте куском фольги, не заворачивая края.", Ingredients = new IngredientModel[] { new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "3 шт", Title = "Мясо" }, } }, new CheckpointModel() { CookingSeconds = null, Description = "Пока мясо отдыхает, сделайте соус. Нарежьте очень мелко шалот, положите его на сковороду, где жарилось мясо. Обжарьте на среднем огне 2 мин. Наклоните сковороду на огне и, держась от нее подальше, влейте коньяк. Он должен загореться (если у вас электрическая плита или коньяк не загорелся от газа, подожгите его прямо в сковороде длинной спичкой). Дайте алкоголю прогореть.", Ingredients = new IngredientModel[] { new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "1 шт", Title = "Соус" }, } }, new CheckpointModel() { CookingSeconds = null, Description = "Добавьте теплый бульон, готовьте на сильном огне, помешивая, 1 мин. Добавьте масло, снимите с огня и подайте к стейкам.", Ingredients = new IngredientModel[] { new IngredientModel() { Id = Guid.NewGuid().ToString(), Amount = "200 мл", Title = "теплый бульон" }, } } } } }; foreach (var rec in recipes) { _apiService.CreateRecipe(rec); } user.RecipesIds = recipes.Select(x => x.Id); _userRepository.Update(user.Id, user); return("test data was added"); }