private static PlanningGameManager BuildPlanningGameManager(MainWindow mainWindow) { var commandQueue = new OperationsQueue(mainWindow.Dispatcher); var networkManager = new NetworkManager(); var stubDataLoader = new XmlDataPersister(XmlSerializerFactoy.Create()); var viewModelParser = new ViewModelParser(mainWindow); var planningGameManager = new PlanningGameManager(mainWindow, commandQueue, networkManager, stubDataLoader, viewModelParser); return(planningGameManager); }
public static MainWindow Build(IDataRepository dataRepository, Dispatcher dispatcher) { var operationsQueue = new OperationsQueue(dispatcher); MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(); mainWindowViewModel.People.SlaveTo(dataRepository.AllPeople, new PeopleViewModelFactory()); mainWindowViewModel.Projects.SlaveTo(dataRepository.AllProjects, new ProjectViewModelFactory()); mainWindowViewModel.AllSchedules.SlaveTo(dataRepository.AllWeeklySchedules, new WeeklyScheduleViewModelFactory()); dataRepository.AllResourceBlocks.DataChanged += OnResourceBlockChange(mainWindowViewModel); var userOperationsFactory = new UserOperationsBuilder(operationsQueue, null); return(new MainWindow(mainWindowViewModel, userOperationsFactory)); }
public PlanningGameManager(IMainWindow mainWindow, OperationsQueue operationQueue, NetworkManager networkManager, IDataPersister dataPersister, ViewModelParser viewModelParser) { _mainWindow = mainWindow; _operationQueue = operationQueue; _networkManager = networkManager; _dataPersister = dataPersister; _viewModelParser = viewModelParser; mainWindow.WindowClosed += SaveData; mainWindow.NetworkConnect += WindowOnNetworkConnect; mainWindow.HostNetworkSession += WindowOnHostNetworkSession; mainWindow.OpenProject += Window_OnOpenProject; mainWindow.SaveProject += Window_OnSaveProject; _operationQueue.OperationStatus += Operation_OnStatusMessage; }
internal QueueOperation(OperationsQueue queue, bool runInParallel) : base(runInParallel) { _queue = queue; }