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"));
        }
Exemple #4
0
        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"));
        }