public ActionResult ReplyMessageWithQuote(int? id) { if (id.HasValue) { var model = new UserMessageModel { MessageId = id.Value }; if (FillUserMessageModel(model, true)) return View("EditMessage", model); return RedirectToAction<AccountProfileController>(o => o.CreateMessage()); } return RedirectToAction<AccountProfileController>(o => o.CreateMessage()); }
private bool FillUserMessageModel(UserMessageModel model, bool isQuoteMessage) { var message = Execute(() => _accountProfileService.GetUserMessage(CurrentUser.Id, model.MessageId.GetValueOrDefault())); if (message != null && (message.Type == MessageTypeEnum.Inbox || message.Type == MessageTypeEnum.Sent)) { model.MessageId = message.Type == MessageTypeEnum.Sent ? model.MessageId : default(int); model.Title = message.Type == MessageTypeEnum.Inbox ? StringGeneration.QuoteTitleBuilder(message.Title) : message.Title; model.Description = isQuoteMessage ? StringGeneration.QuoteDescriptionBuilder(message.Description, message.SenderName) : message.Description; model.RecipientName = message.SenderName; return true; } return false; }
public ActionResult EditMessage(UserMessageModel model) { if (ModelIsValid) { var data = model.CopyTo(); data.SenderId = CurrentUser.Id; Execute(() => _accountProfileService.SaveMessage(data)); if (ModelIsValid) { return RedirectToAction<AccountProfileController>(o => o.Messages(), new RouteValueDictionary(new Dictionary<string, object> { { "type", EnumEx.GetName(MessageTypeEnum.Sent) } })); } } return View(model); }