static public IEnumerable <Request> GetRequests(string status, DateTime?postedFrom, DateTime?postedTo)
        {
            RequestDataSource     reqDS  = new RequestDataSource();
            DatasetInfoDataSource viewDs = new DatasetInfoDataSource();

            // We should use values SqlDateTime.MinValue otherwies exception during query execution
            //January 1, 1753.
            if (!postedFrom.HasValue)
            {
                postedFrom = SqlDateTime.MinValue.Value;
            }

            //December 31, 9999.
            if (!postedTo.HasValue)
            {
                postedTo = DateTime.UtcNow;
            }

            IQueryable <RequestEntry> requests = (status == "All") ? reqDS.SelectAllWithHidden() : reqDS.SelectAll();

            var datasetViews = viewDs.SelectAll();

            var requestList = (from req in requests
                               where
                               req.PostedDate >= postedFrom &&
                               req.PostedDate <= postedTo
                               select req).AsEnumerable();

            var result = (from request in requestList
                          join r1 in datasetViews on request.RowKey equals r1.RowKey into lstWithViews
                          from es2 in lstWithViews.DefaultIfEmpty()
                          select new Request
            {
                Name = request.Name,
                Email = request.Email,
                RequestID = request.RowKey,
                Subject = request.Subject,
                Description = request.Description,
                Status = request.Status,
                ReleaseDate = request.ReleaseDate,
                PostedDate = request.PostedDate,
                Links = request.Links,
                DatasetLink = request.DatasetLink,
                PositiveVotes = (es2 != null ? es2.PositiveVotes : 0),
                NegativeVotes = (es2 != null ? es2.NegativeVotes : 0),
                Views = es2 != null ? es2.views_total : 0,
            });

            return(result);
        }