// GET: Classes/Details/5 public async Task<ActionResult> Details(int? id) { if(id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } const int maxItems = 10; Class @class = await db.Classes.Include(c => c.Teacher).Where(c => c.Id == id).FirstOrDefaultAsync(); if(@class == null) { return HttpNotFound(); } var workItemManager = new WorkItemManager(db); var workItems = (await workItemManager.GetClassWorkItems(@class)).Take(5); ViewBag.WorkItems = workItems; var announcementManager = new AnnouncementManager(db); var announcements = (await announcementManager.GetClassAnnouncements(@class)).Take(5); ViewBag.Announcements = announcements; return View(@class); }
public async Task<ActionResult> Create([Bind(Include = "Title,Description,ClassId")] CreateAnnouncementModel announcement) { if(ModelState.IsValid) { int classId = announcement.ClassId; AnnouncementManager manager = new AnnouncementManager(db); await manager.CreateAnnouncement(announcement); return RedirectToAction("Index", new { classId = classId }); } return View(announcement); }
// GET: Announcements public async Task<ActionResult> Index(int? classId) { if(!classId.HasValue) { ViewBag.Title = "All announcements"; return View(await db.Announcements.ToListAsync()); } Class @class = await db.Classes.FindAsync(classId); if(@class == null) { ViewBag.Title = "Error"; ModelState.AddModelError("error", string.Format("No class with id \"{0}\"", classId)); return View(); } ViewBag.ClassId = classId; ViewBag.Title = string.Format("Announcements for \"{0}\"", @class.Title); AnnouncementManager manager = new AnnouncementManager(db); return View(await manager.GetClassAnnouncements(@class)); }
/// <summary> /// Create a new default AnnouncementsController /// </summary> public AnnouncementsController() { _db = new ApplicationDbContext(); _userManager = new ApplicationUserManager(new UserStore<ApplicationUser>()); _announcementManager = new AnnouncementManager(_db); }