예제 #1
0
        /// <summary>
        /// 特殊チェックの日時フォーマットを日時項目に対して行います
        /// </summary>
        /// <param name="dyn_check">チェック対象のjson</param>
        /// <param name="dic">チェック用ディクショナリー</param>
        /// <returns></returns>
        protected override string Special_check(dynamic dyn_check, Dictionary <object, int> dic)
        {
            //時刻形式チェック
            if (!Json_Util.Time_Format_Check(dyn_check.Join_Time))
            {
                dyn_check.Check_Status = "NG";
                return(" 日時フォーマットチェックエラー:Join_Time:" + dyn_check.Join_Time);
            }

            //時刻形式チェック
            if (!Json_Util.Time_Format_Check(dyn_check.Join_Time2))
            {
                dyn_check.Check_Status = "NG";
                return(" 日時フォーマットチェックエラー:Join_Time2:" + dyn_check.Join_Time2);
            }

            return("");
        }
예제 #2
0
        /// <summary>
        /// Ope_Tagと特殊チェックの日時フォーマットを日時項目に対して行います
        /// Ope_Codeが増えた場合は分岐を増やす修正を行って下さい。
        /// 合せて分岐時に呼び出すファンクションを追加してください。
        /// </summary>
        /// <param name="dyn_check">チェック対象のjson</param>
        /// <param name="dic">チェック用ディクショナリー</param>
        /// <returns></returns>
        protected override string Special_check(dynamic dyn_check, Dictionary <object, int> dic)
        {
            //Ope_Tagの種類チェック
            string  ope_code              = dyn_check.Ope_Code;
            dynamic dyn_check_ope_tag     = null;
            string  Json_Base_check_error = "";

            switch (ope_code)
            {
            case "start":
                // start用OpeTag取得
                dyn_check_ope_tag = Create_dictionary_start();
                break;

            case "stop":
                dyn_check_ope_tag = Create_dictionary_stop();
                break;

            case "reload":
                dyn_check_ope_tag = Create_dictionary_reload();
                break;

            case "status":
                dyn_check_ope_tag = Create_dictionary_status();
                break;

            case "outage":
                dyn_check_ope_tag = Create_dictionary_uninst();
                break;

            case "mod_ea":
                dyn_check_ope_tag = Create_dictionary_mod_ea();
                break;

            case "mod_brok":
                dyn_check_ope_tag = Create_dictionary_mod_brok();
                break;

            case "watch_s":
                dyn_check_ope_tag = Create_dictionary_watch_s();
                break;

            case "watch_r":
                dyn_check_ope_tag = Create_dictionary_watch_r();
                break;

            default:
                dyn_check.Check_Status = "NG";
                return(" Ope_Codeチェックエラー: " + ope_code + " はコード値としてプログラムに設定されていません");
            }

            // Ope_Tagチェック 但しチェック用のディクショナリーがある場合のみ
            if (dyn_check_ope_tag != null)
            {
                Json_Base_check_error = Base_check(dyn_check.Ope_Tag, dyn_check_ope_tag);
                if (Json_Base_check_error != "")
                {
                    dyn_check.Check_Status = "NG";
                    return(" Ope_Tagチェックエラー: " + Json_Base_check_error);
                }
            }

            //時刻形式チェック
            if (!Json_Util.Time_Format_Check(dyn_check.Request_Time))
            {
                dyn_check.Check_Status = "NG";
                return(" 日時フォーマットチェックエラー:Join_Time:" + dyn_check.Request_Time);
            }
            else
            {
                return("");
            }
        }