public virtual ViewResult CreateMessage(MessageType messageType) { MessageViewModel viewModel = null; switch (messageType) { case MessageType.Announcement: viewModel = new AnnouncementViewModel(); break; case MessageType.SystemAlert: viewModel = new SystemAlertViewModel(); break; default: throw new InvalidOperationException("Invalid Message Type"); } return View(Views.CreateMessage, viewModel); }
public virtual ActionResult CreateAnnouncement(AnnouncementViewModel announcementViewModel) { this.Validate(announcementViewModel, string.Empty); if (!ModelState.IsValid) return View(Views.CreateMessage, announcementViewModel); var announcement = Mapper.Map<AnnouncementViewModel, Announcement>(announcementViewModel); announcement.CreatedBy = this.CurrentUser; announcement.ActiveFromDate = DateTime.Today.ToUniversalTime().WithoutMilliseconds(); Repository.Persist(announcement); return RedirectToAction(MVC.Dashboard.Index()); }