Exemplo n.º 1
0
        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"));
            }
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
 /// <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);
     }
 }