public ActionResult Delete(int id) { var m = new EmailModel(id); if (!m.CanDelete()) return Redirect("/"); DeleteEmail(id); return Redirect("/Emails"); }
public ActionResult DeleteQueued(int id) { var m = new EmailModel { id = id }; if (m.queue.Sent.HasValue || !m.queue.SendWhen.HasValue || !m.CanDelete()) return Redirect("/"); DeleteEmail(id); return Redirect("/Manage/Emails"); }
public ActionResult DeleteQueued(int id) { var email = (from e in DbUtil.Db.EmailQueues where e.Id == id select e).Single(); var m = new EmailModel { id = id }; if (m.queue.Sent.HasValue || !m.queue.SendWhen.HasValue || !m.CanDelete()) return Redirect("/"); DbUtil.Db.EmailQueueTos.DeleteAllOnSubmit(email.EmailQueueTos); DbUtil.Db.EmailQueues.DeleteOnSubmit(email); DbUtil.Db.SubmitChanges(); return Redirect("/Manage/Emails"); }
public ActionResult Details(int id) { var m = new EmailModel(id); if (m.queue == null) return Content("no email found"); var curruser = DbUtil.Db.LoadPersonById(Util.UserPeopleId ?? 0); if (curruser == null) return Content("no user"); if (User.IsInRole("Admin") || User.IsInRole("ManageEmails") || m.queue.FromAddr == curruser.EmailAddress || m.queue.QueuedBy == curruser.PeopleId || m.queue.EmailQueueTos.Any(et => et.PeopleId == curruser.PeopleId)) return View(m); return Content("not authorized"); }
public ActionResult Recipients(int id, FilterType filterType, int? page, int pageSize) { var m = new EmailModel(id, filterType, page, pageSize); return View(m); }
public ActionResult MakePublic(int id) { var email = (from e in DbUtil.Db.EmailQueues where e.Id == id select e).Single(); var m = new EmailModel(id); if (!User.IsInRole("Admin") && m.queue.QueuedBy != Util.UserPeopleId) return Redirect("/"); email.PublicX = true; DbUtil.Db.SubmitChanges(); return Redirect("/EmailView/" + id); }
public ActionResult Requeue(int id) { var email = (from e in DbUtil.Db.EmailQueues where e.Id == id select e).Single(); var m = new EmailModel { id = id }; if (m.queue.Sent.HasValue || !m.queue.SendWhen.HasValue || !m.CanDelete()) return Redirect("/"); foreach (var et in email.EmailQueueTos) et.Sent = null; email.Sent = null; DbUtil.Db.SubmitChanges(); return Redirect("/Manage/Emails/Details/" + id); }
public ActionResult Recipients(int id, string filter) { var m = new EmailModel { id = id, filter = filter }; UpdateModel(m.Pager); return View(m); }