/// <summary> /// Ctor /// </summary> public Manager() { Playlists = new ObservableCollection <Playlist>(); Load(); Commands = new ManagerCommands(this); }
public ShardManager(Configuration cfg) { var ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; Log($"Birthday Bot v{ver.ToString(3)} is starting..."); Config = cfg; // Command handler setup _dispatchCommands = new Dictionary <string, CommandHandler>(StringComparer.OrdinalIgnoreCase); _cmdsUser = new UserCommands(cfg); foreach (var item in _cmdsUser.Commands) { _dispatchCommands.Add(item.Item1, item.Item2); } _cmdsListing = new ListingCommands(cfg); foreach (var item in _cmdsListing.Commands) { _dispatchCommands.Add(item.Item1, item.Item2); } _cmdsHelp = new HelpInfoCommands(cfg); foreach (var item in _cmdsHelp.Commands) { _dispatchCommands.Add(item.Item1, item.Item2); } _cmdsMods = new ManagerCommands(cfg, _cmdsUser.Commands); foreach (var item in _cmdsMods.Commands) { _dispatchCommands.Add(item.Item1, item.Item2); } _shards = new Dictionary <int, ShardInstance>(); // TODO implement more flexible sharding configuration here for (int i = 0; i < Config.ShardCount; i++) { _shards.Add(i, null); } // Start watchdog _watchdogCancel = new CancellationTokenSource(); _watchdogTask = Task.Factory.StartNew(WatchdogLoop, _watchdogCancel.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); }
static void Main() { using (var context = new EmployeesDbContext()) { var input = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries); while (true) { var confMapper = new MapperConfiguration(conf => conf.AddProfile <EmployeeProfile>()); var mapper = new Mapper(confMapper); EmployeeCommands empCommands = new EmployeeCommands(context, mapper); ManagerCommands managerCommands = new ManagerCommands(context, mapper); var args = input.Skip(1).ToArray(); switch (input[0]) { case "AddEmployee": Console.WriteLine(empCommands.AddEmployee(args)); break; case "SetBirthday": empCommands.SetBirthday(args); break; case "SetAddress": empCommands.SetAddress(args); break; case "EmployeeInfo": var id = int.Parse(args[0]); Console.WriteLine(empCommands.EmployeeInfo(id)); break; case "EmployeePersonalInfo": var Employeeid = int.Parse(args[0]); Console.WriteLine(empCommands.EmployeePersonalInfo(Employeeid)); break; case "SetManager": Console.WriteLine(managerCommands.SetManager(args)); break; case "ManagerInfo": Console.WriteLine(managerCommands.ManagerInfo(args)); break; case "ListEmployeesOlderThan": Console.WriteLine(empCommands.ListEmployeesOlderThan(int.Parse(args[0]))); break; } if (input[0] == "Exit") { break; } input = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries); } } }