Ejemplo n.º 1
0
        public async Task <ActionResult> Index(int status = 0, string start = "", string end = "", int page = 1, int pageSize = 10)
        {
            if (page < 1)
            {
                page = 1;
            }

            var messages = await _messagesService.FetchAsync(status.ToBoolean());

            if (start.HasValue() || end.HasValue())
            {
                var startDate = start.ToStartDate();
                if (!startDate.HasValue)
                {
                    startDate = DateTime.MinValue;
                }

                var endDate = end.ToEndDate();
                if (!endDate.HasValue)
                {
                    endDate = DateTime.MaxValue;
                }


                messages = messages.Where(x => x.CreatedAt >= startDate && x.CreatedAt <= endDate);
            }

            messages = messages.GetOrdered().ToList();

            return(Ok(messages.GetPagedList(_mapper, page, pageSize)));
        }