public async Task <bool> AddTaskStatisticsAsync(TaskStatistic taskStatistic) { try { var store = new FirebaseDataStore <TaskStatistic>(BaseUrl, GetTableName(taskStatistic.GetType())); await store.AddItemAsync(taskStatistic); return(true); } catch (Exception ex) { return(false); } }
public static List <PomodoroSession> CreateStatisticData(int taskCount, int dailypomodoroCount, DateTime startTime, DateTime finishTime) { List <PomodoroSession> sessions = new List <PomodoroSession>(); List <TaskStatistic> statistics = new List <TaskStatistic>(); var userTasks = new List <UserTask>(); for (int i = 0; i < 100; i++) { userTasks.Add(MockDataService.CreateUserTask()); } var dayCount = (finishTime - startTime).TotalDays; var r = new Random(); int startCount = dailypomodoroCount / 2; for (int d = 0; d < dayCount; d++) { var session = new PomodoroSession() { Day = startTime.AddDays(d), Id = Guid.NewGuid() }; for (int i = 0; i < startCount; i++) { var taskIndex = new Random().Next() % userTasks.Count; TaskStatistic s = new TaskStatistic(); s.Duration = TimeSpan.FromMinutes(20); s.Id = Guid.NewGuid(); s.TaskId = userTasks[taskIndex].Id; s.TaskName = userTasks[taskIndex].TaskName; s.FinishedTime = startTime.AddDays(d); session.FinishedTaskInfo.Add(s); } if (startCount > dailypomodoroCount) { startCount = dailypomodoroCount / 2; } startCount++; sessions.Add(session); } return(sessions); }
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; } }
public List <TaskStatistic> GetStatisticData(DateTime startTime, DateTime finishTime) { List <TaskStatistic> statistics = new List <TaskStatistic>(); var dayCount = (finishTime - startTime).TotalDays; var userTasks = new List <UserTask>() { new UserTask() { PomodoroSettings = new PomodoroSettings() { PomodoroDuration = TimeSpan.FromMinutes(25) }, TaskName = "Task1", }, new UserTask() { PomodoroSettings = new PomodoroSettings() { PomodoroDuration = TimeSpan.FromMinutes(25) }, TaskName = "Task2", }, new UserTask() { PomodoroSettings = new PomodoroSettings() { PomodoroDuration = TimeSpan.FromMinutes(25) }, TaskName = "Task3", }, new UserTask() { PomodoroSettings = new PomodoroSettings() { PomodoroDuration = TimeSpan.FromMinutes(25) }, TaskName = "Task4", } }; var r = new Random(); for (int d = 0; d < dayCount; d++) { foreach (var t in userTasks) { var count = 10 + r.Next() % 10; for (int i = 0; i < count; i++) { TaskStatistic s = new TaskStatistic(); s.TaskName = t.TaskName; s.Duration = t.PomodoroSettings.PomodoroBreakDuration; s.Id = new Guid(); s.TaskId = t.Id; s.FinishedTime = startTime.AddDays(d); statistics.Add(s); } } } return(statistics); }