Example #1
0
        public ActionResult ChangeTheme(long ID = 0)
        {
            if (ID == 0)
            {
                return(RedirectToAction("Index", "Themes"));
            }

            var db = new GeeksForLessTestDBEntities();

            var Theme = db.Themes.Join(db.AspNetUsers,
                                       T => T.Author,
                                       A => A.Id,
                                       (T, A) => new { Theme = T, Author = A }
                                       ).Where(themes => themes.Theme.Id == ID)
                        .Select(TA => new ChangeThemeViewModel()
            {
                Text = TA.Theme.Text,
                Name = TA.Theme.Name
            })
                        .FirstOrDefault();

            var themeView = new ChangeThemeViewModel();

            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 && theme.Id != ID)
                                                             .Select(themes => new SelectListItem()
            {
                Text     = themes.Name,
                Value    = themes.Id.ToString(),
                Selected = (themeView.MainThemeId.HasValue && themeView.MainThemeId.Value == themes.Id ? true : false)
            }));
            themeView.Id   = ID;
            themeView.Name = Theme.Name;
            themeView.Text = Theme.Text;

            return(View(themeView));
        }
Example #2
0
        public async Task <ActionResult> ChangeTheme(ChangeThemeViewModel model, string returnUrl)
        {
            if (model == null)
            {
                return(RedirectToLocal(returnUrl));
            }

            var db    = new GeeksForLessTestDBEntities();
            var Theme = db.Themes.FirstOrDefault(m => m.Id == model.Id);

            if (Theme != null)
            {
                Theme.Main_theme = model.MainThemeId;
                Theme.Name       = model.Name;
                Theme.Text       = model.Text;
            }
            await db.SaveChangesAsync();

            return(RedirectToAction("GetTheme", "Themes", new { ID = model.Id }));
        }
Example #3
0
 public ChangeTheme(ChangeThemeViewModel changeThemeViewModel)
 {
     InitializeComponent();
     LoadAllThemes();
     DataContext = changeThemeViewModel;
 }