Ejemplo n.º 1
0
 private bool ValidateRequest(int?id, ListifyFilterModel filter)
 {
     if ((!filter.MinValue.HasValue && !filter.MaxValue.HasValue) || (filter.MinValue.HasValue && filter.MaxValue.HasValue && filter.MaxValue > filter.MinValue))
     {
         if (id.HasValue && ((filter.MinValue.HasValue && filter.MaxValue.HasValue && id.Value > (filter.MaxValue - filter.MinValue))))
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 2
0
        public IActionResult Get(int id, [FromQuery] ListifyFilterModel filter)
        {
            if (!ValidateRequest(id, filter))
            {
                return(BadRequest());
            }

            try
            {
                var minValue = filter.MinValue ?? 0 + id;
                var maxValue = filter.MaxValue ?? minValue + id + 100;

                var list = new Listify(minValue, maxValue);

                return(Ok(list[id]));
            }
            catch (IndexOutOfRangeException iorException)
            {
                return(BadRequest(iorException.Message));
            }
        }
Ejemplo n.º 3
0
        public IActionResult GetAll([FromQuery] ListifyFilterModel filter)
        {
            if (!ValidateRequest(null, filter))
            {
                return(BadRequest());
            }

            try
            {
                var minValue = filter.MinValue ?? 0;
                var maxValue = filter.MaxValue ?? minValue + 100;

                var list = new Listify(minValue, maxValue);

                return(Ok(list.AsEnumerable()));
            }
            catch (IndexOutOfRangeException iorException)
            {
                return(BadRequest(iorException.Message));
            }
        }