protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            var controller     = new SerialSwitchController();
            var serialPort     = new SerialPortService();
            var macro          = new MacroService();
            var cancelableTask = new CancelableTaskService();
            var clock          = new SwitchClock();
            var work           = new WorkSituation();
            var gameCapture    = new GameCapture();
            var macroPool      = new MacroPool(clock, controller, cancelableTask, gameCapture);

            controller.SerialPort = serialPort;
            macro.TaskService     = cancelableTask;
            macro.Work            = work;
            macro.MacroPool       = macroPool;
            clock.Controller      = controller;
            clock.Cancellation    = cancelableTask;

            containerRegistry.RegisterInstance <IGameCapture>(gameCapture);
            containerRegistry.RegisterInstance <ISwitchController>(controller);
            containerRegistry.RegisterInstance <ISerialPortService>(serialPort);
            containerRegistry.RegisterInstance <IMacroService>(macro);
            containerRegistry.RegisterInstance <IMacroPool>(macroPool);
            containerRegistry.RegisterInstance <ITaskService>(cancelableTask);
            containerRegistry.RegisterInstance <ICanceler>(cancelableTask);
            containerRegistry.RegisterInstance <ICancellationRequest>(cancelableTask);
            containerRegistry.RegisterInstance <ISwitchClock>(clock);
            containerRegistry.RegisterInstance <IWorkSituation>(work);
        }
Exemplo n.º 2
0
        public string Return(int workCode)
        {
            WorkSituation workSituation = GetWorkSituation(workCode);

            if (workSituation == WorkSituation.NotFound)
            {
                return("Work not found.");
            }
            else if (workSituation == WorkSituation.Available)
            {
                return("Work is already available.");
            }
            else
            {
                return(_works.Find(w => w.Code == workCode).Return());
            }
        }
Exemplo n.º 3
0
        public string Borrow(int workCode)
        {
            WorkSituation workSituation = GetWorkSituation(workCode);

            if (workSituation == WorkSituation.NotFound)
            {
                return("Work not found.");
            }
            else if (workSituation == WorkSituation.NotAvailable)
            {
                return("Work not available for borrowing.");
            }
            else
            {
                return(_works.Find(w => w.Code == workCode).Borrow());
            }
        }