private void Reset_Click(object sender, EventArgs e) { const string msg = "Vous êtes sur le point d’envoyer une demande de réinitialisation " + "au client sélectionné, celle-ci forcera ce dernier à s’enregistrer une nouvelle " + "fois sous un autre ID. Voulez-vous poursuivre ?"; if (MessageBox.Show(msg, Text, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) { return; } TreeNode selNode = m_tvClients.SelectedNode; Dbg.Assert(selNode != null && selNode.Parent != null); var client = selNode.Tag as HubClient; AppContext.LogManager.LogUserActivity($"Action utilisateur : Réinitialisation du client {ClientsManager.ClientStrID(client.ID)}"); AppContext.LogManager.LogSysActivity("Envoi d'une notification de réinitialisation au client " + $"{ClientsManager.ClientStrID(client.ID)}", true); AppContext.ClientsManager.SetClientStatus(client, ClientStatus_t.Reseted); }
public void DeleteClient(uint clID) { //remove client from running clients queue if present using (m_onlineClients.Lock()) if (m_onlineClients.Contains(clID)) { m_onlineClients.Remove(clID); ClientClosed?.Invoke(clID); AppContext.LogManager.CloseLogger(clID); } // delete: env uint[] ids = (from HubClientEnvironment env in m_ndxerClientsEnv.Source.Enumerate() where env.ClientID == clID select env.ID).ToArray(); for (int i = ids.Length - 1; i >= 0; --i) { int ndx = m_ndxerClientsEnv.IndexOf(ids[i]); m_ndxerClientsEnv.Source.Delete(ndx); AppContext.LogManager.LogSysActivity($"Environnement du client {ClientsManager.ClientStrID(clID)} supprimé"); } //delete status int ndxStatus = m_ndxerClientsStatus.IndexOf(clID); if (ndxStatus >= 0) { m_ndxerClientsStatus.Source.Delete(ndxStatus); AppContext.LogManager.LogSysActivity($"Status du client {ClientsManager.ClientStrID(clID)} supprimé"); } //delete client. int ndxClient = m_ndxerClients.IndexOf(clID); m_ndxerClients.Source.Delete(ndxClient); AppContext.LogManager.LogSysActivity($"Client {ClientsManager.ClientStrID(clID)} supprimé"); }
private void DeleteClient_Click(object sender, EventArgs e) { TreeNode selNode = m_tvClients.SelectedNode; Dbg.Assert(selNode != null && selNode.Parent != null); var client = selNode.Tag as HubClient; var clStatus = m_ndxerStatus.Get(client.ID) as ClientStatus; if (clStatus.Status != ClientStatus_t.Reseted) { const string msg = "Vous ne supprimer le client sélectionné, " + "seuls les clients réinitialisés peuvent être supprimés."; MessageBox.Show(msg, Text, MessageBoxButtons.OK); return; } var waitDlg = new Jobs.ProcessingDialog(); Action <Task> onErr = t => { AppContext.LogManager.LogSysError($"Erreur lors de la suppression du client {ClientsManager.ClientStrID(client.ID)}:" + t.Exception.InnerException.Message, true); waitDlg.Close(); }; Action onSuccess = () => { AppContext.LogManager.LogSysActivity($"Action utilisateur: Suppression du client {ClientsManager.ClientStrID(client.ID)}", true); waitDlg.Close(); }; var task = new Task(() => AppContext.ClientsManager.DeleteClient(client.ID), TaskCreationOptions.LongRunning); task.OnSuccess(onSuccess); task.OnError(onErr); task.Start(); waitDlg.ShowDialog(this); }
void ProcessClientStatus(ClientStatus_t status) { Dbg.Assert(!InvokeRequired); var client = m_tvClients.SelectedNode.Tag as HubClient; ManagementMode_t prfMgmnt = AppContext.ClientsManager.GetProfileManagementMode(client.ProfileID); var prf = m_ndxerProfiles.Get(client.ProfileID) as UserProfile; if (prfMgmnt == ManagementMode_t.Auto) { if (MessageBox.Show(this, $"La gestion du profil {prf.Name} sera changée en mode 'manuel'. Poursuivre ?", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } } AppContext.LogManager.LogUserActivity($"Action utilisateur: Changement du statut du client {ClientsManager.ClientStrID(client.ID)} en {ClientStatuses.GetStatusName(status)}"); AppContext.ClientsManager.SetProfileManagementMode(client.ProfileID, ManagementMode_t.Manual); //maj le status AppContext.ClientsManager.SetClientStatus(client, status); }