コード例 #1
0
        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));
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
        }