예제 #1
0
        public virtual async Task <IActionResult> GetMeAsync(
            [FromQuery] string[] include)
        {
            using (_logger.BeginScope($"{GetType().FullName}.{nameof(GetMeAsync)}"))
            {
                try
                {
                    ViewModel.Auth.MeResponse me = await _service.GetMeAsync(include).ConfigureAwait(false);

                    if (me != null)
                    {
                        return(Ok(me));
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, ex.Message);

                    return(BadRequest(new ViewModel.ApiErrorResponse(new ViewModel.ApiErrorDetailResponse()
                    {
                        ErrorType = ViewModel.ErrorType.GenericException,
                        Message = ex.Message
                    })));
                }

                return(NoContent());
            }
        }
예제 #2
0
        public virtual async Task <IActionResult> PutAsync(
            [FromBody] ViewModel.Auth.MeRequest value)
        {
            using (_logger.BeginScope($"{GetType().FullName}.{nameof(PutAsync)}"))
            {
                try
                {
                    _logger.LogInformation(value.ToString());

                    ViewModel.Auth.MeResponse model = await _service.UpdateAsync(value).ConfigureAwait(false);

                    if (model != null)
                    {
                        return(Ok(model));
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, ex.Message);

                    return(BadRequest(new ViewModel.ApiErrorResponse(new ViewModel.ApiErrorDetailResponse()
                    {
                        ErrorType = ViewModel.ErrorType.GenericException,
                        Message = ex.Message
                    })));
                }

                return(BadRequest(new ViewModel.ApiErrorResponse(new ViewModel.ApiErrorDetailResponse()
                {
                    ErrorType = ViewModel.ErrorType.ModelValidation,
                    Message = Api.Validations.Controller_Invalid_Data
                })));
            }
        }