Ejemplo n.º 1
0
        private void Import_OnClick(object sender, RoutedEventArgs e)
        {
            var dlg = new Microsoft.Win32.OpenFileDialog
            {
                DefaultExt = ".csv",
                Filter     = "CSV (*.csv)|*.csv"
            };

            var result = dlg.ShowDialog();


            if (result == null || result == false)
            {
                return;
            }

            //We expect csv
            //Date,int
            try
            {
                var pomodoros = new List <PomodoroEntity>();

                using (var input = new StreamReader(dlg.FileName))
                {
                    string line;
                    while ((line = input.ReadLine()) != null)
                    {
                        var parts = line.Split(',');
                        if (parts.Length != 2)
                        {
                            MessageBox.Show($"Invalid line in file:{line}", "Error while importing", MessageBoxButton.OK);

                            return;
                        }
                        var date      = DateTime.Parse(parts[0]).Date;
                        var completed = Int32.Parse(parts[1]);

                        for (int i = 0; i < completed; i++)
                        {
                            pomodoros.Add(new PomodoroEntity {
                                DateTime = date, Count = 1
                            });
                        }
                    }
                }

                foreach (var pomodoro in pomodoros)
                {
                    _pomodoroRepository.Add(pomodoro);
                }

                MessageBox.Show("Imported successfully", "Import", MessageBoxButton.OK);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error while importing", MessageBoxButton.OK);
            }
        }
Ejemplo n.º 2
0
 private void _engine_OnPomodoroCompleted()
 {
     Task.Run(() =>
     {
         _itemRepository.Add(new PomodoroEntity
         {
             Count       = 1,
             DateTime    = DateTime.UtcNow,
             DurationMin = _engine.WorkTime / 60,
             ProfileName = _engineSettings.ActiveProfile
         });
     });
 }