Пример #1
0
        public async Task <IActionResult> GetAll(int?page, [FromQuery] string name, [FromQuery] string id, [FromQuery] string reference, [FromQuery] string checkName = "")
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetAll called.");

            try
            {
                if (!String.IsNullOrEmpty(checkName))
                {
                    return(await GetByName(checkName, true));
                }

                if (!String.IsNullOrEmpty(name))
                {
                    return(await GetByName(name, false));
                }

                if (!String.IsNullOrEmpty(id))
                {
                    return(await GetById(id));
                }

                if (!String.IsNullOrEmpty(reference))
                {
                    return(await GetByReference(reference));
                }

                var itemsPage = 10;

                var modelList = await _opportunityService.GetAllAsync(page ?? 1, itemsPage, requestId);

                Guard.Against.Null(modelList, nameof(modelList), requestId);

                if (modelList.ItemsList.Count == 0)
                {
                    _logger.LogError($"RequestID:{requestId} - GetAll no user profiles found.");
                    return(NotFound($"RequestID:{requestId} - GetAll no user profiles found"));
                }

                var responseJson = JObject.FromObject(modelList);

                return(Ok(responseJson));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetAll error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }