示例#1
0
        private void PostClientListUnDeleteHandler(ClientListUnDeleteCommand c)
        {
            _logger.Info($"UnDeleting from client list Id:{c.ClientId} UserName:{c.ClientListItemData.Name}.");
            _ActorState[c.ClientId] = c.ClientListItemData;
            ClientListItemUnDeletedEvent message = new ClientListItemUnDeletedEvent(c.ClientListItemData.Copy(), c.User, c.ConnectionId);

            NotifySubscribers(message);
            AutoSaveSnashot(false);
        }
示例#2
0
        /// <summary>
        /// Removes client(item) from the list.  If an instance of the ClientActor is in memory it unloads it.
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        private void HandleClientUnDeletedEvent(ClientUnDeletedEvent e)
        {
            // Is the item still in the list?
            if (_ActorState[e.Id] == null)
            {
                _logger.Info($"{e.User} tried undeleting from client list id:{e.Id} but was not found.");
            }
            else
            {
                ClientListItem cliNewState = _ActorState[e.Id].Copy();
                cliNewState.IsActive = true;

                // Memorialize that we are recovering the item from the list in the journal
                ClientListUnDeleteCommand clientListUnDeleteCommand = new ClientListUnDeleteCommand(
                    cliNewState,
                    e.User,
                    e.ConnectionId);

                _logger.Info($"Undeleting client list item Id{e.Id} UserName:{e.ResultClientState.Name}.");
                Persist <ClientListUnDeleteCommand>(clientListUnDeleteCommand, PostClientListUnDeleteHandler);
            }
        }
示例#3
0
 private void UnDeleteClientListRecoveryCommand(ClientListUnDeleteCommand c)
 {
     _logger.Info($"Recovering Undeleting client list item Id:{c.Id} UserName:{c.ClientListItemData?.Name ?? "No UserName"}.");
     _ActorState[c.ClientId] = c.ClientListItemData;
     _logger.Info($"Recovered Undeleted from client list Id:{c.Id} UserName:{c.ClientListItemData?.Name ?? "No UserName"}.");
 }