Beispiel #1
0
        internal void Execute(ToasterController controller)
        {
            IToasterDataAccessService service = new ToasterDataAccessService();

            controller.Model.Toasters = service.Load();
            controller.ProcessMessage(ToasterAspects.Loaded, null);

            controller.RescheduleTasks();
        }
Beispiel #2
0
 public void Execute(ToasterController controller)
 {
     controller.TearDown();
     foreach (var toast in controller.Model.Toasters)
     {
         var taskTicket = Guid.NewGuid();
         controller.ToastTasksTickets.Add(taskTicket);
         var task = new Task(async() => await ExecuteTask(controller, toast, taskTicket));
         task.Start();
     }
 }
Beispiel #3
0
        internal void Execute(ToasterController controller, string toast, bool enabled)
        {
            var theToast = controller.Model.Toasters.Single(z => z.Name == toast);

            theToast.EnabledByUser = enabled;

            IToasterDataAccessService service = new ToasterDataAccessService();

            service.Save(controller.Model.Toasters);

            controller.RescheduleTasks();
        }
Beispiel #4
0
 public override void Dispose()
 {
     if (_controller != null)
     {
         _mainView.TearDown();
         _mainView = null;
         _controller.TearDown();
         _controller.Dispose();
         _controller = null;
         TabControl.TabPages.Remove(_tabPage);
         _tabPage = null;
         base.Dispose();
     }
 }
Beispiel #5
0
        public async Task ExecuteTask(ToasterController controller, Toast toast, Guid asyncTicket)
        {
            bool enabled = (toast.EnabledByUser ?? toast.EnabledByDefault) == true;

            while (enabled && toast.IntervalBetweenNotifications.HasValue)
            {
                await Task.Delay(new TimeSpan(0, toast.IntervalBetweenNotifications.Value, 0));

                if (!controller.ToastTasksTickets.Contains(asyncTicket))
                {
                    return;
                }
                ShowNotification(controller, toast);
            }
        }
 void Awake()
 {
     //If I am the first instance, make me the Singleton
     if (singleton == null)
     {
         singleton = this;
         DontDestroyOnLoad(this);
     }
     // If a Singleton already exists and you find another
     // reference in scene, destroy it!
     else
     {
         if (this != singleton)
         {
             Destroy(this.gameObject);
         }
     }
     messageText = gameObject.GetComponentInChildren <Text>();
     gameObject.SetActive(false);
 }
Beispiel #7
0
        public override void Activate()
        {
            base.Activate();

            if (_controller == null)
            {
                _mainView = new ToasterMainView {
                    Dock = DockStyle.Fill
                };
                _tabPage = new TabPage(ToolName);
                _tabPage.Controls.Add(_mainView);
                TabControl.TabPages.Add(_tabPage);
                TabControl.SelectTab(_tabPage);

                _controller = new ToasterController(Log, this);
                _mainView.Init(_controller);

                _controller.LoadSettings();
            }
            else // Select tab page.
            {
                TabControl.SelectTab(_tabPage);
            }
        }
Beispiel #8
0
 internal void Init(ToasterController controller)
 {
     _controller = controller;
     _context    = SynchronizationContext.Current;
 }
Beispiel #9
0
 private void ShowNotification(ToasterController controller, Toast toast)
 {
     controller.ProcessMessage(ToasterAspects.ShowNotification, toast.Name);
 }
Beispiel #10
0
 internal void Execute(ToasterController controller)
 {
     controller.ToastTasksTickets.Clear();
 }