public ActionResult Add([FromBody] AddDiaryEntryViewModel entry) { if (_entries.Any(n => n.Id == entry.Id)) { return(BadRequest($"An entry with {entry.Id} id already exists")); } var e = new DiaryEntry(entry.Id, entry.Date, entry.PersonId, entry.Rating); entry.Notes.ForEach(n => e.AddNote(n.Id, n.Text)); _entries.Add(e); return(Created(Url.Action(nameof(this.Get), new { id = e.Id }), null)); }
public ActionResult Edit(Guid id, AddDiaryEntryViewModel model) { if (!ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } using (var context = new ApplicationDbContext()) { var diary = context.DiaryEntries.SingleOrDefault(e => e.Id == id); diary.Text = model.Text; context.SaveChanges(); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult Index(AddDiaryEntryViewModel model) { if (!ModelState.IsValid) { return(View("Diary", model)); } var diaryEntries = new DiaryEntry { Id = Guid.NewGuid(), UserId = User.Identity.GetUserId(), Created = DateTime.Now, Text = model.Text }; using (var context = new ApplicationDbContext()) { context.DiaryEntries.Add(diaryEntries); context.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult Index(AddDiaryEntryViewModel model) { if (!ModelState.IsValid) { //if the model has errors it will return the viewModel //which will display the form with the current datum in it return(View("Diary", model)); } var diaryEntry = new DiaryEntry() { Id = Guid.NewGuid(), UserId = User.Identity.GetUserId(), Created = DateTime.Now, Text = model.Text }; var options = new DbContextOptions <ApplicationDbContext>(); using (var context = new ApplicationDbContext(options)) { context.DiaryEntries.Add(diaryEntry); context.SaveChanges(); } //The below old code simple added to the index view only the entry that was just created // var diaryEntries = new List<DiaryEntry>(); //diaryEntries.Add(new DiaryEntry { Created = DateTime.Now, Text = model.Text }); //ViewBag.DiaryEntries = diaryEntries; //ToDo: storing diary entry in database return(RedirectToAction("Index")); }