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)); }
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 })); }
public ChangeTheme(ChangeThemeViewModel changeThemeViewModel) { InitializeComponent(); LoadAllThemes(); DataContext = changeThemeViewModel; }