public ActionResult Compose(string to = null, string subject = null, string message = null) { ViewBag.ManageNavigationKey = "compose"; ModelState.Clear(); // prevent query string from overriding our model properties var model = new ComposeMessageViewModel(); model.To = to; model.Subject = subject; model.Message = message; model.IsModerator = _moderationDao.GetSubsModeratoredByUser(_userContext.CurrentUser.Id).Count > 0; return View(model); }
public ActionResult Compose(ComposeMessageViewModel model) { ViewBag.ManageNavigationKey = "compose"; model.IsModerator = _moderationDao.GetSubsModeratoredByUser(_userContext.CurrentUser.Id).Count > 0; if (!ModelState.IsValid) return View(model); SendMessageResponse response = null; try { response = _commandBus.Send<SendMessage, SendMessageResponse>(new SendMessage { To = model.To, Subject = model.Subject, Body = model.Message, Author = _userContext.CurrentUser.Id }); } catch (Exception ex) { _logger.Error("An error occured sending a message.", ex); AddErrorMessage("An unknown error occured."); } if (string.IsNullOrEmpty(response.Error)) { AddSuccessMessage("Your message has been sent."); } else { AddErrorMessage(response.Error); } return View(model); }