public ActionResult Edit(int id) { var title = _context.Titles.SingleOrDefault(t => t.ID == id); if (title == null) { return(HttpNotFound()); } var viewModel = new TitleFormViewModel(title); return(View("TitleForm", viewModel)); }
private TitleFormViewModel CreateTitleForm(Title title, IObservable <bool> canDelete) { var titleForm = new TitleFormViewModel(title, canDelete, this.ResourceManager); titleForm.Delete .WhereNotNull() .Subscribe(deletedTitle => { this.titlesSource.Remove(deletedTitle); (!deletedTitle.IsOriginal ? this.Titles : this.OriginalTitles) .Where(t => t.Priority > deletedTitle.Priority) .ForEach(t => t.Priority--); }); return(titleForm); }
public ActionResult Save(TitleFormViewModel title) { if (!ModelState.IsValid) { return(View("TitleForm", title)); } Person userperson = _context.People.SingleOrDefault(p => p.ID == 0); if (title.ID == 0) { Title newTitle = new Title(); newTitle.TitleValue = title.TitleValue; newTitle.DefaultGender = title.DefaultGender; int[] genderArray = title.Genders.Where(g => g.Selected).Select(g => g.GID).ToArray(); newTitle.AvailGenders = String.Join(";", genderArray); newTitle.Created = DateTime.Now; newTitle.Creator = userperson; newTitle.Modified = DateTime.Now; newTitle.Modifier = userperson; _context.Titles.Add(newTitle); } else { var titleInDb = _context.Titles.Single(t => t.ID == title.ID); titleInDb.TitleValue = title.TitleValue; titleInDb.DefaultGender = title.DefaultGender; int[] genderArray = title.Genders.Where(g => g.Selected).Select(g => g.GID).ToArray(); titleInDb.AvailGenders = String.Join(";", genderArray); titleInDb.Modified = DateTime.Now; titleInDb.Modifier = userperson; } _context.SaveChanges(); return(RedirectToAction("Index", "Title")); }