Пример #1
0
        private void OnPomodoroFinished()
        {
            if (ActiveTask.TaskStatistic == null)
            {
                ActiveTask.TaskStatistic = new FinishedTaskStatistic();
            }

            ActiveTask.TaskStatistic.Add(1);

            AlarmService.RunAlarm();

            CurrentSession.FinishedTaskInfo.Add(
                new TaskStatistic()
            {
                TaskId       = ActiveTask.Id,
                FinishedTime = DateTime.Now,
                Duration     = PomodoroSettings.PomodoroDuration,
                TaskName     = ActiveTask.TaskName
            });

            StorageService.UpdateSessionInfo(CurrentSession);
            StorageService.UpdateUserTask(ActiveTask);

            UserTaskModifiedEvent?.Invoke(this, new UserTaskModifiedEventArgs()
            {
                UserTask = ActiveTask
            });
        }
Пример #2
0
        public async Task <bool> AddNewUserTask(UserTask userTask)
        {
            var isAdded = await StorageService.AddNewUserTaskAsync(userTask);

            if (ActiveTask.Id == userTask.Id)
            {
                ActiveTask = userTask;
            }
            if (isAdded)
            {
                UserTasks.RemoveAll(x => x.Id == userTask.Id);
                UserTasks.Insert(0, userTask);
                UserTaskModifiedEvent?.Invoke(this, new UserTaskModifiedEventArgs()
                {
                    UserTask = userTask
                });
            }
            return(isAdded);
        }
Пример #3
0
        private void OnPomodoroFinished()
        {
            if (ActiveTask.TaskStatistic == null)
            {
                ActiveTask.TaskStatistic = new FinishedTaskStatistic();
            }

            ActiveTask.TaskStatistic.Add(1);

            AlarmService.RunPomodoroFinishedAlarm();
            var taskStatistic = new TaskStatistic()
            {
                Id           = Guid.NewGuid(),
                UserId       = User.Id,
                TaskId       = ActiveTask.Id,
                FinishedTime = DateTime.Now,
                Duration     = PomodoroSettings.PomodoroDuration,
                TaskName     = ActiveTask.TaskName
            };

            CurrentSession.FinishedTaskInfo.Add(taskStatistic);


            StorageService.UpdateSessionInfo(CurrentSession);
            StorageService.UpdateUserTask(ActiveTask);

            UserTaskModifiedEvent?.Invoke(this, new UserTaskModifiedEventArgs()
            {
                UserTask = ActiveTask
            });

            try
            {
                FireBaseOnlineStore fireBaseOnlineStore = new FireBaseOnlineStore(User);
                fireBaseOnlineStore.AddTaskStatisticsAsync(taskStatistic);
            }
            catch (Exception)
            {
                throw;
            }
        }