/// <summary>
 ///     Creates OK Response with a value and messages
 /// </summary>
 /// <param name="value">A Generic Value</param>
 /// <param name="messages">List of <see cref="string"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseOk <T>(T value, List <string> messages)
 {
     return(ResponseGenerator.CreateResponseOk(Request, messages, value));
 }
 /// <summary>
 ///     Creates OK Response
 /// </summary>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseOk()
 {
     return(ResponseGenerator.CreateResponseOk(Request, new List <string>()));
 }
 /// <summary>
 ///     Creates OK Response with a value and a message
 /// </summary>
 /// <param name="value">A Generic value</param>
 /// /// <param name="message"><see cref="string"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseOk <T>(T value, string message)
 {
     return(ResponseGenerator.CreateResponseOk(Request, new List <string> {
         message
     }, value));
 }
 /// <summary>
 /// Creates a HttpResponseMessage from <see cref="IResponse{T}"/> IResponse
 /// </summary>
 /// <param name="response"><see cref="IResponse{T}"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponse <T>(IResponse <T> response)
 {
     return(ResponseGenerator.CreateResponse(Request, response));
 }
 /// <summary>
 ///     Creates Custom Response with a value and messages
 /// </summary>
 /// <param name="status"><see cref="HttpStatusCode"/></param>
 /// <param name="messages">List of <see cref="string"/></param>
 /// <param name="value">A Generic Value</param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseCustom <T>(T value, List <string> messages, HttpStatusCode status)
 {
     return(ResponseGenerator.CreateResponseCustom(Request, status, messages, value));
 }
 /// <summary>
 ///     Creates Custom Response with a message
 /// </summary>
 /// <param name="status"><see cref="HttpStatusCode"/></param>
 /// <param name="message"><see cref="string"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseCustom(HttpStatusCode status, string message)
 {
     return(ResponseGenerator.CreateResponseCustom(Request, status, new List <string> {
         message
     }));
 }
 /// <summary>
 ///     Creates an Error Response with a value and messages
 /// </summary>
 /// <param name="value">A Generic Value</param>
 /// <param name="messages">List of <see cref="string"/></param>
 /// <param name="status"><see cref="ErrorResponseStatus"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseError <T>(T value, List <string> messages, ErrorResponseStatus status = ErrorResponseStatus.InternalServerError)
 {
     return(ResponseGenerator.CreateResponseError(Request, status, messages, value));
 }
 /// <summary>
 ///     Creates an Error Response with a message
 /// </summary>
 /// /// <param name="message"><see cref="string"/></param>
 /// <param name="status"><see cref="ErrorResponseStatus"/></param>
 /// <returns><see cref="HttpResponseMessage"/></returns>
 protected HttpResponseMessage CreateResponseError(string message, ErrorResponseStatus status = ErrorResponseStatus.InternalServerError)
 {
     return(ResponseGenerator.CreateResponseError(Request, status, new List <string> {
         message
     }));
 }