Esempio n. 1
0
        /// <summary>
        /// 全タスク一覧の更新時イベント
        /// </summary>
        /// <param name="sender">イベント送信オブジェクト</param>
        /// <param name="e">イベント引数</param>
        private void DgvAllTasksOnUpdateEvent(object sender, TaskIchiranEventArgs e)
        {
            if (this.isUpdatingTaskIchiran)
            {
                return;
            }

            this.isUpdatingTaskIchiran = true;

            var taskList = ResourceManager.Instance.GetAllTaskItems();

            var filtered = Utils.FilterRecentLimitTask(taskList);

            this.DgvRecentTasks.RefleshTaskItems(filtered, null);

            this.TxtFilter_OnTextChanged(null, null);

            this.RefleshTaskGroupIchiran();

            this.isUpdatingTaskIchiran = false;
        }
Esempio n. 2
0
        /// <summary>
        /// 直近のタスク一覧更新時イベント
        /// </summary>
        /// <param name="sender">イベント送信オブジェクト</param>
        /// <param name="e">イベント引数</param>
        private void DgvRecentTasksOnUpdateEvent(object sender, TaskIchiranEventArgs e)
        {
            if (this.isUpdatingTaskIchiran)
            {
                return;
            }

            this.isUpdatingTaskIchiran = true;

            if (this.DgvAllTasks.ShowingGroup != null)
            {
                this.DgvAllTasks.RefleshTaskItems(this.DgvAllTasks.ShowingGroup.ChildTaskItems.ToList(), this.DgvAllTasks.ShowingGroup);
            }
            else
            {
                this.ShowAllTaskListInDgvAllTasks();
            }

            this.TxtFilter_OnTextChanged(null, null);

            this.RefleshTaskGroupIchiran();

            this.isUpdatingTaskIchiran = false;
        }
Esempio n. 3
0
        /// <summary>
        /// セル上のボタン押下時イベント
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">e</param>
        private async void OnCellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var rowIndex    = e.RowIndex;
            var columnIndex = e.ColumnIndex;

            DataGridColumnInfo info;

            if (this.columnInfoMap.TryGetValue(columnIndex, out info))
            {
                if (info != null)
                {
                    if (rowIndex < 0 || rowIndex >= this.RowCount)
                    {
                        return;
                    }

                    if (columnIndex < 0 || columnIndex >= this.ColumnCount)
                    {
                        return;
                    }

                    var cell = this.Rows[rowIndex].Cells[columnIndex];
                    if (cell.Value == null)
                    {
                        return;
                    }

                    var isButton = info.ColumnType == DataGridColumnType.Button;
                    if (!isButton)
                    {
                        return;
                    }

                    var row = this.Rows[rowIndex];

                    var contentName = cell.Value.ToString();
                    var isAdd       = contentName == "追加";
                    var isEdit      = contentName == "編集";
                    var isDelete    = contentName == "削除";
                    var isCopy      = contentName == "複製";
                    var isComplete  = contentName == "完了";
                    var isTorikeshi = contentName == "取消";

                    var curItem = this.GetTaskItemInRow(row);

                    var ret = false;

                    // 完了済みタスクかどうか
                    var isCompleted = curItem != null ? curItem.IsComeplate : false;
                    if (isCompleted)
                    {
                        // 完了済みの場合は取り消し,削除のみ許可
                        if (isTorikeshi)
                        {
                            var item = this.GetTaskItemInRow(row);
                            if (item != null)
                            {
                                item.IsComeplate = false;
                                ret = true;
                            }
                        }
                        else if (isDelete)
                        {
                            ret = this.ExecuteDelete(row);
                        }
                    }
                    else
                    {
                        // 未完了のタスク
                        if (isAdd)
                        {
                            // 追加
                            ret = await this.ExecuteAdd();
                        }
                        else if (isEdit)
                        {
                            // 編集
                            if (curItem != null)
                            {
                                ret = await this.ExecuteEdit(curItem);
                            }
                        }
                        else if (isDelete)
                        {
                            // 削除
                            ret = this.ExecuteDelete(row);
                        }
                        else if (isCopy)
                        {
                            // 複製
                            if (curItem != null)
                            {
                                ret = this.ExecuteCopy(curItem);
                            }
                        }
                        else if (isComplete)
                        {
                            // 完了
                            if (curItem != null)
                            {
                                curItem.IsComeplate = true;
                                ret = true;
                            }
                        }
                    }

                    this.UpdateCellStatus();

                    if (ret)
                    {
                        if (this.UpdateEvent != null)
                        {
                            var args = new TaskIchiranEventArgs();
                            args.GroupItem = this.ShowingGroup;
                            args.TaskItem  = new List <TaskItem>();

                            this.UpdateEvent(this, args);
                        }
                    }
                }
            }
        }