public override async Task <ActionResult <UpdateClientResponse> > HandleAsync(UpdateClientRequest request, CancellationToken cancellationToken) { var response = new UpdateClientResponse(request.CorrelationId()); var toUpdate = _mapper.Map <Client>(request); await _repository.UpdateAsync <Client, int>(toUpdate); var dto = _mapper.Map <ClientDto>(toUpdate); response.Client = dto; return(Ok(response)); }
public void delete(UpdateClientRequest request) { try { var response = new UpdateClientResponse(); var bc = new ClientComponent(); bc.Update(request.Client); } catch (Exception ex) { var httpError = new HttpResponseMessage() { StatusCode = (HttpStatusCode)422, ReasonPhrase = ex.Message }; throw new HttpResponseException(httpError); } }
public UpdateClientResponse UpdateClientData(UpdateClientRequest request) { var response = new UpdateClientResponse { ResponseStatus = ResponseStatus.Success }; var clientsProvider = new ClientsProvider(); try { if (request.ActionType == ActionType.Update) { response.isSuccessful = clientsProvider.ChangeClientData(request); if (response.isSuccessful) { var refreshClientsRequest = new AllClientsRequest { ActionType = ActionType.Select, Role = request.Role, TeamId = request.TeamId }; var clientsResponse = GetAllClients(refreshClientsRequest); response.NewClientsList = clientsResponse.Clients; //Log all changes List <Change> changes = ClientsHelper.GetAllChanges(request.Client, request.OldClientProfile); response.isSuccessful = clientsProvider.LogClientChanges(changes, request.Client.CustomerID, request.UserId); } } else { response.ResponseStatus = ResponseStatus.Failure; response.ResponseDescription = "Not update action"; } } catch (Exception ex) { response.ResponseStatus = ResponseStatus.Failure; response.ResponseDescription = ex.Message; } return(response); }
public override async Task <ActionResult <UpdateClientResponse> > HandleAsync(UpdateClientRequest request, CancellationToken cancellationToken) { var response = new UpdateClientResponse(request.CorrelationId); var toUpdate = _mapper.Map <Client>(request); await _repository.UpdateAsync(toUpdate); var dto = _mapper.Map <ClientDto>(toUpdate); response.Client = dto; // Note: These messages could be triggered from the Repository or DbContext events // In the DbContext you could look for entities marked with an interface saying they needed // to be synchronized via cross-domain events and publish the appropriate message. var appEvent = new NamedEntityUpdatedEvent(_mapper.Map <NamedEntity>(toUpdate), "Client-Updated"); _messagePublisher.Publish(appEvent); return(Ok(response)); }