public IActionResult AllMessages(AllMessagesViewModel viewModel, int page = 1) { viewModel.Messages = this.messagesService .GetAllMessages <MessageViewModel>(take, (page - 1) * take); var count = this.messagesService .GetAllMessages <MessageViewModel>() .Count(); if (!string.IsNullOrEmpty(viewModel.SearchTerm)) { viewModel.Messages = this.messagesService .GetAllMessages <MessageViewModel>() .Where(m => m.UserName.Contains(viewModel.SearchTerm) || m.Email.Contains(viewModel.SearchTerm) || m.Content.Contains(viewModel.SearchTerm)); count = viewModel.Messages.Count(); } viewModel.PagesCount = (int)Math.Ceiling((double)count / take); if (viewModel.PagesCount == 0) { viewModel.PagesCount = 1; } viewModel.CurrentPage = page; return(this.View(viewModel)); }
public IActionResult Chat() { var lastHundredMessages = this.messagesService.GetLastHundred <MessageViewModel>(); var viewModel = new AllMessagesViewModel { AllMessages = lastHundredMessages, }; return(this.View(viewModel)); }
// // GET: /Discussions/DisplayComments(id) public ActionResult DisplayComments(int id = 0) { this.logger.Info("Entering: " + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName + ": " + System.Reflection.MethodBase.GetCurrentMethod().Name + " --> " + User.Identity.Name); try { Forums forum = new Forums(); List <Messages> messages = new List <Messages>(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(this.apiMethodsUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json") ); //get the forum containing the comments HttpResponseMessage responseForum = client.GetAsync("api/discussions/GetForumById/?id=" + id).Result; //get the comments in the forum HttpResponseMessage responseComments = client.GetAsync("api/discussions/GetAllMessages/?forumId=" + id).Result; if (responseForum.IsSuccessStatusCode && responseComments.IsSuccessStatusCode) { var f = responseForum.Content.ReadAsAsync <Forums>().Result; if (f != null) { forum.ForumId = f.ForumId; forum.Category = f.Category; forum.OwnerId = f.OwnerId; } else { throw new CustomException("Could not complete the operation!"); } var list = responseComments.Content.ReadAsAsync <IEnumerable <Messages> >().Result; if (list != null) { messages = list.ToList(); } } else { throw new CustomException("Could not complete the operation!"); } } AllMessagesViewModel amvm = this.viewModelFactory.GetViewModel(forum, messages); return(View(amvm)); } catch (CustomException ce) { this.logger.Trace(ce, "Username: "******"Operation could not be completed! Try again."; return(View("Error")); } catch (Exception ex) { this.logger.Trace(ex, "Username: "******"Operation could not be completed!"; return(View("Error")); } }
public async Task <IActionResult> GetMessages() { var User = await GetCurrentUserAsync(); var model = new AllMessagesViewModel(); model.Messages = await context.Message .Where(v => v.VendorUser == User) .OrderBy(d => d.DateStamp).ToListAsync(); return(View(model)); }
/// <summary> /// Gets the view model for all the messages in a forum. /// </summary> /// <param name="forum">The forum.</param> /// <param name="messages">The messages.</param> /// <returns></returns> /// <exception cref="CustomException"></exception> public AllMessagesViewModel GetViewModel(Forums forum, List <Messages> messages) { try { ForumsViewModel fvm = GetViewModel(forum); List <MessagesViewModel> mvm = GetViewModel(messages); AllMessagesViewModel amvm = new AllMessagesViewModel(); amvm.mvm = mvm; amvm.forum = forum; return(amvm); } catch (Exception ex) { throw new CustomException(ex.Message); } }