Exemple #1
0
        static async public Task <ConcurrentBag <CalendarEvent> > getAllCalEvents(IEnumerable <GoogleTilerEventControl> AllGoogleCalControl, TimeLine CalculationTimeLine, bool retrieveLocationFromGoogle = false)
        {
            ConcurrentBag <List <CalendarEvent> >         RetValueListContainer = new System.Collections.Concurrent.ConcurrentBag <List <CalendarEvent> >();
            ConcurrentBag <Task <List <CalendarEvent> > > ConcurrentTask        = new System.Collections.Concurrent.ConcurrentBag <System.Threading.Tasks.Task <List <TilerElements.CalendarEvent> > >();
            ConcurrentBag <CalendarEvent> RetValue = new System.Collections.Concurrent.ConcurrentBag <CalendarEvent>();

            //AllGoogleCalControl.AsParallel().ForAll(obj=>

            foreach (GoogleTilerEventControl obj in AllGoogleCalControl)
            {
                ConcurrentTask.Add(obj.getCalendarEventsForIndex(CalculationTimeLine, false));
            }
            //);

            /*
             * Parallel.ForEach(ConcurrentTask, async EachTask =>
             *  {
             *      List<CalendarEvent> ALlCalEvents = await EachTask.ConfigureAwait(false);
             *      ALlCalEvents.ForEach(obj1 => RetValue.Add(obj1));
             *  }
             *  );
             */


            foreach (Task <List <CalendarEvent> > EachTask in ConcurrentTask)
            {
                List <CalendarEvent> ALlCalEvents = await EachTask.ConfigureAwait(false);

                ALlCalEvents.ForEach(obj1 => RetValue.Add(obj1));
            }

            return(RetValue);
        }
        public IActionResult AddSubTask(EachTask newTask)
        {
            newTask.UserId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (ModelState.IsValid) //changes parent class ID field to true
            {
                EachTask newParentTask = _context.Task.Find(newTask.ParentTaskId);
                newParentTask.Parent = true;

                _context.Entry(newParentTask).State = Microsoft.EntityFrameworkCore.EntityState.Modified;  //remember to copy paste this honkin thing
                _context.Update(newParentTask);
                _context.SaveChanges();
            }

            if (ModelState.IsValid)  //adds child class
            {
                _context.Task.Add(newTask);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View());
            }
        }
Exemple #3
0
        public static void Register(string eachTaskId, string memoContent)
        {
            using (var db = new MemoAppContext())
            {
                EachTask targetTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();

                if (targetTask == null)
                {
                    return;
                }

                Memo sameMemo = db.Memos.Where(memo => memo.EachTask.EachTaskId == eachTaskId).FirstOrDefault();

                if (sameMemo == null)
                {
                    Memo newMemo = new Memo
                    {
                        CreateTime = DateTimeOffset.Now.ToLocalTime(),
                        Content    = memoContent,
                        EachTask   = targetTask
                    };

                    db.Memos.Add(newMemo);
                }
                else
                {
                    sameMemo.Content    = memoContent;
                    sameMemo.UpdateTime = DateTimeOffset.Now.ToLocalTime();
                }

                db.SaveChanges();
            }
        }
Exemple #4
0
        public static TaskStatus CheckTaskStatus(string eachTaskId)
        {
            using (var db = new MemoAppContext())
            {
                EachTask thisTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                if (thisTask.CompleteFlag == true)
                {
                    return(TaskStatus.AlreadyFinished);
                }
                else if (thisTask.StartedFlag == false)
                {
                    return(TaskStatus.NotYetStarted);
                }
                else
                {
                    TimeInfo stopTimeInfo = db.TimeInfos.Where(timeInfo => timeInfo.EachTask.EachTaskId == eachTaskId && timeInfo.Stop == DateTimeOffset.MinValue).FirstOrDefault();

                    if (stopTimeInfo == null)
                    {
                        return(TaskStatus.AlreadyPaused);
                    }
                    else
                    {
                        return(TaskStatus.NoProblem);
                    }
                }
            }
        }
Exemple #5
0
        private static List <EachTask> AddAllTask(List <EachTask> baseList)
        {
            try
            {
                if (baseList.Count >= 1)
                {
                    if (!baseList.Any(eachTask => eachTask.Content == GetLangMessage.GetMessage("Msg3004")))
                    {
                        EachTask all = new EachTask()
                        {
                            EachTaskId = null,
                            Content    = GetLangMessage.GetMessage("Msg3004")
                        };

                        baseList.Insert(0, all);
                    }
                }

                return(baseList);
            }
            catch
            {
                return(new List <EachTask>());
            }
        }
Exemple #6
0
 async public static Task <int> RegisterTaskAsync(EachTask newTask)
 {
     using (var db = new MemoAppContext())
     {
         db.EachTasks.Add(newTask);
         return(await db.SaveChangesAsync());
     }
 }
Exemple #7
0
 public static string RegisterTask(EachTask newTask)
 {
     using (var db = new MemoAppContext())
     {
         db.EachTasks.Add(newTask);
         db.SaveChanges();
         return(GetEachTaskId(newTask));
     }
 }
Exemple #8
0
 public static void ChangeValidFlag(string targetTaskId, bool flagValue)
 {
     using (var db = new MemoAppContext())
     {
         EachTask targetTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == targetTaskId).FirstOrDefault();
         targetTask.ValidFlag = flagValue;
         db.SaveChanges();
     }
 }
Exemple #9
0
 async public static Task UpdateTaskRankAsync(string newTaskId, int rank)
 {
     using (var db = new MemoAppContext())
     {
         EachTask targetTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == newTaskId).FirstOrDefault();
         targetTask.Rank = rank;
         await db.SaveChangesAsync();
     }
 }
Exemple #10
0
 async public static Task ChangeComplateFlag(string targetTaskId, bool flagValue)
 {
     using (var db = new MemoAppContext())
     {
         EachTask targetTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == targetTaskId).FirstOrDefault();
         targetTask.CompleteFlag = flagValue;
         await db.SaveChangesAsync();
     }
 }
Exemple #11
0
        public static EachTask GetEachTask(string targetTaskId)
        {
            EachTask targetTask = new EachTask();

            using (var db = new MemoAppContext())
            {
                targetTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == targetTaskId).FirstOrDefault();
            }
            return(targetTask);
        }
Exemple #12
0
        public static string GetEachTaskId(EachTask targetTask)
        {
            using (var db = new MemoAppContext())
            {
                EachTask existEachTask = db.EachTasks.Where(eachTask =>
                                                            eachTask.Content == targetTask.Content &&
                                                            eachTask.PlanDate.Date == targetTask.PlanDate.Date &&
                                                            eachTask.ParentEachTaskId == targetTask.ParentEachTaskId)
                                         .FirstOrDefault();

                return(existEachTask?.EachTaskId ?? string.Empty);
            }
        }
Exemple #13
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日の作業開始前");
            }
        }
        public IActionResult AddTask(EachTask newTask)
        {
            newTask.UserId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (ModelState.IsValid)
            {
                _context.Task.Add(newTask);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View());
            }
        }
        public IActionResult EditTask(EachTask editedTask)
        {
            EachTask originalTask = _context.Task.Find(editedTask.Id);

            if (ModelState.IsValid)
            {
                originalTask.Title       = editedTask.Title;
                originalTask.Description = editedTask.Description;
                originalTask.DueDate     = editedTask.DueDate;

                _context.Entry(originalTask).State = Microsoft.EntityFrameworkCore.EntityState.Modified;  //remember to copy paste this honkin thing
                _context.Update(originalTask);
                _context.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Exemple #16
0
        private static List <EachTask> AddAllTask(List <EachTask> baseList)
        {
            if (baseList.Count > 1)
            {
                if (!baseList.Any(eachTask => eachTask.Content == "全て"))
                {
                    EachTask all = new EachTask()
                    {
                        EachTaskId = null,
                        Content    = "全て"
                    };

                    baseList.Insert(0, all);
                }
            }

            return(baseList);
        }
Exemple #17
0
        public static string RegisterStart(string eachTaskId)
        {
            string msg = null;

            using (var db = new MemoAppContext())
            {
                var selectedTask = db.EachTasks.FirstOrDefault(eachTask => eachTask.EachTaskId == eachTaskId);

                List <TimeInfo> notStoppedInfo  = db.TimeInfos.Where(timeInfo => timeInfo.Stop == DateTimeOffset.MinValue).Include(timeInfo => timeInfo.EachTask).ToList();
                TimeInfo        doubleStartTask = notStoppedInfo.Where(timeInfo => timeInfo.EachTask.EachTaskId == eachTaskId).FirstOrDefault();

                if (doubleStartTask != null)
                {
                    msg = GetLangMessage.GetMessage("Msg1015");
                }
                else
                {
                    if (selectedTask.CompleteFlag == true)
                    {
                        EachTask completeTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                        completeTask.CompleteFlag = false;

                        msg = GetLangMessage.GetMessage("Msg1016");
                    }
                    else
                    {
                        TimeInfo startTimeInfo = new TimeInfo()
                        {
                            Start    = DateTimeOffset.Now.ToLocalTime(),
                            EachTask = db.EachTasks.FirstOrDefault(eachTask => eachTask.EachTaskId == eachTaskId)
                        };
                        db.TimeInfos.Add(startTimeInfo);

                        selectedTask.StartedFlag = true;
                    }

                    notStoppedInfo.ForEach(timeInfo => timeInfo.Stop = DateTimeOffset.Now.ToLocalTime());

                    db.SaveChanges();
                }
            }

            return(msg);
        }
Exemple #18
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"));
            }
        }
Exemple #19
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"));
            }
        }
Exemple #20
0
        public static string RegisterStop(string eachTaskId)
        {
            string msg = null;

            switch (CheckTaskStatus(eachTaskId))
            {
            case TaskStatus.AlreadyPaused:
                msg = "一時停止のまま、タスク完了となりました。";
                using (var db = new MemoAppContext())
                {
                    EachTask thisTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                    thisTask.CompleteFlag = true;

                    db.SaveChanges();
                }
                break;

            case TaskStatus.AlreadyFinished:
                msg = "すでに完了済みのタスクです。";
                break;

            case TaskStatus.NoProblem:
                using (var db = new MemoAppContext())
                {
                    EachTask thisTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                    thisTask.CompleteFlag = true;
                    TimeInfo stopTimeInfo = db.TimeInfos.Where(timeInfo => timeInfo.EachTask.EachTaskId == eachTaskId && timeInfo.Stop == DateTimeOffset.MinValue).FirstOrDefault();
                    stopTimeInfo.Stop = DateTimeOffset.Now.ToLocalTime();

                    db.SaveChanges();
                }
                break;

            case TaskStatus.NotYetStarted:
                msg = "このタスクはまだ開始されていません。";
                break;
            }

            return(msg);
        }
Exemple #21
0
        public static string RegisterStop(string eachTaskId)
        {
            string msg = null;

            switch (CheckTaskStatus(eachTaskId))
            {
            case TaskStatus.AlreadyPaused:
                msg = GetLangMessage.GetMessage("Msg1020");
                using (var db = new MemoAppContext())
                {
                    EachTask thisTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                    thisTask.CompleteFlag = true;

                    db.SaveChanges();
                }
                break;

            case TaskStatus.AlreadyFinished:
                msg = GetLangMessage.GetMessage("Msg1018");
                break;

            case TaskStatus.NoProblem:
                using (var db = new MemoAppContext())
                {
                    EachTask thisTask = db.EachTasks.Where(eachTask => eachTask.EachTaskId == eachTaskId).FirstOrDefault();
                    thisTask.CompleteFlag = true;
                    TimeInfo stopTimeInfo = db.TimeInfos.Where(timeInfo => timeInfo.EachTask.EachTaskId == eachTaskId && timeInfo.Stop == DateTimeOffset.MinValue).FirstOrDefault();
                    stopTimeInfo.Stop = DateTimeOffset.Now.ToLocalTime();

                    db.SaveChanges();
                }
                break;

            case TaskStatus.NotYetStarted:
                msg = GetLangMessage.GetMessage("Msg1019");
                break;
            }

            return(msg);
        }
        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;
            }
        }
        public IActionResult AddSubTask(int id)
        {
            EachTask parentTask = _context.Task.Find(id);

            return(View(parentTask));
        }
        public IActionResult EditTask(int id)
        {
            EachTask taskToEdit = _context.Task.Find(id);

            return(View(taskToEdit));
        }
Exemple #26
0
        public static bool IsSpecificDateTask(string eachTaskId, DateTimeOffset specificDateTime)
        {
            EachTask targetTask = GetEachTask(eachTaskId);

            return(targetTask?.PlanDate.Date == specificDateTime.Date ? true : false);
        }