Beispiel #1
0
        public static List <Activity> GetSpecificDateActivityLog(DateTimeOffset specificTime)
        {
            List <Activity> activityLog = new List <Activity>();

            using (var db = new MemoAppContext())
            {
                List <EachTask> eachTaskList = EachTaskModel.GetSpecificDateEachTasks(specificTime);

                foreach (var eachTask in eachTaskList)
                {
                    List <TimeInfo> timeInfoList = TimeInfoModel.GetSpecificTaskTimeInfo(eachTask.EachTaskId);

                    foreach (TimeInfo timeInfo in timeInfoList)
                    {
                        Activity activity = new Activity()
                        {
                            ExactStartTime = timeInfo.Start.LocalDateTime,
                            StartTime      = timeInfo.Start.LocalDateTime.ToString(" HH : mm "),
                            StopTime       = timeInfo.Stop == DateTimeOffset.MinValue ? " XX : XX " : timeInfo.Stop.LocalDateTime.ToString(" HH : mm "),
                            TaskContent    = eachTask.Content,
                            EachTaskId     = eachTask.EachTaskId
                        };

                        activityLog.Add(activity);
                    }
                }
            }

            return(activityLog.OrderBy(log => log.ExactStartTime).ToList());
        }
Beispiel #2
0
        public void SetSmallTaskInfo()
        {
            try
            {
                List <EachTask> smallEachTaskList = EachTaskModel.GetSpecificTaskSmallTasks(SelectedEachTaskId);

                SmallTaskListData.Clear();

                smallEachTaskList?.ForEach(eachSmallTask =>
                {
                    SmallTaskInfo smallTaskInfo = new SmallTaskInfo()
                    {
                        EachTaskId       = eachSmallTask.EachTaskId,
                        ParentEachTaskId = SelectedEachTaskId,
                        Content          = eachSmallTask.Content,
                        IsComplete       = eachSmallTask.CompleteFlag
                    };

                    SmallTaskListData.Add(smallTaskInfo);
                });
            }
            catch
            {
                CommonViewModel.NotifySystemMessage(GetLangMessage.GetMessage("Exception"));
            }
        }
Beispiel #3
0
        public static List <EachTask> GetSpecificDateEachTaskList(DateTimeOffset specificDatetime)
        {
            List <EachTask> eachTaskList = new List <EachTask>();

            eachTaskList.AddRange(EachTaskModel.GetSpecificDateEachTasks(specificDatetime));
            eachTaskList = AddAllTask(eachTaskList);

            return(eachTaskList);
        }
Beispiel #4
0
        public static string ShowRecentInfo()
        {
            if (!string.IsNullOrWhiteSpace(CommonViewModel.RecentActionStatus) &&
                EachTaskModel.IsSpecificDateTask(CommonViewModel.RecentSelectedEachTaskId, DateTimeOffset.Now.LocalDateTime.Date))
            {
                EachTask eachTask = EachTaskModel.GetEachTask(CommonViewModel.RecentSelectedEachTaskId);

                return($"現在の状態:{eachTask.Content} {CommonViewModel.RecentActionStatus}");
            }
            else
            {
                return($"現在の状態:1日の作業開始前");
            }
        }
Beispiel #5
0
        public static List <TaskDisplayInfo> GetTaskDisplayInfo()
        {
            List <EachTask> specificDateEachTaskList = EachTaskModel.GetSpecificDateEachTasks(DateTimeOffset.Now.LocalDateTime).ToList();

            List <TaskDisplayInfo> result = new List <TaskDisplayInfo>();

            specificDateEachTaskList.ForEach(eachTask =>
            {
                TaskDisplayInfo info = new TaskDisplayInfo
                {
                    EachTaskId = eachTask.EachTaskId,
                    Content    = (eachTask.CompleteFlag ? "✔" : "").PadRight(3) + eachTask.Content
                };
                result.Add(info);
            });

            return(result);
        }
Beispiel #6
0
        public void SetSmallTaskInfo()
        {
            List <EachTask> smallEachTaskList = EachTaskModel.GetSpecificTaskSmallTasks(SelectedEachTaskId);

            SmallTaskListData.Clear();

            smallEachTaskList.ForEach(eachSmallTask =>
            {
                SmallTaskInfo smallTaskInfo = new SmallTaskInfo()
                {
                    EachTaskId       = eachSmallTask.EachTaskId,
                    ParentEachTaskId = SelectedEachTaskId,
                    Content          = eachSmallTask.Content,
                    IsComplete       = eachSmallTask.CompleteFlag
                };

                SmallTaskListData.Add(smallTaskInfo);
            });
        }
Beispiel #7
0
        public void SetSelectedEachTask()
        {
            try
            {
                EachTask selectedTask = EachTaskModel.GetEachTask(CommonViewModel.RecentSelectedEachTaskId);

                if (selectedTask != null)
                {
                    this.SelectedEachTaskItem = new TaskDisplayInfo()
                    {
                        EachTaskId = selectedTask.EachTaskId,
                        Content    = (selectedTask.CompleteFlag ? "✔" : "").PadRight(3) + selectedTask.Content
                    };
                }
            }
            catch
            {
                CommonViewModel.NotifySystemMessage(GetLangMessage.GetMessage("Exception"));
            }
        }
Beispiel #8
0
        public static string ShowRecentInfo()
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(CommonViewModel.RecentActionStatus) &&
                    EachTaskModel.IsSpecificDateTask(CommonViewModel.RecentSelectedEachTaskId, DateTimeOffset.Now.LocalDateTime.Date))
                {
                    EachTask eachTask = EachTaskModel.GetEachTask(CommonViewModel.RecentSelectedEachTaskId);

                    return($"{GetLangMessage.GetMessage("Msg1008")}:{eachTask.Content} {GetLangMessage.GetMessage(CommonViewModel.RecentActionStatus)}");
                }
                else
                {
                    return($"{GetLangMessage.GetMessage("Msg1008")}:{GetLangMessage.GetMessage("Msg1009")}");
                }
            }
            catch
            {
                return(GetLangMessage.GetMessage("Exception"));
            }
        }
Beispiel #9
0
        public void SetTaskDisplayInfo()
        {
            try
            {
                List <EachTask> specificDateEachTaskList = EachTaskModel.GetSpecificDateEachTasks(this.MainDate).ToList();

                TaskListData.Clear();

                specificDateEachTaskList?.ForEach(eachTask =>
                {
                    TaskDisplayInfo info = new TaskDisplayInfo
                    {
                        EachTaskId = eachTask.EachTaskId,
                        Content    = (eachTask.CompleteFlag ? "✔" : "").PadRight(3) + eachTask.Content
                    };
                    TaskListData.Add(info);
                });
            }
            catch
            {
                CommonViewModel.NotifySystemMessage(GetLangMessage.GetMessage("Exception"));
            }
        }
        async public void RegisterTaskData(object sender, RoutedEventArgs e)
        {
            try
            {
                string pattern = @"<.*?>";
                TaskData = Regex.Replace(TaskData, pattern, string.Empty);

                // Control Progress Dialog
                var progressDialog = new RegisterProgressDialog();
                var showingDialog  = progressDialog.ShowAsync();

                // Changes ValidFlag value of All tasks for this plan date to false
                // If there is a task data in TaskData, the ValidFlag value of the task will change to true after this below processing
                List <EachTask> specificDateClassificationData = GetSpecificDateEachTasks(PlanDate);
                foreach (EachTask classificationTask in specificDateClassificationData)
                {
                    EachTaskModel.ChangeValidFlag(classificationTask.EachTaskId, false);
                    List <EachTask> smallTaskList = GetSpecificTaskSmallTasks(classificationTask.EachTaskId);
                    foreach (EachTask smallTask in smallTaskList)
                    {
                        EachTaskModel.ChangeValidFlag(smallTask.EachTaskId, false);
                    }
                }

                if (!TaskData.StartsWith("#"))
                {
                    showingDialog.Cancel();
                    progressDialog.Hide();
                    CommonViewModel.NotifySystemMessage(GetLangMessage.GetMessage("Msg1001"));

                    return;
                }

                String TaskDataToRegister = "\r" + TaskData;

                TaskDataToRegister = TaskDataToRegister.Replace("\r\r", "\r");

                string[] largeTaskStrings   = TaskDataToRegister.Split("\r#");
                int      LargetTaskRank     = 1;
                bool     reviewRegisterFlag = false;

                foreach (string eachLargeTask in largeTaskStrings)
                {
                    if (string.IsNullOrWhiteSpace(eachLargeTask))
                    {
                        continue;
                    }

                    List <string> taskStrings = eachLargeTask.Split("\r-").ToList();
                    taskStrings = taskStrings.Select(str => str.Replace("\r", string.Empty)).ToList();

                    string classificationTask = taskStrings[0].TrimStart();

                    // If review task has been registerd already, change the flag to on to avoid registering twice
                    if (classificationTask == GetLangMessage.GetMessage("Msg2005"))
                    {
                        reviewRegisterFlag = true;
                    }


                    EachTask newClassificationTask = new EachTask()
                    {
                        PlanDate         = this.PlanDate,
                        Content          = classificationTask,
                        RegisteredDate   = DateTime.Now.ToLocalTime(),
                        ParentEachTaskId = string.Empty,
                        Rank             = LargetTaskRank,
                        ValidFlag        = true
                    };

                    // Checks if the task has been already registered by checking EachTaskId
                    string classificationId = EachTaskModel.GetEachTaskId(newClassificationTask);
                    if (string.IsNullOrWhiteSpace(classificationId))
                    {
                        classificationId = EachTaskModel.RegisterTask(newClassificationTask);
                    }
                    else
                    {
                        await EachTaskModel.UpdateTaskRankAsync(classificationId, LargetTaskRank);

                        EachTaskModel.ChangeValidFlag(classificationId, true);
                    }

                    int    smallTaskRank = 1;
                    string smallTaskId   = string.Empty;

                    foreach (string eachTaskString in taskStrings.GetRange(1, taskStrings.Count - 1))
                    {
                        EachTask newTask = new EachTask()
                        {
                            PlanDate         = this.PlanDate,
                            Content          = eachTaskString.Substring(1).TrimStart(),
                            RegisteredDate   = DateTimeOffset.Now.ToLocalTime(),
                            ParentEachTaskId = classificationId.ToString(),
                            Rank             = smallTaskRank,
                            ValidFlag        = true
                        };

                        smallTaskId = EachTaskModel.GetEachTaskId(newTask);
                        if (string.IsNullOrWhiteSpace(smallTaskId))
                        {
                            await EachTaskModel.RegisterTaskAsync(newTask);
                        }
                        else
                        {
                            await EachTaskModel.UpdateTaskRankAsync(smallTaskId, smallTaskRank);

                            EachTaskModel.ChangeValidFlag(smallTaskId, true);
                        }

                        smallTaskRank = smallTaskRank + 1;
                    }

                    LargetTaskRank = LargetTaskRank + 1;
                }

                // Add ReviewTask at last
                if (!reviewRegisterFlag)
                {
                    EachTask newClassificationTask = new EachTask()
                    {
                        PlanDate         = this.PlanDate,
                        Content          = GetLangMessage.GetMessage("Msg2005"),
                        RegisteredDate   = DateTime.Now.ToLocalTime(),
                        ParentEachTaskId = string.Empty,
                        Rank             = LargetTaskRank,
                        ValidFlag        = true
                    };

                    EachTaskModel.RegisterTask(newClassificationTask);
                }

                // Close Dialog Window
                showingDialog.Cancel();
                progressDialog.Hide();

                // Control Progress Dialog
                var completeDialog       = new RegisterCompleteDialog();
                var noticeCompleteDialog = completeDialog.ShowAsync();
                await Task.Delay(700);

                noticeCompleteDialog.Cancel();
                completeDialog.Hide();
            }
            catch
            {
                CommonViewModel.NotifySystemMessage(GetLangMessage.GetMessage("Exception"));
            }
        }
        async public void RegisterTaskData(object sender, RoutedEventArgs e)
        {
            // Changes ValidFlag value of All tasks for this plan date to false
            // If there is a task data in TaskData, the ValidFlag value of the task will change to true after this below processing
            List <EachTask> specificDateClassificationData = GetSpecificDateEachTasks(PlanDate);

            foreach (EachTask classificationTask in specificDateClassificationData)
            {
                EachTaskModel.ChangeValidFlag(classificationTask.EachTaskId, false);
                List <EachTask> smallTaskList = GetSpecificTaskSmallTasks(classificationTask.EachTaskId);
                foreach (EachTask smallTask in smallTaskList)
                {
                    EachTaskModel.ChangeValidFlag(smallTask.EachTaskId, false);
                }
            }


            String TaskDataToRegister = "\r" + TaskData;

            TaskDataToRegister = TaskDataToRegister.Replace("\r\r", "\r");

            string[] largeTaskStrings = TaskDataToRegister.Split("\r#");
            int      LargetTaskRank   = 1;

            foreach (string eachLargeTask in largeTaskStrings)
            {
                if (string.IsNullOrWhiteSpace(eachLargeTask))
                {
                    continue;
                }

                List <string> taskStrings = eachLargeTask.Split("\r-").ToList();

                string classificationTask = taskStrings[0].TrimStart();

                EachTask newClassificationTask = new EachTask()
                {
                    PlanDate         = this.PlanDate,
                    Content          = classificationTask,
                    RegisteredDate   = DateTime.Now.ToLocalTime(),
                    ParentEachTaskId = string.Empty,
                    Rank             = LargetTaskRank,
                    ValidFlag        = true
                };

                // Checks if the task has been already registered by checking EachTaskId
                string classificationId = EachTaskModel.GetEachTaskId(newClassificationTask);
                if (string.IsNullOrWhiteSpace(classificationId))
                {
                    classificationId = EachTaskModel.RegisterTask(newClassificationTask);
                }
                else
                {
                    await EachTaskModel.UpdateTaskRankAsync(classificationId, LargetTaskRank);

                    EachTaskModel.ChangeValidFlag(classificationId, true);
                }

                int    smallTaskRank = 1;
                string smallTaskId   = string.Empty;

                foreach (string eachTaskString in taskStrings.GetRange(1, taskStrings.Count - 1))
                {
                    EachTask newTask = new EachTask()
                    {
                        PlanDate         = this.PlanDate,
                        Content          = eachTaskString.Substring(1).TrimStart(),
                        RegisteredDate   = DateTimeOffset.Now.ToLocalTime(),
                        ParentEachTaskId = classificationId.ToString(),
                        Rank             = smallTaskRank,
                        ValidFlag        = true
                    };

                    smallTaskId = EachTaskModel.GetEachTaskId(newTask);
                    if (string.IsNullOrWhiteSpace(smallTaskId))
                    {
                        await EachTaskModel.RegisterTaskAsync(newTask);
                    }
                    else
                    {
                        await EachTaskModel.UpdateTaskRankAsync(smallTaskId, smallTaskRank);

                        EachTaskModel.ChangeValidFlag(smallTaskId, true);
                    }

                    smallTaskRank = smallTaskRank + 1;
                }

                LargetTaskRank = LargetTaskRank + 1;
            }
        }