Exemplo n.º 1
0
 public static void Children(IDbCodeCommand cmd, int cveID, dynamic children)
 {
     foreach (var child in children)
     {
         OperatorTest(cmd, cveID, child);
     }
 }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            // 形態素解析のMeCabを初期化
            var mecabPara = new MeCabParam();

            mecabPara.DicDir = @"c:\dic\mecab-ipadic-neologd";
            MeCab            = MeCabTagger.Create(mecabPara);

            // データベース関係初期化
            Db.Initialize();

            // データベースへ接続しブラウザの制御を開始する
            using (var con = Db.CreateConnection())
                using (var conForSearch = Db.CreateConnection()) {
                    con.Open();
                    conForSearch.Open();
                    Cmd          = con.CreateCommand();
                    CmdForSearch = conForSearch.CreateCommand();

                    var cts = new CancellationTokenSource();
                    var t   = StartHttpServer(cts.Token);
                    RunControlBrowser();
                    StopHttpServer(t, cts);
                }
        }
Exemplo n.º 3
0
        public static void OperatorAnd(IDbCodeCommand cmd, int cveID, dynamic node)
        {
            var cpe = node.cpe;

            if (cpe != null)
            {
                Cpe(cmd, cveID, cpe);
            }
            var children = node.children;

            if (children != null)
            {
                Children(cmd, cveID, children);
            }
        }
Exemplo n.º 4
0
        public static void OperatorTest(IDbCodeCommand cmd, int cveID, dynamic node)
        {
            switch ((string)node["operator"])
            {
            case "AND":
                OperatorAnd(cmd, cveID, node);
                break;

            case "OR":
                OperatorOr(cmd, cveID, node);
                break;

            default:
                throw new ApplicationException();
            }
        }
Exemplo n.º 5
0
 public static void Cpe(IDbCodeCommand cmd, int cveID, dynamic cpes)
 {
     foreach (var cpe in cpes)
     {
         var c22 = cpe.cpe22Uri;
         var c23 = cpe.cpe23Uri;
         if (c22 != null)
         {
             Db.AddCveCpe22(cmd, cveID, Db.AddCpe22(cmd, (string)c22));
         }
         if (c23 != null)
         {
             Db.AddCveCpe23(cmd, cveID, Db.AddCpe23(cmd, (string)c23));
         }
         else
         {
             throw new ApplicationException();
         }
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>影響を受けた行の数</returns>
 public override int Execute(IDbCodeCommand command) => command.ExecuteNonQuery(this);
Exemplo n.º 7
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>読み取り用オブジェクト</returns>
 public abstract IDbCodeDataReader ExecuteReader(IDbCodeCommand command);
Exemplo n.º 8
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>影響を受けた行の数</returns>
 public abstract int Execute(IDbCodeCommand command);
Exemplo n.º 9
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>読み取り用オブジェクト</returns>
 public override IDbCodeDataReader ExecuteReader(IDbCodeCommand command) => command.ExecuteReader(this);
Exemplo n.º 10
0
 public static void OperatorOr(IDbCodeCommand cmd, int cveID, dynamic node)
 {
     Cpe(cmd, cveID, node.cpe);
 }
Exemplo n.º 11
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行しレコード読み取りオブジェクトを取得する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>レコード列挙オブジェクト</returns>
 public RecordEnumerator <TResult> Execute(IDbCodeCommand command)
 {
     return(new RecordEnumerator <TResult>(this.Commandable.ExecuteReader(command), this.RecordReader));
 }
Exemplo n.º 12
0
 /// <summary>
 /// 指定の<see cref="IDbCodeCommand"/>を使用してコマンドを実行しレコード読み取りオブジェクトを取得する
 /// </summary>
 /// <param name="command">コマンド</param>
 /// <returns>影響を受けた行の数</returns>
 public int Execute(IDbCodeCommand command)
 {
     return(this.Commandable.Execute(command));
 }