Esempio n. 1
0
        public override async Task <ICommandResult> Handle(UpdateClientCommand command)
        {
            var aggregate = await Get(command.Id);

            var employeeUpdatedEvent = new ClientUpdatedEvent(command.FirstName, command.LastName, command.Email);

            aggregate.Update(employeeUpdatedEvent);
            return(await SaveAndCommit(aggregate));
        }
Esempio n. 2
0
        private void HandleClientUpdatedEvent(ClientUpdatedEvent e)
        {
            ClientState    cs = e.ResultClientState;
            ClientListItem newClientListItem = ClientListItem.GenerateClientListItemFromClientState(cs);

            ClientListUpdateCommand newCLUC = new ClientListUpdateCommand(newClientListItem, e.User, e.ConnectionId);

            _logger.Info($"Updating client list Id:{cs.Id} UserName:{cs.Name}.");
            Persist <ClientListUpdateCommand>(newCLUC, postClientListItemUpdateHandler);
        }
Esempio n. 3
0
 public void Handle(ClientUpdatedEvent message)
 {
     if (!string.IsNullOrEmpty(message.FirstName))
     {
         AggregateRoot.FirstName = message.FirstName;
     }
     if (!string.IsNullOrEmpty(message.LastName))
     {
         AggregateRoot.LastName = message.LastName;
     }
     if (!string.IsNullOrEmpty(message.Email))
     {
         AggregateRoot.Email = message.Email;
     }
 }
Esempio n. 4
0
        private void PostUpdateHandler(ClientUpdateCommand c)
        {
            // Update updatable fields
            _ActorState.Update(c.ClientStateData);

            AutoSaveSnashot(false);

            _logger.Debug($"User:{c.User} updated client id:{_ActorState.Id}.");

            // Update whoever requested it with the new state
            ClientUpdatedEvent message = new ClientUpdatedEvent(_ActorState.Clone(), c.User, c.ConnectionId);

            Sender.Tell(message, Self);

            // Notify interested actors on the update
            NotifyCommandEventSubscribers(message);
        }
        public bool TranslateAkkaUpsertEventToExternalMessage(CommandEventMessage internalCommandEvent)
        {
            ClientUpdatedEvent e = internalCommandEvent as ClientUpdatedEvent;

            HTTPExternalInterface.HandleEDStateMessage(
                new HTTPDestinedCommandStateEvent(
                    MicroServices.ProcessingStatus.Processed,
                    e.Message,
                    new HTTPSourcedCommand(
                        e.CommandType.ToString(),
                        e.Area.ToString(),
                        null,
                        e.ResultClientState,
                        e.User,
                        e.ConnectionId,
                        e.Id
                        )
                    ),
                false //User only?
                );
            return(true);
        }
Esempio n. 6
0
        public override void Initialize()
        {
            //init updater
            _updateNotifier = new UpdateNotifier();
            _updateNotifier.PropertyChanged += (sender, args) => OnPropertyChanged(nameof(VersionStatus));

            //forward signalr manager
            _signalrmanager = new SignalRManager();
            _signalrmanager.NewClientEvent          += delegate(Client client) { NewClientEvent?.Invoke(client); };
            _signalrmanager.ClientDisconnectedEvent += delegate(Client client) { ClientDisconnectedEvent?.Invoke(client); };
            _signalrmanager.ClientUpdatedEvent      += delegate(Client client) { ClientUpdatedEvent?.Invoke(client); };
            _signalrmanager.NewLogMessageEvent      += NotifyNewLogMessageEvent;
            _signalrmanager.NewConsoleLogMessage    += delegate(Client pClient, string message) { NewConsoleLogMessage?.Invoke(pClient, message); };
            _signalrmanager.WorkRequestedEvent      += SignalrmanagerOnWorkRequestedEvent;
            _signalrmanager.ResultsReceivedEvent    += SignalrmanagerOnResultsReceivedEvent;
            _signalrmanager.Initialize();

            //create command manager
            _commandManager = new CommandManager();
            _commandManager.NewLogMessageEvent += NotifyNewLogMessageEvent;
            _commandManager.Initialize();

            base.Initialize();
        }
Esempio n. 7
0
 public void Handle(ClientUpdatedEvent message)
 {
     mailProvider.SendMailAsync("Subject", "Content", "*****@*****.**", "Sender", message.Email);
 }
Esempio n. 8
0
        public override void Initialize()
        {
            //get frontend target
            var predictionTarget = GetPredictionTarget();

            //init fs manager
            _filesystemManager = new FilesystemManager();
            _filesystemManager.NewLogMessageEvent += CoreNotifyLogMessage;
            _filesystemManager.Initialize();

            //configuration manager
            _configManager = new ConfigurationManager(_filesystemManager);
            _configManager.NewLogMessageEvent += CoreNotifyLogMessage;
            _configManager.Initialize();

            //forward signalr manager
            _signalrservermanager = new SignalRServerManager();
            _signalrservermanager.NewClientEvent                 += delegate(WorkerClient client) { NewClientEvent?.Invoke(client); ClientsUpdated(_signalrservermanager.ConnectedClients.Count); };
            _signalrservermanager.ClientDisconnectedEvent        += delegate(WorkerClient client) { ClientDisconnectedEvent?.Invoke(client); ClientsUpdated(_signalrservermanager.ConnectedClients.Count); };
            _signalrservermanager.ClientUpdatedEvent             += delegate(WorkerClient client) { ClientUpdatedEvent?.Invoke(client); };
            _signalrservermanager.NewLogMessageEvent             += CoreNotifyLogMessage;
            _signalrservermanager.NewConsoleLogMessage           += delegate(WorkerClient pClient, string message) { NewConsoleLogMessage?.Invoke(pClient, message); };
            _signalrservermanager.NewClientErrorMessageEvent     += delegate(WorkerClient pClient, String pErrorMessage, List <String> pErrorLog, WorkPackage pWorkPackage) { _commandManager?.ReceiveErrorFromWorker(pErrorLog, pWorkPackage); };
            _signalrservermanager.WorkRequestedEvent             += SignalrmanagerOnWorkRequestedEvent;
            _signalrservermanager.TrainingResultsReceivedEvent   += SignalrmanagerOnTrainingResultsReceivedEvent;
            _signalrservermanager.PredictionResultsReceivedEvent += SignalrmanagerOnPredictionResultsReceivedEvent;
            _signalrservermanager.Initialize();

            //frontend signalr manager
            _signalrclientmanager = new SignalRClientManager();
            _signalrclientmanager.NewLogMessageEvent        += CoreNotifyLogMessage;
            _signalrclientmanager.PredictionRequestedEvent  += _signalrclientmanager_PredictionRequestedEvent;
            _signalrclientmanager.ConfigurationUpdatedEvent += delegate(ConductorConfiguration pConfiguration) { this._commandManager.UpdateConfiguration(pConfiguration); };
            _signalrclientmanager.ConnectedEvent            += delegate() { _commandManager.ReportConfiguration(); };
            if (!String.IsNullOrWhiteSpace(predictionTarget))
            {   //only connect to frontend if a target is specified
                _signalrclientmanager.Initialize($"{predictionTarget}/server/rnn");
                _signalrclientmanager.ConnectAsync()
                .ContinueWith(t =>
                {
                    this.ClientsUpdated(_signalrservermanager.ConnectedClients.Count);
                }, TaskContinuationOptions.OnlyOnRanToCompletion);
            }
            else
            {
                this.CoreNotifyLogMessage("SignalRClientManager will not attempt to connect to a frontend because none was specified.");
            }

            //create command manager
            _commandManager = new CommandManager(_configManager, _filesystemManager, _signalrservermanager.ConnectedClients);
            _commandManager.NewLogMessageEvent      += CoreNotifyLogMessage;
            _commandManager.PredictionFinishedEvent += _commandManager_PredictionFinishedEvent;
            _commandManager.StatusChangedEvent      += _commandManager_StatusChangedEvent;
            _commandManager.Initialize();

            base.Initialize();
        }
Esempio n. 9
0
 private void NotifyClientUpdatedEvent(WorkerClient pClient)
 {
     ClientUpdatedEvent?.Invoke(pClient);
     //NotifyNewLogMessageEvent($"CONNECT: {pClient.ID}");
 }
Esempio n. 10
0
 public void Update(ClientUpdatedEvent message)
 {
     ApplyChange(message);
 }
Esempio n. 11
0
 public void Apply(ClientUpdatedEvent @event)
 {
     Name  = @event.Data.Name;
     Email = @event.Data.Email;
 }
Esempio n. 12
0
 public Task Handle(ClientUpdatedEvent @event, CancellationToken cancellationToken = default(CancellationToken))
 {
     Save(@event.Id, @event);
     return(Task.CompletedTask);
 }
Esempio n. 13
0
 public Task Handle(ClientUpdatedEvent notification, CancellationToken cancellationToken)
 {
     return(Task.CompletedTask);
 }