Пример #1
0
        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
            }));
        }
Пример #2
0
        //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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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
            }));
        }