예제 #1
0
        private void Button_TaskSetting_Update_Click(object sender, EventArgs e)
        {
            DialogResult dr_YESNO = MessageBox.Show("検索条件を保存しますか?",
                                                    "条件保存",
                                                    MessageBoxButtons.YesNo,
                                                    MessageBoxIcon.Information);

            if (dr_YESNO == DialogResult.No)
            {
                return;
            }

            TaskFlgData     taskFlgData   = new TaskFlgData();
            Flg_Task_Select flgTaskSelect = new Flg_Task_Select()
            {
                USER_NO = TextBox_UserNo.Text,
                // ステータス「未」チェックボックスがTRUEの場合、TASK_STATUS_CODEは「未」(01)の固定値を採用
                TASK_STATUS_CODE = CheckBox_Uncompleted_SelectTaskList.Checked
                    ? Constants.TaskStatus.UNCOMPLETED_01 : TextBox_StatusCode_Select.Text,
                // 種別「個人」チェックボックスがTRUEの場合、TASK_KIND_CODEは「個人」(01)の固定値を採用
                TASK_KIND_CODE = CheckBox_Personal_SelectTaskList.Checked
                    ? Constants.TaskKind.PERSONAL_01      : TextBox_KindCode_Select.Text,
                TASK_GROUP_CODE = TextBox_GroupCode_Select.Text,
            };

            taskFlgData.Update_FlgSelect(flgTaskSelect);

            DialogResult dr_OK = MessageBox.Show("検索条件を保存しました。",
                                                 "保存",
                                                 MessageBoxButtons.OK,
                                                 MessageBoxIcon.Information);
        }
예제 #2
0
        private void TaskListSelectForListView()
        {
            // リストビューの初期化
            ListView_Task.Items.Clear();

            // タスク検索条件を画面から取得
            // TODO:下記記述内容の見直し
            Flg_Task_Select flgTaskSelect = new Flg_Task_Select()
            {
                USER_NO  = TextBox_UserNo.Text,
                DAY_FROM = TextBox_Day_From_SelectTaskList.Text == ""
                    ? new DateTime(0) : DateTime.Parse(TextBox_Day_From_SelectTaskList.Text),
                DAY_TO = TextBox_Day_To_SelectTaskList.Text == ""
                    ? new DateTime(0) : DateTime.Parse(TextBox_Day_To_SelectTaskList.Text),
                // ステータス「未」チェックボックスがTRUEの場合、TASK_STATUS_CODEは「未」(01)の固定値を採用
                TASK_STATUS_CODE = CheckBox_Uncompleted_SelectTaskList.Checked
                    ? Constants.TaskStatus.UNCOMPLETED_01 : TextBox_StatusCode_Select.Text,
                // 種別「個人」チェックボックスがTRUEの場合、TASK_KIND_CODEは「個人」(01)の固定値を採用
                TASK_KIND_CODE = CheckBox_Personal_SelectTaskList.Checked
                    ? Constants.TaskKind.PERSONAL_01      : TextBox_KindCode_Select.Text,
                TASK_GROUP_CODE = TextBox_GroupCode_Select.Text
            };

            // タスク一覧の取得(SELECT)
            TaskData    taskData = new TaskData();
            List <Task> taskList = taskData.LoadForm_TaskList_Select(flgTaskSelect);

            // タスク一覧をリストビューに表示。
            TaskListShowListview(taskList);
        }
예제 #3
0
        public List <Task> LoadForm_TaskList_Select(Flg_Task_Select flgTaskSelect)
        {
            // タスクインスタンス生成
            List <Task> taskList            = null;
            Task        selectedTaskForList = null;
            Code        taskStatusCode      = null;
            Code        taskKindCode        = null;
            Code        taskGroupCode       = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();
            DataTable  dt      = new DataTable();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    T_TL.TASK_NO ");
                query.AppendLine("  , T_TL.USER_NO ");
                query.AppendLine("  , T_TL.CREATE_YMD ");
                query.AppendLine("  , T_TL.UPDATE_YMD ");
                query.AppendLine("  , T_TL.TODO_YMD ");
                query.AppendLine("  , T_TL.FINISHED_YMD ");
                query.AppendLine("  , T_TL.TASK_STATUS_CODE ");
                query.AppendLine("  , M_TSC.TASK_STATUS_NAME ");
                query.AppendLine("  , T_TL.TASK_KIND_CODE ");
                query.AppendLine("  , M_UTKC.TASK_KIND_NAME ");
                query.AppendLine("  , T_TL.TASK_GROUP_CODE ");
                query.AppendLine("  , M_UTGC.TASK_GROUP_NAME ");
                query.AppendLine("  , T_TL.TASK_NAME ");
                query.AppendLine("  , T_TL.PLAN_TIME ");
                query.AppendLine("  , T_TL.RESULT_TIME ");
                query.AppendLine("  , T_TL.MEMO ");
                // タスクリストテーブル
                query.AppendLine("FROM TRN_TASK_LIST T_TL ");
                // タスクステータスコードマスタ
                query.AppendLine("INNER JOIN MST_TASK_STATUS_CODE       M_TSC ");
                query.AppendLine("  ON T_TL.TASK_STATUS_CODE        =   M_TSC.TASK_STATUS_CODE ");
                // タスク種別コードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_KIND_CODE    M_UTKC ");
                query.AppendLine("  ON  T_TL.USER_NO                =   M_UTKC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_KIND_CODE         =   M_UTKC.TASK_KIND_CODE ");
                // タスクグループコードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_GROUP_CODE   M_UTGC ");
                query.AppendLine("  ON  T_TL.USER_NO                =   M_UTGC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_GROUP_CODE        =   M_UTGC.TASK_GROUP_CODE ");

                #region 検索条件

                // ユーザーNo
                query.AppendLine("WHERE T_TL.USER_NO                =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", flgTaskSelect.USER_NO));

                // 検索日付条件
                if (flgTaskSelect.DAY_FROM != new DateTime(0))
                {
                    query.AppendLine("AND T_TL.TODO_YMD             >=  @DAY_FROM ");
                    command.Parameters.Add(new SqlParameter("@DAY_FROM", flgTaskSelect.DAY_FROM));
                }
                if (flgTaskSelect.DAY_TO != new DateTime(0))
                {
                    query.AppendLine("AND T_TL.TODO_YMD             <=  @DAY_TO ");
                    command.Parameters.Add(new SqlParameter("@DAY_TO", flgTaskSelect.DAY_TO));
                }
                // タスクステータスコード条件
                if (flgTaskSelect.TASK_STATUS_CODE != Constants.TaskStatus.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_STATUS_CODE     =   @TASK_STATUS_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", flgTaskSelect.TASK_STATUS_CODE));
                }
                // タスク種別コード条件
                if (flgTaskSelect.TASK_KIND_CODE != Constants.TaskKind.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_KIND_CODE       =   @TASK_KIND_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", flgTaskSelect.TASK_KIND_CODE));
                }
                // タスクグループコード条件
                if (flgTaskSelect.TASK_GROUP_CODE != Constants.TaskGroup.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_GROUP_CODE      =   @TASK_GROUP_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", flgTaskSelect.TASK_GROUP_CODE));
                }
                #endregion

                query.AppendLine("ORDER BY TODO_YMD, TASK_STATUS_CODE ");

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                // タスクインスタンスの生成
                taskList = new List <Task>();

                // 結果を表示します。
                while (reader.Read())
                {
                    taskStatusCode = new Code((string)reader.GetValue(6), (string)reader.GetValue(7));
                    taskKindCode   = new Code((string)reader.GetValue(8), (string)reader.GetValue(9));
                    taskGroupCode  = new Code((string)reader.GetValue(10), (string)reader.GetValue(11));

                    selectedTaskForList = new Task(
                        taskNo: (string)reader.GetValue(0),
                        userNo: (string)reader.GetValue(1),
                        taskStatusCode: taskStatusCode,
                        taskKindCode: taskKindCode,
                        taskGroupCode: taskGroupCode,
                        taskName: (string)reader.GetValue(12),
                        planTime: (TimeSpan)reader.GetValue(13),
                        resultTime: (TimeSpan)reader.GetValue(14),
                        memo: (string)reader.GetValue(15),
                        createYmd: (DateTime)reader.GetValue(2),
                        updateYmd: (DateTime)reader.GetValue(3),
                        todoYmd: (DateTime)reader.GetValue(4),
                        finishedYmd: (DateTime)reader.GetValue(5)
                        );

                    taskList.Add(selectedTaskForList);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskList);
        }
예제 #4
0
        public override Flg Select_FlgSelect(string login_User_No)
        {
            // タスクインスタンス生成
            Flg taskFlg_Return = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    USER_NO ");
                query.AppendLine("  , TASK_STATUS_CODE ");
                query.AppendLine("  , TASK_KIND_CODE ");
                query.AppendLine("  , TASK_GROUP_CODE ");
                // ユーザータスク検索初期設定マスタ
                query.AppendLine("FROM MST_USER_TASK_SETTING_SELECT ");
                // 検索条件
                query.AppendLine("WHERE USER_NO                     =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", login_User_No));

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                if (reader.Read() == true)
                {
                    // 値のセット
                    taskFlg_Return = new Flg_Task_Select
                    {
                        USER_NO          = (string)reader.GetValue(0),
                        TASK_STATUS_CODE = (string)reader.GetValue(1),
                        TASK_KIND_CODE   = (string)reader.GetValue(2),
                        TASK_GROUP_CODE  = (string)reader.GetValue(3),
                    };
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskFlg_Return);
        }