public void ShowUserMessage(string text) { lblUserMessage.Text = ""; if (string.IsNullOrWhiteSpace(text)) { return; //this way clients can have generic logic fire w/o checking to see whether they're actually sending anything in each particular case } //e.g. TransactionType dropdown on TaxForm UI, only a few types actually have a warning message associated with them UserMessagesModel.Add(text); if (_userMessageFadeawayStoryboard == null) { _userMessageFadeawayStoryboard = ((Storyboard)FindResource("Fadeaway_Animation")).Clone(); //so we can reuse the fadeaway template in multiple places Storyboard.SetTarget(_userMessageFadeawayStoryboard, popUserMessage); } //textual carriage returns must be turned into <LineBreak /> objects in XAML land var lines = text.Split('\n'); for (int i = 0; i < lines.Length; i++) { if (i > 0) { lblUserMessage.Inlines.Add(new LineBreak()); } lblUserMessage.Inlines.Add(lines[i]); } _userMessageFadeawayStoryboard.Begin(); }
public ActionResult DeleteMessages(int typeId, string messageIds) { Execute(() => _accountProfileService.DeleteMessages(CurrentUser.Id, ParseMessageIds(messageIds))); var model = new UserMessagesModel { MessageTypeId = typeId }; FillUserMessagesModel(model); return ModelIsValid ? (ActionResult)View("MessagesData", model) : JsonErrorResult(); }
private void FillUserMessagesModel(UserMessagesModel model) { var pagerData = (Execute(() => _accountProfileService.GetUserMessages(CurrentUser.Id, model.MessageTypeId, model.Pager.PageId, model.Pager.PageSize)) ?? new PageData<UserMessageData>()); model.CopyFrom(pagerData); }
public ActionResult MessagesData(UserMessagesModel model) { FillUserMessagesModel(model); return View(model); }