Ejemplo n.º 1
0
        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("");
        }
Ejemplo n.º 2
0
        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("");
        }