public async Task <ApiResponse> Handle(Query request, CancellationToken cancellationToken) { try { var evento = _mapper.Map <Evento>(request.EntityUpdate); evento.KeyEvento = Convert.ToInt32(request.EntityId); var requestSave = new SaveRequest <Evento> { EntityId = request.EntityId, Entity = evento }; var unitWork = ServiceInjectFactory.CreateOfWork(_connection); var result = await _service.UpdateAsync(unitWork, requestSave); if (result.Error == null) { return(new ApiResponse($"Registro con codigo: {request.EntityId} fue actualizado correctamente.", true)); } throw new ApiProblemDetailsException($"Registro con codigo: {request.EntityId} no existe.", StatusCodes.Status404NotFound); } catch (Exception) { throw new ApiProblemDetailsException($"Registro con codigo: {request.EntityId} no se pudo actualizar.", StatusCodes.Status404NotFound); } }
public async Task <ApiResponse> Handle(Query request, CancellationToken cancellationToken) { try { var unitWork = ServiceInjectFactory.CreateOfWork(_connection); var requestDelete = new DeleteRequest() { EntityId = request.EntityId }; var result = await _service.DeleteAsync(unitWork, requestDelete); if (result.Error == null) { result.WasAlreadyDeleted = true; return(new ApiResponse($"Registro con codigo: {request.EntityId} fue borrado correctamente.", result)); } throw new ApiException("Registro no encontrado", StatusCodes.Status404NotFound); } catch (Exception) { throw new ApiProblemDetailsException($"Registro con codigo: {request.EntityId} no encontrado.", StatusCodes.Status404NotFound); } }
public async Task <ApiResponse> Handle(Query request, CancellationToken cancellationToken) { var unitWork = ServiceInjectFactory.CreateOfWork(_connection); var evento = _mapper.Map <Evento>(request.NewEntity); var requestSave = new SaveRequest <Evento> { Entity = evento }; var result = await _service.CreateAsync(unitWork, requestSave); return(new ApiResponse("Registro Creado Correctamente.", result, StatusCodes.Status201Created)); }