Exemplo n.º 1
0
        public async Task <IActionResult> GetDistressedUsers(string filterBy = null)
        {
            IActionResult result;

            try
            {
                if (string.IsNullOrWhiteSpace(filterBy))
                {
                    var user = await GetUserId();

                    var allDistressedRequests = await _distressedUsersRepository.GetDistressedRequestAsync(user);

                    result = Ok(_mapper.Map <IEnumerable <DistressedUsers>, IEnumerable <DistressedUsersResource> >(allDistressedRequests));
                }
                else
                {
                    switch (filterBy.ToLower())
                    {
                    case "own":
                        var ownAllDistressedRequests =
                            await _distressedUsersRepository.GetOwnDistressedRequestsAsync(await GetUserId());

                        result = Ok(
                            _mapper.Map <IEnumerable <DistressedUsers>, IEnumerable <DistressedUsersResource> >(
                                ownAllDistressedRequests));
                        break;

                    default:
                        result = BadRequest("The specified parameter is not valid");
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                result = BadRequest(e.ToString());
            }

            return(result);
        }