105 lines
2.6 KiB
C#
105 lines
2.6 KiB
C#
using DiaryApp.Data;
|
|
using DiaryApp.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
|
|
|
namespace DiaryApp.Controllers
|
|
{
|
|
public class DiaryEntriesController : Controller
|
|
{
|
|
private readonly ApplicationDbContext _db;
|
|
|
|
public DiaryEntriesController(ApplicationDbContext db) {
|
|
_db = db;
|
|
}
|
|
public IActionResult Index()
|
|
{
|
|
List<DiaryEntry> objDiaryEntryList = _db.DiaryEntries.ToList();
|
|
|
|
return View(objDiaryEntryList);
|
|
}
|
|
|
|
public IActionResult Create()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult Create(DiaryEntry obj)
|
|
{
|
|
if (obj != null && obj.Title.Length < 3)
|
|
{
|
|
ModelState.AddModelError("Title", "The Title must be at least 3 characters long.");
|
|
}
|
|
if(ModelState.IsValid)
|
|
{
|
|
_db.DiaryEntries.Add(obj);
|
|
_db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
return View(obj);
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult Edit(int? id)
|
|
{
|
|
if(id== null || id == 0)
|
|
{
|
|
return NotFound();
|
|
}
|
|
|
|
|
|
DiaryEntry? diaryEntry = _db.DiaryEntries.Find(id);
|
|
if (diaryEntry == null)
|
|
{
|
|
return NotFound();
|
|
}
|
|
|
|
return View(diaryEntry);
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult Edit(DiaryEntry obj)
|
|
{
|
|
if (obj != null && obj.Title.Length < 3)
|
|
{
|
|
ModelState.AddModelError("Title", "The Title must be at least 3 characters long.");
|
|
}
|
|
if (ModelState.IsValid)
|
|
{
|
|
_db.DiaryEntries.Update(obj);
|
|
_db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
return View(obj);
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult Delete(int? id)
|
|
{
|
|
if (id == null || id == 0)
|
|
{
|
|
return NotFound();
|
|
}
|
|
|
|
|
|
DiaryEntry? diaryEntry = _db.DiaryEntries.Find(id);
|
|
if (diaryEntry == null)
|
|
{
|
|
return NotFound();
|
|
}
|
|
|
|
return View(diaryEntry);
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult Delete(DiaryEntry obj)
|
|
{
|
|
_db.DiaryEntries.Remove(obj);
|
|
_db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
}
|
|
}
|