Beispiel #1
0
 /// <summary>
 /// 增加一条HASH纪录
 /// </summary>
 public static int AddNewHash(HASHTYPE thetype, HASHITEM thehash, int thedetailID, int isHanzhi)
 {
     try
     {
         StringBuilder strSql = new StringBuilder();
         {
             //添加工作计划
             string tempstr = string.Format("insert into H31_DHT_TYPE_{0}_{1} (", (int)thetype * 100 + 1, isHanzhi);
             strSql.Append(tempstr);
             strSql.Append("hashKey,recvTime,updateTime,keyContent,KeyWords,keyType,recvTimes,fileCnt,filetotalSize,Detail)");
             strSql.Append(" values (");
             strSql.Append("@hashKey,@recvTime,@updateTime,@keyContent,@KeyWords,@keyType,@recvTimes,@fileCnt,@filetotalSize,@Detail)");
             DbParameter[] cmdParms =
             {
                 dbsql.CreateInDbParameter("@hashKey",       DbType.String,                                         40, thehash.hashKey),
                 dbsql.CreateInDbParameter("@recvTime",      DbType.DateTime, thehash.recvTime),
                 dbsql.CreateInDbParameter("@updateTime",    DbType.DateTime, thehash.recvTime),
                 dbsql.CreateInDbParameter("@keyContent",    DbType.String,   thehash.keyContent),
                 dbsql.CreateInDbParameter("@KeyWords",      DbType.String,   thehash.keyWords),
                 dbsql.CreateInDbParameter("@keyType",       DbType.Int32,    thehash.keyType),
                 dbsql.CreateInDbParameter("@recvTimes",     DbType.Int32,    thehash.recvTimes),
                 dbsql.CreateInDbParameter("@fileCnt",       DbType.Int32,    thehash.fileCnt),
                 dbsql.CreateInDbParameter("@filetotalSize", DbType.Double,   Convert.ToDouble(thehash.filetotalSize)),
                 dbsql.CreateInDbParameter("@Detail",        DbType.Int32,    thedetailID)
             };
             int res = dbsql.ExecuteNonQuery(CommandType.Text, strSql.ToString(), cmdParms);
             if (res == 1)
             {
                 string tempstr2 = string.Format("select top 1 id from H31_DHT_TYPE_{0}_{1} where hashKey='{2}' order by id desc", (int)thetype * 100 + 1, isHanzhi, thehash.hashKey);
                 object countid  = dbsql.ExecuteScalar(CommandType.Text, tempstr2.ToString(), null);
                 if (countid == null)
                 {
                     return(0);
                 }
                 return((int)countid);
             }
         }
     }
     catch (System.Exception ex)
     {
         H31Debug.PrintLn(ex.StackTrace);
     }
     return(-1);
 }
Beispiel #2
0
 /// <summary>
 /// ����һ��HASH��¼
 /// </summary>
 public static int AddNewHash(HASHTYPE thetype,HASHITEM thehash,int thedetailID,int isHanzhi)
 {
     try
     {
         StringBuilder strSql = new StringBuilder();
         {
             //��ӹ����ƻ�
             string tempstr = string.Format("insert into H31_DHT_TYPE_{0}_{1} (", (int)thetype * 100 + 1, isHanzhi);
             strSql.Append(tempstr);
             strSql.Append("hashKey,recvTime,updateTime,keyContent,KeyWords,keyType,recvTimes,fileCnt,filetotalSize,Detail)");
             strSql.Append(" values (");
             strSql.Append("@hashKey,@recvTime,@updateTime,@keyContent,@KeyWords,@keyType,@recvTimes,@fileCnt,@filetotalSize,@Detail)");
             DbParameter[] cmdParms = {
             dbsql.CreateInDbParameter("@hashKey",DbType.String,40,thehash.hashKey),
             dbsql.CreateInDbParameter("@recvTime", DbType.DateTime,thehash.recvTime),
             dbsql.CreateInDbParameter("@updateTime", DbType.DateTime,thehash.recvTime),
             dbsql.CreateInDbParameter("@keyContent", DbType.String,thehash.keyContent),
             dbsql.CreateInDbParameter("@KeyWords", DbType.String,thehash.keyWords),
             dbsql.CreateInDbParameter("@keyType", DbType.Int32,thehash.keyType),
             dbsql.CreateInDbParameter("@recvTimes", DbType.Int32,thehash.recvTimes),
             dbsql.CreateInDbParameter("@fileCnt", DbType.Int32,thehash.fileCnt),
             dbsql.CreateInDbParameter("@filetotalSize", DbType.Double,Convert.ToDouble(thehash.filetotalSize)),
             dbsql.CreateInDbParameter("@Detail", DbType.Int32,thedetailID)
             };
             int res=dbsql.ExecuteNonQuery(CommandType.Text, strSql.ToString(), cmdParms);
             if (res == 1)
             {
                 string tempstr2 = string.Format("select top 1 id from H31_DHT_TYPE_{0}_{1} where hashKey='{2}' order by id desc", (int)thetype * 100 + 1, isHanzhi, thehash.hashKey);
                 object countid = dbsql.ExecuteScalar(CommandType.Text, tempstr2.ToString(), null);
                 if (countid == null)
                     return 0;
                 return (int)countid;
             }
         }
     }
     catch (System.Exception ex)
     {
         H31Debug.PrintLn(ex.StackTrace);
     }
     return -1;
 }
Beispiel #3
0
        /// <summary>
        /// 检测文件类型
        /// </summary>
        private HASHTYPE GetHashFileKeyType(ref TorrentFile myFile)
        {
            HASHTYPE        type1    = HASHTYPE.OTHER;
            List <HASHTYPE> typelist = new List <HASHTYPE>();

            for (int m = 0; m < myFile.TorrentFileInfo.Count; m++)
            {
                string str1 = myFile.TorrentFileInfo[m].Path;
                //获取后缀名
                int    dotIndex = str1.LastIndexOf('.');
                string extName  = str1.Substring(dotIndex + 1, str1.Length - dotIndex - 1).ToUpper();
                if (extName == "RMVB" || extName == "AVI" || extName == "RM" || extName == "OGM" || extName == "MP4" || extName == "MKV" || extName == "FLV" || extName == "MPEG" || extName == "WMA" || extName == "ASF" || extName == "WMV" || extName == "MOV" || extName == "DAT" || extName == "BDMV" ||
                    extName == "CLPI" || extName == "M2TS" || extName == "VOB" || extName == "VCD" || extName == "DSF" || extName == "MPG" || extName == "DIVX" || extName == "TS" || extName == "TP")
                {
                    type1 = HASHTYPE.MOVIE;
                    typelist.Add(type1);
                    break;
                }
                else if (extName == "MP3" || extName == "MID" || extName == "APE" || extName == "AAC" || extName == "WAV" || extName == "WMA" || extName == "VOC" || extName == "FLAC" || extName == "M4A")
                {
                    type1 = HASHTYPE.MUSIC;
                }
                else if (extName == "CHM" || extName == "EPUB" || extName == "PDF" || extName == "DOC" || extName == "TXT" || extName == "DOCX" ||
                         extName == "PPT" || extName == "PPTX" || extName == "XLS" || extName == "XLSX" || extName == "PDG" || extName == "FB2" || extName == "CBZ")
                {
                    type1 = HASHTYPE.BOOK;
                }
                else if (extName == "EXE" || extName == "BIN" || extName == "COM" || extName == "BAT" || extName == "RAR" || extName == "ZIP" || extName == "7z" || extName == "ISO" ||
                         extName == "MSI" || extName == "TAR" || extName == "LZH" || extName == "TGZ" || extName == "OCX" || extName == "SFV" || extName == "MDF" || extName == "DMG")
                {
                    type1 = HASHTYPE.EXE;
                }
                else if (extName == "BMP" || extName == "GIF" || extName == "PNG" || extName == "JPG" || extName == "RAW" || extName == "TIF" || extName == "PSD")
                {
                    type1 = HASHTYPE.PICTURE;
                }
                else
                {
                    type1 = HASHTYPE.OTHER;
                }
                typelist.Add(type1);
            }
            if (typelist.Contains(HASHTYPE.MOVIE))
            {
                type1 = HASHTYPE.MOVIE;
            }
            else if (typelist.Contains(HASHTYPE.MUSIC))
            {
                type1 = HASHTYPE.MUSIC;
            }
            else if (typelist.Contains(HASHTYPE.BOOK))
            {
                type1 = HASHTYPE.BOOK;
            }
            else if (typelist.Contains(HASHTYPE.EXE))
            {
                type1 = HASHTYPE.EXE;
            }
            else if (typelist.Contains(HASHTYPE.PICTURE))
            {
                type1 = HASHTYPE.PICTURE;
            }
            else
            {
                type1 = HASHTYPE.OTHER;
            }
            return(type1);
        }