Example #1
0
        public async Task <ActionResult> AddTheme(AddThemeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (var db = new GeeksForLessTestDBEntities())
            {
                long temp;
                long.TryParse(model.MainThemeId, out temp);
                string authorID = db.AspNetUsers.Where(user => user.UserName == User.Identity.Name).FirstOrDefault().Id;
                var    theme    = new Themes
                {
                    Name             = model.Name,
                    Text             = model.Text,
                    Main_theme       = temp == 0 ? null : (long?)temp,
                    Publication_date = DateTime.Now,
                    Author           = authorID
                };

                db.Themes.Add(theme);
                await db.SaveChangesAsync();

                return(RedirectToAction("GetTheme", "Themes", new { ID = theme.Id }));
            }
        }
        public async Task AddTheme(AddThemeViewModel input)
        {
            var theme = new Theme
            {
                PhotographyAddictedUserId = input.PhotographyAddictedUserId,
                AuthorOpinion             = input.AuthorOpinion,
                Title         = input.Title,
                ThemeCategory = input.ThemeCategory,
                CreationDate  = DateTime.UtcNow,
            };

            await themeDbSet.AddAsync(theme);

            await themeDbSet.SaveChangesAsync();

            var themeComment = new ThemeComment
            {
                PhotographyAddictedUser   = theme.PhotographyAddictedUser,
                PhotographyAddictedUserId = input.PhotographyAddictedUserId,
                ThemeId      = theme.Id,
                Theme        = theme,
                UserOpinion  = theme.AuthorOpinion,
                CreationDate = DateTime.UtcNow,
            };

            theme.ThemeComments.Add(themeComment);
            await themeDbSet.SaveChangesAsync();
        }
Example #3
0
        public async Task <IActionResult> AddTheme(AddThemeViewModel input)
        {
            if (input.Title == null)
            {
                return(this.RedirectToAction("Index", "Home"));
            }

            if (!this.ModelState.IsValid)
            {
                return(View(input));
            }

            input.PhotographyAddictedUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            await themeService.AddTheme(input);

            return(this.RedirectToAction("PreviewThemes", "Themes"));
        }
Example #4
0
        public ActionResult AddTheme()
        {
            var db        = new GeeksForLessTestDBEntities();
            var themeView = new AddThemeViewModel();

            themeView.MainTheme = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Привязать к теме", Value = "0", Selected = true, Disabled = true
                }
            };
            themeView.MainTheme = themeView.MainTheme.Concat(db.Themes.Where(theme => theme.AspNetUsers.UserName == User.Identity.Name)
                                                             .Select(themes => new SelectListItem()
            {
                Text  = themes.Name,
                Value = themes.Id.ToString()
            }));
            return(View(themeView));
        }