コード例 #1
0
 public ModelContainer(T model, ActionType actionType, ResponseStatusCode responseCode, bool isSuccessful = true, ModelContainerErrorMessages errorMessage = ModelContainerErrorMessages.None)
 {
     Model              = model;
     ErrorMessage       = errorMessage;
     ResponseStatusCode = responseCode;
     TransformActionData(actionType);
 }
コード例 #2
0
        /// <summary>
        /// Returns generic response model T <see cref="IActionResult"/> acording <see cref="ModelContainer&lt;T&gt;.ResponseStatusCode"/>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="mappedResponseModel"></param>
        /// <param name="responseStatusCode"></param>
        /// <param name="errorMessage"></param>
        /// <returns></returns>
        private ActionResult ApiActionResult <T>(T mappedResponseModel, ResponseStatusCode responseStatusCode, ModelContainerErrorMessages errorMessage)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(JsonConvert.SerializeObject(ModelState.Values.Select(e => e.Errors).ToList())));
            }

            return(responseStatusCode switch
            {
                ResponseStatusCode.Ok => Ok((mappedResponseModel)),
                ResponseStatusCode.Created => Created("", mappedResponseModel),//todo: uri
                ResponseStatusCode.Accepted => Accepted(mappedResponseModel),
                ResponseStatusCode.NoContent => NoContent(),
                ResponseStatusCode.UnprocessableEntity => UnprocessableEntity(errorMessage),
                ResponseStatusCode.NotFound => NotFound(errorMessage),
                ResponseStatusCode.BadRequest => BadRequest(errorMessage),
                _ => throw new Exception("Not implemented Response status code."),
            });