Esempio n. 1
0
        /// <summary>
        /// データベース更新実行処理
        /// ※Insert Update Delete
        /// </summary>
        /// <param material_name="strSql"></param>
        public int ExeDatabaseUpdate(string strSql)
        {
            var table   = new DataTable();
            var command = new SqlCommand();

            try
            {
                // 実行するSQLの準備
                command.Connection     = M_Connection;
                command.CommandTimeout = 0;
                command.CommandText    = @strSql;

                // SQLの実行
                command.ExecuteNonQuery();

                return(SystemInfo.RtnStatus.OK);
            }
            catch (SqlException exSql)
            {
                ErrCode = exSql.Number.ToString();
                Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "DB更新処理に失敗", exSql.Message + "[ErrCode:" + exSql.Number + "]" + "[" + strSql + "]");
                return(SystemInfo.RtnStatus.NG);
            }
            catch (Exception ex)
            {
                Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "DB更新処理で例外が発生", ex.Message + "[" + strSql + "]");
                return(SystemInfo.RtnStatus.ER);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Select文実行関数
        /// </summary>
        /// <param material_name="strSql"></param>
        public DataTable ExeSQL_Select(string strSql)
        {
            var table   = new DataTable();
            var command = new SqlCommand();

            try
            {
                // 実行するSQLの準備
                command.Connection     = M_Connection;
                command.CommandTimeout = 0;
                command.CommandText    = @strSql;

                // SQLの実行
                var adapter = new SqlDataAdapter(command);
                adapter.Fill(table);
            }
            catch (SqlException exSql)
            {
                ErrCode = exSql.Number.ToString();
                Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "Select文実行処理に失敗", exSql.Message + "[ErrCode:" + exSql.Number + "]" + "[" + strSql + "]");
            }
            catch (Exception ex)
            {
                Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "Select文実行処理で例外が発生", ex.Message + "[" + strSql + "]");
            }

            return(table);
        }
Esempio n. 3
0
        /// <summary>
        /// 初期処理
        /// </summary>
        public View001()
        {
            InitializeComponent();

            // ソリューション共通初期処理
            Com01.SystemInit();

            // 企業メニューからトップメニューを取得する
            ProcMenuSetting(0);
        }
Esempio n. 4
0
        public Form01()
        {
            InitializeComponent();

            // ソリューション共通初期処理
            Com01.SystemInit();

            // プロジェクト毎の初期処理
            Set_ProjectInit(clsBindData);

            //// 画面初期化処理
            this.DataContext = clsBindData;
        }
Esempio n. 5
0
        /// <summary>
        /// メニューボタンクリックイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Menu_Click(object sender, RoutedEventArgs e)
        {
            string  strMsg      = "";
            string  strErrMsg   = "";
            Button  ClickButton = (Button)sender;
            btnMenu ClickMenuInfo;

            try
            {
                // ボタンの名前に連番を降っており、それがLstBtnMenuの配列番号とリンクしている
                int IntMenuSeq = int.Parse(ClickButton.Name.Split('_')[1]);
                ClickMenuInfo = clsBindData.Menu[IntMenuSeq];

                if (ClickMenuInfo.program_id != "")
                {
                    // 実行ファイルを実行
                    bool BooMenuExe = Com01.CallMenuExe(ClickMenuInfo.program_id, Com01.clsSystemInfo.ComLineArgs);
                    if (BooMenuExe == false)
                    {
                        strMsg = ClickMenuInfo.text + "の起動処理に失敗しました。";
                        return;
                    }
                }
                else
                {
                    // 直下のメニュー取得・設定
                    ProcMenuSetting(ClickMenuInfo.id);
                }
            }
            catch (Exception ex)
            {
                strMsg    = "例外が発生しました。";
                strErrMsg = ex.Message;
            }
            finally
            {
                clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg);
                this.DataContext       = clsBindData;

                // カーソルを待機カーソルに変更
                Mouse.OverrideCursor = Cursors.Arrow;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 初期処理
        /// </summary>
        public View01()
        {
            InitializeComponent();

            // ソリューション共通初期処理
            Com01.SystemInit();

            // 初期処理
            clsBindData = new BindingData();

            // データベースへ接続
            SqlServer clsSqlServer = new SqlServer(Com01.clsSystemInfo.LoginDatabase);

            clsSqlServer.Connect();

            // 新着情報取得処理
            Set_DatSystemNews(clsSqlServer, clsBindData);

            // 画面表項目初期値設定
            this.DataContext = clsBindData;
        }
Esempio n. 7
0
    /// <summary>
    /// システム設定情報
    /// </summary>
    /// <param material_name="strSection"></param>
    /// <param material_name="strKey"></param>
    /// <returns></returns>
    private string GetIniInfo(string strSection, string strKey)
    {
        string strKankyoIniFile = strKankyoPath + "\\KANKYO\\Kankyo.ini";

        try
        {
            if (System.IO.File.Exists(strKankyoIniFile) == false)
            {
                // ファイルが存在しない場合は例外
                throw new Exception("環境ファイルが存在しません。[" + strKankyoIniFile + "]");
            }

            StringBuilder sb = new StringBuilder(256);
            GetPrivateProfileString(strSection, strKey, string.Empty, sb, sb.Capacity, strKankyoIniFile);
            return(sb.ToString());
        }
        catch (Exception ex)
        {
            // ログに記載
            Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "環境設定取得処理に失敗しました。", ex.Message);
            return("");
        }
    }
Esempio n. 8
0
    /// <summary>
    /// コマンドライン引数の値を構造体へセット
    /// </summary>
    private void GetCommandLineArgs()
    {
        // 引数取得
        string[] strAryCommandLineArgs = Environment.GetCommandLineArgs();

        if (strAryCommandLineArgs.Length == 1)
        {
            // コマンドライン引数なし時の処理
            Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "コマンドライン引数なし", "");
            return;
        }

        // 引数を構造体へ
        for (int intCount = 1; intCount <= strAryCommandLineArgs.Length - 1; intCount++)
        {
            // Key==Valueとなるように指定している前提
            string[] words = strAryCommandLineArgs[intCount].Split("==");
            if (words.Length != 2)
            {
                // 想定通りの形ではない場合は飛ばす
                continue;
            }

            switch (words[0])
            {
            case CommandLineArgs_Key.kigyo_code:

                ComLineArgs.kigyo_code = words[1];
                break;

            case CommandLineArgs_Key.user_id:

                ComLineArgs.user_id = words[1];
                break;
            }
        }
    }
Esempio n. 9
0
        /// <summary>
        /// 接続開始
        /// </summary>
        public void Connect()
        {
            string strConnectonString = "";

            try
            {
                // 接続文字列を作成
                strConnectonString = "Server = " + M_SqlConnectInfo.ServerName + ";"
                                     + "Database=" + M_SqlConnectInfo.DatabaseName + ";"
                                     + "User ID = " + M_SqlConnectInfo.User + ";"
                                     + "Password = "******";"
                                     + "MultipleActiveResultSets=True;";

                // データベース接続の準備
                M_Connection = new SqlConnection(strConnectonString);

                // データベースの接続開始
                M_Connection.Open();
            }
            catch (Exception ex)
            {
                Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "SQL Server接続処理に失敗[" + strConnectonString + "]", ex.Message);
            }
        }
Esempio n. 10
0
        /// <summary>
        /// ログインボタンクリック
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Login_Click(object sender, RoutedEventArgs e)
        {
            string strMsg    = "";
            string strErrMsg = "";
            Dictionary <string, SQL_Server.struct_vew001> Dic_vew001 = new Dictionary <string, SQL_Server.struct_vew001>();

            try
            {
                #region 初期処理
                // カーソルを待機カーソルに変更
                Mouse.OverrideCursor = Cursors.Wait;

                SqlServer clsSqlServer = new SqlServer(Com01.clsSystemInfo.LoginDatabase);
                clsSqlServer.Connect();

                #endregion

                #region ユーザ情報の取得とエラーチェック
                Dic_vew001 = Com02.Select_vew001(clsSqlServer, clsBindData.KigyoCode, clsBindData.UserID, clsBindData.PassWord);
                if (Dic_vew001.Count == 0)
                {
                    // 取得件数が0件
                    strMsg = "ログインすることが出来ませんでした。入力内容を確認してください。";
                    return;
                }
                else if (Dic_vew001[clsBindData.KigyoCode].status != 0)
                {
                    // 取得件数出来たがステータスが正常以外の場合
                    strMsg = "ログインすることが出来ませんでした。入力内容を確認し、間違いがなければ管理者へ御連絡ください。";
                    return;
                }
                #endregion

                #region メニュー画面起動
                string strMenuExe = "MK0102";

                // 引数を作成
                SystemInfo.struct_CommandLineArgs SetComArgs = new SystemInfo.struct_CommandLineArgs();
                SetComArgs.kigyo_code = clsBindData.KigyoCode;
                SetComArgs.user_id    = clsBindData.UserID;

                // 実行
                if (Com01.CallMenuExe(strMenuExe, SetComArgs) == false)
                {
                    strMsg = "メニュー画面起動処理に失敗しました。";
                    return;
                }
                else
                {
                    // 終了処理を実行
                    object          obj = new object();
                    RoutedEventArgs rea = new RoutedEventArgs();
                    End_Click(obj, rea);
                }
                #endregion
            }
            catch (Exception ex)
            {
                strMsg    = "例外が発生しました。";
                strErrMsg = ex.Message;
            }
            finally
            {
                clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg);
                this.DataContext       = clsBindData;

                // カーソルを待機カーソルに変更
                Mouse.OverrideCursor = Cursors.Arrow;
            }
        }
Esempio n. 11
0
        /// <summary>
        /// マスタ登録データ設定処理
        /// </summary>
        /// <param name="clsSqlServer"></param>
        /// <param name="bindingData"></param>
        /// <returns></returns>
        private Com02.struct_m_kaisya Set_EntryData(SqlServer clsSqlServer, BindingData bindingData)
        {
            // キーを条件に最新データを取得
            Com02.struct_m_kaisya m_kaisya = new Com02.struct_m_kaisya();
            m_kaisya.kigyo_code  = Com01.clsSystemInfo.ComLineArgs.kigyo_code;
            m_kaisya.kaisya_code = bindingData.KaisyaCode.text;
            m_kaisya.invalid_flg = 1; // 削除も含めて検索
            DataTable dTable = Com02.Get_m_kaisya(clsSqlServer, m_kaisya, 1);

            // システム日時を取得
            Com01.Set_DateTime(clsSqlServer);

            // 更新日時をセット
            m_kaisya.koshin_datetime = Com01.clsSystemInfo.dtNow.ToString();
            m_kaisya.koshin_user_id  = Com01.clsSystemInfo.ComLineArgs.user_id;
            m_kaisya.koshin_program  = Com01.clsSystemInfo.strExeName;

            // 検索結果
            if (dTable == null || dTable.Rows.Count == 0)
            {
                // 新規登録日時
                m_kaisya.toroku_datetime = m_kaisya.koshin_datetime;
                m_kaisya.toroku_user_id  = m_kaisya.koshin_user_id;
                m_kaisya.toroku_program  = m_kaisya.koshin_program;

                // 空の場合は規定値を
                m_kaisya.invalid_flg = 0;
            }
            else
            {
                DataRow dRow = dTable.Rows[0];

                // 取得内容を構造体へ
                m_kaisya.toroku_datetime = dRow[Com02.struct_m_kaisya.idx_toroku_datetime].ToString();
                m_kaisya.toroku_user_id  = dRow[Com02.struct_m_kaisya.idx_toroku_user_id].ToString();
                m_kaisya.toroku_program  = dRow[Com02.struct_m_kaisya.idx_toroku_program].ToString();

                m_kaisya.invalid_flg = int.Parse(dRow[Com02.struct_m_kaisya.idx_invalid_flg].ToString());

                m_kaisya.kaisya_code       = dRow[Com02.struct_m_kaisya.idx_kaisya_code].ToString();
                m_kaisya.kaisya_name       = dRow[Com02.struct_m_kaisya.idx_kaisya_name].ToString();
                m_kaisya.kaisya_name_kana  = dRow[Com02.struct_m_kaisya.idx_kaisya_name_kana].ToString();
                m_kaisya.kaisya_name_ryaku = dRow[Com02.struct_m_kaisya.idx_kaisya_name_ryaku].ToString();
                m_kaisya.address           = dRow[Com02.struct_m_kaisya.idx_address].ToString();
                m_kaisya.postal_code       = dRow[Com02.struct_m_kaisya.idx_postal_code].ToString();
                m_kaisya.tel_no            = dRow[Com02.struct_m_kaisya.idx_tel_no].ToString();
                m_kaisya.fax_no            = dRow[Com02.struct_m_kaisya.idx_fax_no].ToString();
                m_kaisya.mail_address      = dRow[Com02.struct_m_kaisya.idx_mail_address].ToString();
            }

            // これに対して画面内容を上書く
            if (bindingData.InvalidFlg.check == true)
            {
                m_kaisya.invalid_flg = 1;
            }
            else
            {
                m_kaisya.invalid_flg = 0;
            }
            m_kaisya.kaisya_code       = bindingData.KaisyaCode.text;
            m_kaisya.kaisya_name       = bindingData.KaisyaName.text;
            m_kaisya.kaisya_name_kana  = bindingData.KaisyaName_Kana.text;
            m_kaisya.kaisya_name_ryaku = bindingData.KaisyaName_Ryaku.text;
            m_kaisya.address           = bindingData.Address.text;
            m_kaisya.postal_code       = bindingData.PostalCode_1.text + "-" + bindingData.PostalCode_2.text;
            m_kaisya.tel_no            = bindingData.TelNo.text;
            m_kaisya.fax_no            = bindingData.FaxNo.text;
            m_kaisya.mail_address      = bindingData.MailAddress.text;

            return(m_kaisya);
        }
Esempio n. 12
0
        /// <summary>
        /// 新規登録処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Save_Click(object sender, RoutedEventArgs e)
        {
            string strMsg;
            string strErrMsg;
            string strProcName;

            strMsg    = "";
            strErrMsg = "";
            try
            {
                // DB接続
                SqlServer clsSqlServer = new SqlServer(Com01.clsSystemInfo.SystemDatabase);
                clsSqlServer.Connect();

                // 登録・更新用の構造体へ値をセットする
                Com02.struct_m_kaisya m_kaisya;
                m_kaisya = Set_EntryData(clsSqlServer, clsBindData);

                // 新規/更新の文言を取得
                if (m_kaisya.toroku_datetime == m_kaisya.koshin_datetime)
                {
                    strProcName = "新規登録";
                }
                else
                {
                    strProcName = "更新";
                }

                // エラーチェック
                bool booRtn = Com02.Chk_m_kaisya(strErrMsg, clsSqlServer, m_kaisya);
                if (booRtn == false)
                {
                    strMsg = "入力内容に誤りがあります。";
                    return;
                }

                // 確認
                MessageBoxResult msgResult = MessageBox.Show(strProcName + "処理を行います。" + Environment.NewLine
                                                             + "よろしいですか?"
                                                             , "確認:" + strProcName
                                                             , MessageBoxButton.YesNo);
                if (!(msgResult == MessageBoxResult.Yes))
                {
                    strMsg = strProcName + "処理を中止しました。";
                    return;
                }

                // 新規/更新を実行
                int result = SystemInfo.RtnStatus.ER;
                if (m_kaisya.toroku_datetime == m_kaisya.koshin_datetime)
                {
                    // 新規
                    result = Com02.Insert_m_kaisya(clsSqlServer, m_kaisya);
                }
                else
                {
                    // 更新
                    result = Com02.Update_m_kaisya(clsSqlServer, m_kaisya);
                }

                // 戻り値から表示するメッセージを切り替える
                switch (result)
                {
                case SystemInfo.RtnStatus.ER:
                    strMsg = strProcName + "処理に失敗しました。";
                    break;

                case SystemInfo.RtnStatus.NG:

                    strMsg = strProcName + "処理に失敗しました。";
                    if (!(clsSqlServer.ErrCode == "0"))
                    {
                        strMsg += "管理者に右記コードと共に御連絡ください。[エラーコード:" + clsSqlServer.ErrCode + "]";
                    }
                    break;

                default:
                    // 再検索処理を行う
                    Search_Click(BtnF01, new RoutedEventArgs());
                    strMsg = strProcName + "処理が完了しました。";
                    break;
                }
            }
            catch (Exception ex)
            {
                strMsg    = "例外が発生しました。";
                strErrMsg = ex.Message;
            }
            finally
            {
                clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg);
                this.DataContext       = clsBindData;
            }
        }
Esempio n. 13
0
        /// <summary>
        /// マテリアルマスタ登録データ設定処理
        /// </summary>
        /// <param name="clsSqlServer"></param>
        /// <param name="bindingData"></param>
        /// <returns></returns>
        private Com02.struct_m_material Set_EntryData(SqlServer clsSqlServer, BindingData bindingData)
        {
            // キーを条件に最新データを取得
            Com02.struct_m_material m_material = new Com02.struct_m_material();
            m_material.kigyo_code    = Com01.clsSystemInfo.ComLineArgs.kigyo_code;
            m_material.material_code = bindingData.MaterialCode;
            m_material.invalid_flg   = 1; // 削除も含めて検索
            DataTable dTable = Com02.Get_m_material(clsSqlServer, m_material, 1);

            // システム日時を取得
            Com01.Set_DateTime(clsSqlServer);

            // 更新日時をセット
            m_material.koshin_datetime = Com01.clsSystemInfo.dtNow.ToString();
            m_material.koshin_user_id  = Com01.clsSystemInfo.ComLineArgs.user_id;
            m_material.koshin_program  = Com01.clsSystemInfo.strExeName;

            // 検索結果
            if (dTable == null || dTable.Rows.Count == 0)
            {
                // 新規登録日時
                m_material.toroku_datetime = m_material.koshin_datetime;
                m_material.toroku_user_id  = m_material.koshin_user_id;
                m_material.toroku_program  = m_material.koshin_program;

                // 空の場合は規定値を
                m_material.invalid_flg = 0;
            }
            else
            {
                DataRow dRow = dTable.Rows[0];

                // 取得内容を構造体へ
                m_material.toroku_datetime = dRow[Com02.struct_m_material.idx_toroku_datetime].ToString();
                m_material.toroku_user_id  = dRow[Com02.struct_m_material.idx_toroku_user_id].ToString();
                m_material.toroku_program  = dRow[Com02.struct_m_material.idx_toroku_program].ToString();
                m_material.kigyo_code      = dRow[Com02.struct_m_material.idx_kigyo_code].ToString();
                m_material.material_code   = dRow[Com02.struct_m_material.idx_material_code].ToString();
                m_material.material_name   = dRow[Com02.struct_m_material.idx_material_name].ToString();
                m_material.unit_kbn        = dRow[Com02.struct_m_material.idx_unit_kbn].ToString();
                m_material.type_name       = dRow[Com02.struct_m_material.idx_type_name].ToString();
                m_material.kikaku_shiyo    = dRow[Com02.struct_m_material.idx_kikaku_shiyo].ToString();
                m_material.biko            = dRow[Com02.struct_m_material.idx_biko].ToString();
                m_material.yobi1           = dRow[Com02.struct_m_material.idx_yobi1].ToString();
                m_material.yobi2           = dRow[Com02.struct_m_material.idx_yobi2].ToString();
                m_material.yobi3           = dRow[Com02.struct_m_material.idx_yobi3].ToString();
                m_material.yobi4           = dRow[Com02.struct_m_material.idx_yobi4].ToString();
                m_material.yobi5           = dRow[Com02.struct_m_material.idx_yobi5].ToString();
                m_material.invalid_flg     = int.Parse(dRow[Com02.struct_m_material.idx_invalid_flg].ToString());
            }

            // これに対して画面内容を上書く
            if (bindingData.InvalidFlg == true)
            {
                m_material.invalid_flg = 1;
            }
            else
            {
                m_material.invalid_flg = 0;
            }
            m_material.material_name = bindingData.MaterialName;
            m_material.unit_kbn      = bindingData.UnitKbn;
            m_material.type_name     = bindingData.TypeName;
            m_material.kikaku_shiyo  = bindingData.KikakuShiyo;
            m_material.biko          = bindingData.Biko;

            return(m_material);
        }