示例#1
0
        public HttpResponseMessage Get(string sortBy = "Id", Sortorder sortOrder = Sortorder.Ascending, int pageNumber = 1, int pageSize = 10)
        {
            var risks = _riskRepository.GetRisks(sortBy, sortOrder, pageNumber, pageSize);

            if (risks != null && risks.Any())
            {
                var response = (from risk in risks
                                select new{ risk.Id, risk.Title, Score = risk.RiskScore, Status = risk.Status.ToString(), risk.Owner }).ToList();
                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.NoContent));
            }
        }
示例#2
0
        /// <summary>
        /// Get Risks
        /// </summary>
        /// <param name="sortBy">Sort Condition</param>
        /// <param name="sortOrder">Sort Order</param>
        /// <param name="pageNumber">Page Number</param>
        /// <param name="pageSize">Page Size</param>
        /// <returns>List Of Risk</returns>
        public List <Risk> GetRisks(string sortBy, Sortorder sortOrder, int pageNumber, int pageSize)
        {
            List <Risk> risks        = null;
            var         sortingOrder = (sortOrder == Sortorder.Ascending) ? "ASC" : "DESC";

            if (pageNumber <= 0)
            {
                throw new ArgumentException($"Page Number:{pageNumber} received is invalid.");
            }
            if (_risks != null && _risks.Any())
            {
                risks = (from risk in _risks.AsQueryable()
                         orderby($"{sortBy} {sortingOrder}")
                         select risk).Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList();
            }
            return(risks);
        }