Exemplo n.º 1
0
 private void ConsumeMessage(SimpleMessage message)
 {
     switch (message.Type)
     {
     case SimpleMessage.MessageType.TimerTick:
         applicationGrid.Items.Refresh();
         break;
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Funkce která je vyvolaná messengerem pro smazání grafù, aby nebyly pøekreslovány dvakrát
 /// </summary>
 /// <param name="message"></param>
 private void ConsumeMessage(SimpleMessage message)
 {
     switch (message.Type)
     {
     case SimpleMessage.MessageType.SwitchToApplicationListView:
     case SimpleMessage.MessageType.SwitchToTargetsView:
     case SimpleMessage.MessageType.NotInStatisticsView:
         appsCollection.Clear();
         categoriesCollection.Clear();
         break;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Zpracování jednoduché zprávy odeslané z jiného ViewModelu
        /// </summary>
        /// <param name="message"></param>
        private void ConsumeMessage(SimpleMessage message)
        {
            switch (message.Type)
            {
            case SimpleMessage.MessageType.TimerTick:
                WholeTime = wholeTime.Add(oneSecond);
                if (date == DateTime.Today && StackVisibility == Visibility.Visible)
                {
                    TodayWholeTime = WholeTime;
                }
                break;

            case SimpleMessage.MessageType.ApplicationDeactivated:
                switchState("Today");
                Messenger.Default.Send(new SimpleMessage {
                    Type = SimpleMessage.MessageType.StartTimer
                });
                break;
            }
        }
Exemplo n.º 4
0
        public ApplicationListViewModel()
        {
            categories.Add("Work", new Category("Work", new TimeSpan(0, 0, 0), new TimeSpan(0, 0, 0), "Práce"));
            categories.Add("Fun", new Category("Fun", new TimeSpan(0, 0, 0), new TimeSpan(0, 0, 0), "Zábava"));
            categories.Add("Other", new Category("Other", new TimeSpan(0, 0, 0), new TimeSpan(0, 0, 0), "Ostatní"));

            ///Zjištění přítomnosti souboru s cíly a načtění pro dnešní den
            if (File.Exists(Path.Combine(Directory.GetCurrentDirectory() + "\\targets\\" + DateTime.Today.Year + DateTime.Today.Month + DateTime.Today.Day + ".json")))
            {
                var targets = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, TimeSpan> >(File.ReadAllText(
                                                                                                                 Path.Combine(Directory.GetCurrentDirectory() + "\\targets\\" + DateTime.Today.Year + DateTime.Today.Month + DateTime.Today.Day + ".json")));

                foreach (KeyValuePair <string, TimeSpan> item in targets)
                {
                    var category = categories[item.Key];
                    category.target = item.Value;
                }
            }

            refreshMessage = new SimpleMessage {
                Type = SimpleMessage.MessageType.TimerTick
            };

            string categoriesFilePath = Path.Combine(Directory.GetCurrentDirectory() + "\\" + "categories.json");

            setTimers();

            /// Nastavení úvodní kategorie pokud nexestuje seznam kategorií jinak načtení ze souboru
            if (!fileOp.checkFile(categoriesFilePath))
            {
                knownCategories.Add("EOP", "Other");
                File.Create(categoriesFilePath);
            }
            else
            {
                knownCategories = fileOp.loadFile(categoriesFilePath);
            }
            /// Pokud neexistuje soubor dnešního dne vytvoří se prázdná kolekce a začne se zaznamenávat, jinak se soubor načte do kolekce
            if (!fileOp.checkFile(DateTime.Now))
            {
                Applications = new ObservableCollection <Application>();
                applicationTimer.Start();
            }
            else
            {
                Applications = fileOp.loadFile(DateTime.Now, ref wholeTime);

                foreach (Application item in Applications)
                {
                    categories[item.Category.name].timeInCategory = categories[item.Category.name].timeInCategory.Add(item.timeInApp);
                }

                recountThePercentage();
                applicationTimer.Start();
            }

            ///Zaregistrování poslouchání zpráv předaných z jiných ViewModelů
            Messenger.Default.Register <SimpleMessage>(this, ConsumeMessage);
            Messenger.Default.Register <DateTime>(this, "applicationToken", ChangeDay);
            Messenger.Default.Register <int>(this, setMode);
            Messenger.Default.Register <bool>(this, setNotification);
        }