public ICommandResult Handle(UpdateEndpointCommand command) { // Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados inválidos. Verifique o preenchimento dos campos e tente novamente.", command.Notifications)); } // Recupera Entidade (para reidratação) var endpoint = _repository.GetBySerialNumber(command.SerialNumber); if (endpoint == null) { return(new GenericCommandResult(false, "Nenhum Endpoint encontrado com esse Número Serial.", null)); } // Altera a Entidade (reidradação) endpoint.Update(command.SwitchState); // Checa as Notificações if (Invalid) { return(new GenericCommandResult(false, "Dados inválidos. Verifique o preenchimento dos campos e tente novamente.", Notifications)); } // Salva as Informações _repository.Update(endpoint); // Retorna as Informações return(new GenericCommandResult(true, "Atualização realizada com sucesso.", endpoint)); }
public Endpoint GetBySeriaNumber(string serialNumber, [FromServices] IEndpointRepository repository) { return(repository.GetBySerialNumber(serialNumber)); }