Example #1
0
        public async Task <IActionResult> Create(ArticleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var tags = new List <Tag>();
                if (!string.IsNullOrEmpty(model.SelectedTags))
                {
                    tags = (await tagsService.ParseTags(model.SelectedTags)).ToList();
                }

                model.Article.User = await userManager.GetUserAsync(HttpContext.User);

                model.Article.Created = DateTime.Now;
                await articlesRepository.CreateWithTagsAsync(model.Article, tags);

                return(RedirectToAction("Detail", new { id = model.Article.Id }));
            }

            ModelState.AddModelError("", "Vyplňte všechna povinná pole prosím.");

            return(View(new ArticleViewModel
            {
                Categories = categoriesRepository.FindAll().Select(c => new SelectListItem
                {
                    Value = c.Id.ToString(),
                    Text = c.Title
                }),
                Tags = tagsRepository.FindAll().Select(t => new SelectListItem
                {
                    Value = t.Id.ToString(),
                    Text = t.Title
                }),
                Article = model.Article,
                SelectedTags = model.SelectedTags
            }));
        }