public IActionResult GetAll(string filter, string opt, int page, int pageSize = 10) { var totalRows = 0; var feedbacks = _feedbackRepository.Feedbacks(); var countNewMess = feedbacks.Where(x => x.Status == false && DateTime.Now.Subtract(x.CreatedDate).Days <= 0).Count(); var countIsWating = feedbacks.Where(x => x.IsWaiting == true).Count(); var data = (from fb in feedbacks join user in _userManager.Users on fb.UserId equals user.Id select new FeedbackData { ID = fb.ID, Message = fb.Message, Subject = fb.Subject, time = ConvertToTimeSpan.Convert(fb.CreatedDate), UserName = user.UserName, urlAvatar = user.UrlAvatar, Status = fb.Status, IsWaiting = fb.IsWaiting, InboxCount = countNewMess, IsWaitingCount = countIsWating } ).ToList(); totalRows = data.Count(); if (!string.IsNullOrEmpty(filter)) { data = data.Where(p => p.Subject.ToLower().Contains(filter)).OrderBy(x => x.Subject).ToList(); totalRows = data.Count(); } if (opt == "news-message") { data = data.Where(p => p.Status == false).OrderBy(x => x.Subject).ToList(); totalRows = data.Count(); } else if (opt == "sends-message") { data = data.Where(p => p.Status == true).OrderBy(x => x.Subject).ToList(); totalRows = data.Count(); } else if (opt == "waits-message") { data = data.Where(p => p.IsWaiting == true).OrderBy(x => x.Subject).ToList(); totalRows = data.Count(); } var model = data.Skip((page - 1) * pageSize).Take(pageSize).ToList(); return(Ok(new { data = model, total = totalRows, status = true })); }
//view gởi mail public IActionResult Compose(string id) { var feedback = _feedbackRepository.GetFeedback(id); var userInfo = _userManager.Users.Where(x => x.Id == feedback.UserId).FirstOrDefault(); var feedbackData = new FeedbackData { ID = feedback.ID, Message = feedback.Message, Subject = feedback.Subject, UserName = userInfo.UserName, Email = userInfo.Email, urlAvatar = userInfo.UrlAvatar, time = ConvertToTimeSpan.Convert(feedback.CreatedDate), IsWaiting = feedback.IsWaiting }; return(View("_reply", feedbackData)); }
public IActionResult Detail(string id) { string usersPost = string.Empty; var postDetail = _postRepository.GetPost(id); usersPost = _userManager.Users.SingleOrDefault(x => x.Id == postDetail.UserId).UserName.ToString(); var PostVM = new PostViewModels { Id = postDetail.Id, Content = postDetail.Content, LinkVia = postDetail.LinkVia, Name = postDetail.Name, TimePost = ConvertToTimeSpan.Convert(postDetail.CreatedDate), Via = postDetail.Via, UserName = usersPost }; return(View(PostVM)); }
public IViewComponentResult Invoke() { var feedbacks = feedbackRepository.Feedbacks(); var data = (from fb in feedbacks join user in userManager.Users on fb.UserId equals user.Id where fb.Status == false && DateTime.Now.Subtract(fb.CreatedDate).Days <= 0 orderby fb.CreatedDate descending select new FeedbackData { ID = fb.ID, Message = fb.Message, Subject = fb.Subject, time = ConvertToTimeSpan.Convert(fb.CreatedDate), UserName = user.UserName, urlAvatar = user.UrlAvatar } ).ToList(); return(View(data)); }
public IActionResult GetAll(string filter, int page, int pageSize = 10) { var totalRows = 0; var posts = (from p in _postRepository.Posts() where p.Status == true orderby p.CreatedDate descending select new PostViewModels { Id = p.Id, Name = p.Name, MetaName = p.MetaName, Avatar = p.Avatar, TimePost = ConvertToTimeSpan.Convert(p.CreatedDate) }).ToList(); totalRows = posts.Count(); if (!string.IsNullOrEmpty(filter)) { posts = posts.Where(p => EF.Functions.Like(p.Name, "%" + filter + "%")).OrderBy(x => x.Name).ToList(); totalRows = posts.Count(); } posts = posts.Skip((page - 1) * pageSize).Take(pageSize).ToList(); return(Ok(new { filter = filter, data = posts, total = totalRows, page = page, status = true })); }