示例#1
0
        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"));
        }
示例#2
0
        public IActionResult SignOut()
        {
            var guid = _cookieProvider.GetGuidFromCookies(HttpContext);

            _cookieProvider.DeleteGuidFromCookies(HttpContext);
            _authRepository.DeleteOneByGuid(guid);
            return(View("SignIn"));
        }
示例#3
0
        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");
        }