Exemple #1
0
        private void update(DSMessage dsupdate, SQLiteConnection conn)
        {
            SQLiteDataAdapter adapter = new SQLiteDataAdapter();
            SQLiteCommand     cmd1    = new SQLiteCommand("insert into Player values(@uri,@Name,@Type)", conn);

            cmd1.Parameters.Add("@uri", DbType.String).SourceColumn  = dsupdate.Player.UriColumn.ColumnName;
            cmd1.Parameters.Add("@Name", DbType.String).SourceColumn = dsupdate.Player.NameColumn.ColumnName;
            cmd1.Parameters.Add("@Type", DbType.Int32).SourceColumn  = dsupdate.Player.TypeColumn.ColumnName;

            SQLiteCommand cmd3 = new SQLiteCommand("insert into Message  values(@MessageID,@ReceiverUri,@ReceiverName,@Status)", conn);

            cmd3.Parameters.Add("@MessageID", DbType.String).SourceColumn    = dsupdate.Message.MessageIDColumn.ColumnName;
            cmd3.Parameters.Add("@ReceiverUri", DbType.String).SourceColumn  = dsupdate.Message.ReceiverUriColumn.ColumnName;
            cmd3.Parameters.Add("@ReceiverName", DbType.String).SourceColumn = dsupdate.Message.ReceiverNameColumn.ColumnName;
            cmd3.Parameters.Add("@Status", DbType.Int32).SourceColumn        = dsupdate.Message.StatusColumn.ColumnName;



            SQLiteCommand cmd2 = new SQLiteCommand("insert into MessageBody values(@ID,@SenderUri,@SenderName,@Body,@Extend,@MessageType,@Time)", conn);

            cmd2.Parameters.Add("@ID", DbType.String).SourceColumn         = dsupdate.MessageBody.IDColumn.ColumnName;
            cmd2.Parameters.Add("@SenderUri", DbType.String).SourceColumn  = dsupdate.MessageBody.SenderUriColumn.ColumnName;
            cmd2.Parameters.Add("@SenderName", DbType.String).SourceColumn = dsupdate.MessageBody.SenderNameColumn.ColumnName;
            cmd2.Parameters.Add("@Body", DbType.String).SourceColumn       = dsupdate.MessageBody.BodyColumn.ColumnName;
            cmd2.Parameters.Add("@Extend", DbType.String).SourceColumn     = dsupdate.MessageBody.ExtendColumn.ColumnName;
            cmd2.Parameters.Add("@MessageType", DbType.Int32).SourceColumn = dsupdate.MessageBody.MessageTypeColumn.ColumnName;
            cmd2.Parameters.Add("@Time", DbType.DateTime).SourceColumn     = dsupdate.MessageBody.TimeColumn.ColumnName;

            adapter.InsertCommand = cmd1;
            adapter.Update(dsupdate.Player);
            adapter.InsertCommand = cmd3;
            adapter.Update(dsupdate.Message);
            adapter.InsertCommand = cmd2;
            adapter.Update(dsupdate.MessageBody);
        }
Exemple #2
0
        private DSMessage getSQLiteData(string file, string pass)
        {
            DSMessage        ds   = new DSMessage();
            SQLiteConnection conn = null;

            try
            {
                conn = new SQLiteConnection(string.Format(format, file, pass));
                SQLiteDataAdapter adapter = new SQLiteDataAdapter();

                conn.Open();
                adapter.SelectCommand = new SQLiteCommand("select * from Player", conn);
                adapter.Fill(ds, ds.Player.TableName);
                adapter.SelectCommand = new SQLiteCommand("select * from Message", conn);
                adapter.Fill(ds, ds.Message.TableName);
                adapter.SelectCommand = new SQLiteCommand("select * from MessageBody", conn);
                adapter.Fill(ds, ds.MessageBody.TableName);
                adapter.Dispose();
                conn.Close();
                Console.WriteLine(file + " ok");
                return(ds);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(new DSMessage());
            }
        }
Exemple #3
0
        private void leadin(string dataPath)
        {
            string[] list = System.IO.Directory.GetFiles(dataPath, "616777643_*.xml");
            if (list.Length == 0)
            {
                return;
            }

            DSMessage dsmain = getSQLiteData(System.IO.Path.Combine(dataPath, "history.dat"), mainNo);

            Log dsLog = new Log();

            foreach (string file in list)
            {
                dsLog.Clear();
                dsLog.ReadXml(file);
                string r = "", s = "", rn = "", sn = "";
                foreach (Log.MessageRow row in dsLog.Message.Rows)
                {
                    if (dsmain.Player.FindByUri(row.FromUri) == null)
                    {
                        dsmain.Player.AddPlayerRow(row.FromUri, row.From, 0);
                    }

                    if (r == "")
                    {
                        r  = row.FromUri;
                        rn = row.From;
                    }
                    else
                    if (s == "")
                    {
                        s  = row.FromUri;
                        sn = row.From;
                    }

                    if (dsmain.Message.FindByMessageID(row.MessageID) == null)
                    {
                        if (row.FromUri == r)
                        {
                            dsmain.Message.AddMessageRow(row.MessageID, s, sn, 0);
                        }
                        else
                        {
                            dsmain.Message.AddMessageRow(row.MessageID, r, rn, 0);
                        }
                    }
                    if (dsmain.MessageBody.FindByID(row.MessageID) == null)
                    {
                        dsmain.MessageBody.AddMessageBodyRow(dsmain.Message.FindByMessageID(row.MessageID), row.FromUri, row.From, row.Text, "", 0, DateTime.Parse(row.Date + " " + row.Time));
                    }
                }
            }

            update(dsmain, new SQLiteConnection(string.Format(format, System.IO.Path.Combine(dataPath, "history.dat"), mainNo)));
        }
Exemple #4
0
        private void merge(string dataPath, string pass)
        {
            string[] list = System.IO.Directory.GetFiles(dataPath, "*history*.dat");
            if (list.Length == 0)
            {
                return;
            }
            if (list.Length == 1)
            {
                if (System.IO.Path.GetFileName(list[0]).ToUpper() == "HISTORY.DAT")
                {
                    return;
                }
            }

            DSMessage dsmain = getSQLiteData(System.IO.Path.Combine(dataPath, "history.dat"), mainNo);

            foreach (string file in list)
            {
                if (System.IO.Path.GetFileName(file).ToUpper() == "HISTORY.DAT")
                {
                    continue;
                }

                DSMessage dstemp = getSQLiteData(file, pass);
                foreach (DSMessage.PlayerRow row in dstemp.Player.Rows)
                {
                    if (dsmain.Player.FindByUri(row.Uri) == null)
                    {
                        dsmain.Player.AddPlayerRow(row.Uri, row.Name, row.Type);
                    }
                }
                foreach (DSMessage.MessageRow row in dstemp.Message.Rows)
                {
                    if (dsmain.Message.FindByMessageID(row.MessageID) == null)
                    {
                        dsmain.Message.AddMessageRow(row.MessageID, row.ReceiverUri, row.ReceiverName, row.Status);
                    }
                }
                foreach (DSMessage.MessageBodyRow row in dstemp.MessageBody.Rows)
                {
                    if (dsmain.MessageBody.FindByID(row.ID) == null)
                    {
                        dsmain.MessageBody.AddMessageBodyRow(row.MessageRow, row.SenderUri, row.SenderName, row.Body, row.Extend, row.MessageType, row.Time);
                    }
                }



                //伪造记录
                //string ms=Qoushui.DLL.Encoding.ClassShare.GetMD5String(System.Text.Encoding.ASCII.GetBytes(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")));
                //SQLiteCommand cmd = new SQLiteCommand("insert into Message values('"+ms+          "','tel:13777774018','张敏相',0)", conn);
                //conn.Open();

                //Console.WriteLine(cmd.ExecuteNonQuery());
                //cmd.CommandText = "insert into MessageBody values('" + ms + "','sip:[email protected];p=810','.','========','',1, '" + DateTime.Now.ToString() + "' )";
                //cmd.ExecuteNonQuery();
                //conn.Close();
            }

            update(dsmain, new SQLiteConnection(string.Format(format, System.IO.Path.Combine(dataPath, "history.dat"), mainNo)));
            dsmain.AcceptChanges();
        }
 ///// <summary>
 ///// 防区消息
 ///// </summary>
 //static string ZoomMsg = "  ";
 void ShowMsg(string str)
 {
     DSMessage?.Invoke(string.Format("{0} 时间:{1}{2}", str, DateTime.Now, Environment.NewLine));
 }