public async Task <Result <SpotsGetResponse> > ReadSpots(SpotsGetRequest request)
        {
            var validate = await request.ValidateAsync();

            if (!validate.IsValid)
            {
                var error = validate.Errors.FirstOrDefault();
                return(Error <SpotsGetResponse>(error.ToMetaError()));
            }

            List <Spot> spots;

            try { spots = await _repository.Read(request.Status.ToStatusEnum(), request.Offset, request.Limit); }
            catch { return(Error <SpotsGetResponse>(Errors.SpotsReadingFromDatabaseError)); }

            if (spots?.Count == 0)
            {
                return(Error <SpotsGetResponse>(Errors.SpotsNotFoundError));
            }

            return(Success(spots.ToSpotsGetResponse(request.Offset, request.Limit)));
        }
Exemple #2
0
        public static async Task <ValidationResult> ValidateAsync(this SpotsGetRequest request)
        {
            var validator = new SpotsGetRequestValidator();

            return(await validator.ValidateAsync(request));
        }
        public async Task <IActionResult> GetPaging([FromQuery] SpotsGetRequest request)
        {
            var result = await _service.ReadSpots(request);

            return(HttpHelper.Convert(result));
        }