static void DisplayMultiClientState(string[] args, Dictionary <string, object> dicArgs, Config config) { //Values List <MultiClientEntry> clients; using (MultiClientState multiClientState = new MultiClientState(config, null, null)) { clients = multiClientState.GetClients(); } //Output Output(""); Output($"MCS: Listing {clients?.Count} clients from Multi Client State in workfile"); Output("-----"); int i = 0; foreach (MultiClientEntry client in clients) { i++; Output($"MCS {i}: {client}"); } Output("-----"); Output(""); }
static void McsDelete(string[] args, Dictionary <string, object> dicArgs) { //Load Config from Work File Config config = getConfig(dicArgs); //Set Output Output = Output_Simple; string maintenanceMode = (string)dicArgs["mcsdelete"]; IEnumerable <MultiClientEntry> deletedEntries; using (MultiClientState mcs = new MultiClientState(config, null, null)) { switch (maintenanceMode) { case "all": deletedEntries = mcs.DeleteAll(); break; case "name": string name = dicArgs.Get <string>("value"); deletedEntries = mcs.DeleteByName(name); break; case "expire": DateTime expiry = dicArgs.Get <DateTime>("value"); deletedEntries = mcs.DeleteOlderThan(expiry); break; default: Output($"MCS Maintenance mode \"{maintenanceMode}\" is not valid."); return; } //Save changes mcs.SaveClients(); } //Output if (deletedEntries != null && deletedEntries.Any()) { Output("Deleted these Multi-Client-State Entries:"); foreach (MultiClientEntry entry in deletedEntries) { Output(entry.ToString()); } Output("Done!"); } else { Output("There was no Multi-Client-State Entries to delete."); } Output(""); }