/// <summary> /// Creates an Error Response of <see cref="IResponse"/> with messages and a given error Status <see cref="ErrorResponseStatus"/> /// Default error status is <see cref="ErrorResponseStatus.InternalServerError"/> /// </summary> public static IResponse Error(List <string> messages, ErrorResponseStatus status = ErrorResponseStatus.InternalServerError) { return(new Response { Status = (ResponseStatus)status, Messages = messages ?? new List <string>() }); }
/// <summary> /// Creates an Error Response of <see cref="IResponse"/> with a message and a given error Status <see cref="ErrorResponseStatus"/> /// Default error status is <see cref="ErrorResponseStatus.InternalServerError"/> /// </summary> public static IResponse Error(string message, ErrorResponseStatus status = ErrorResponseStatus.InternalServerError) { return(new Response { Status = (ResponseStatus)status, Messages = new List <string> { message } }); }
/// <summary> /// Creates an Error Response of <see cref="IResponse"/> with messages and a given error Status <see cref="ErrorResponseStatus"/> /// Default error status is <see cref="ErrorResponseStatus.InternalServerError"/> /// </summary> public static async Task <IResponse> ErrorAsync(List <string> messages, ErrorResponseStatus status = ErrorResponseStatus.InternalServerError) { return(await Task.FromResult(Error(messages, status))); }
public IResponseStatus <TResponse> Execute <TResponse>(IRequest <TResponse> request) where TResponse : IResponse, new() { var unitOfWork = IoC.Resolve <IUnitOfWork>(); var stopwatch = new Stopwatch(); IResponseStatus <TResponse> responseStatus; try { stopwatch.Start(); var command = CommandFactory.Create(request); if (command.RequiresTransaction) { unitOfWork.BeginTransaction(); } LimitDbContext(request, _dbContext); try { responseStatus = TryExecute(request, command); if (responseStatus is OkResponseStatus <TResponse> ) { unitOfWork.SaveChanges(); if (command.RequiresTransaction) { unitOfWork.CompleteTransaction(); } AfterExecute(request, ((OkResponseStatus <TResponse>)responseStatus).Response, command); } } catch // (Exception e) { if (command.RequiresTransaction) { unitOfWork.RollbackTransaction(); } //ErrorLogUtils.AddError(e); var error = new InternalServerResponseError(); responseStatus = new ErrorResponseStatus <TResponse>(error); } unitOfWork.Dispose(); return(responseStatus); } catch (Exception e) { //ErrorLogUtils.AddError(e); var error = new InternalServerResponseError(e.Message); responseStatus = new ErrorResponseStatus <TResponse>(error); return(responseStatus); } finally { if (unitOfWork != null && unitOfWork.IsDisposed == false) { unitOfWork.Dispose(); } stopwatch.Stop(); //SaveApiLogEntry(stopwatch.ElapsedMilliseconds, response ?? errResponse, request, authenticateResult.Partner); } }
/// <summary> /// Creates an Error Response with messages /// </summary> /// <param name="request"><see cref="HttpRequestMessage"/></param> /// <param name="messages">List of <see cref="string"/></param> /// <param name="status"><see cref="ErrorResponseStatus"/></param> /// <returns><see cref="HttpResponseMessage"/></returns> public static HttpResponseMessage CreateResponseError(HttpRequestMessage request, ErrorResponseStatus status, List <string> messages) { return(CreateResponsibleMessage(request, (HttpStatusCode)status, messages)); }
/// <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 })); }