Exemple #1
0
 public void DrawVersion(DBDocumentVersion _v)
 {
     string text = _v.DataAsText;
     rtbRAW.Text = text;
     wbViewer.DocumentText = text;
     HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
     doc.LoadHtml(text);
     rtbPureText.Text = HTMLUtils.GetPlainText(doc);
     HTMLMetaClass nvc = _v.Metadata;
 }
Exemple #2
0
        public Guid AddDocumentVersion(Guid DocID, DBDocumentVersion ver)
        {
            if (ver.ID == Guid.Empty)
                ver.ID = Guid.NewGuid();
            DBDocument d = GetDocumentByID(DocID);
            if (d != null)
            {
                if ((d.Versions.Count > 0) &&
                    (d.LastVersion != null))
                    if (ver.DataAsText == d.LastVersion.DataAsText)
                    {
                        command.CommandText = "update DOCUMENTDATA set DD_LASTUPDATE = @DD_LASTUPDATE where DD_ID = @DD_ID";
                        command.Parameters.Clear();
                        command.Parameters.AddWithValue("DD_ID", d.LastVersion.ID);
                        command.Parameters.AddWithValue("DD_LASTUPDATE", DateTime.Now);
                        string zvq = GetSQL(command);

                        int id = command.ExecuteNonQuery();
                        //throw new Exception("Заглушка для обновления последней версии");
                    }
                int vcnt = d.Versions.Count;
                command.CommandText = "insert into DOCUMENTDATA (DD_ID, DD_DOCID , DD_VERSION , DD_DATE , DD_LASTUPDATE , DD_BODY, DD_METADATA )" +
                           " values ( @DD_ID, @DD_DOCID , @DD_VERSION , @DD_DATE , @DD_LASTUPDATE , @DD_BODY, @DD_METADATA )";
                command.Parameters.Clear();
                command.Parameters.AddWithValue("DD_ID", ver.ID);
                command.Parameters.AddWithValue("DD_DOCID", d.ID);
                command.Parameters.AddWithValue("DD_VERSION", vcnt);
                command.Parameters.AddWithValue("DD_DATE", ver.Date);
                command.Parameters.AddWithValue("DD_LASTUPDATE", ver.LastUpdate);
                command.Parameters.AddWithValue("DD_BODY", ver.Data);
                command.Parameters.AddWithValue("DD_METADATA", UTF8StrToBytes(ver.ResponseHeader));

                string vq = GetSQL(command);

                int vid = command.ExecuteNonQuery();
            }
            else
            {
                throw new Exception("Document not found. (ID='" + DocID.ToString() + "')");
            }
            return ver.ID;
        }
Exemple #3
0
        public DBDocument GetDocumentByField(string field , string value )
        {
            DBDocument doc = null;

            command.CommandText = "select * from DOCUMENT where ("+ field + " = @" + field + ")";
            command.Parameters.Clear();
            command.Parameters.AddWithValue(field, value);
            string q = GetSQL(command);
            SqlDataReader dr = command.ExecuteReader();
            try
            {
                if (dr.HasRows)
                {
                    if (dr.Read())
                    {
                        doc = new DBDocument(this);
                        doc.URL = dr["DC_URL"].ToString();
                        doc.ID = new Guid(dr["DC_ID"].ToString());
                    }
                }
            }
            finally { dr.Close(); }
            if ((doc != null)&&(doc.ID != Guid.Empty))
            {
                command.CommandText = "select * from DOCUMENTDATA where DD_DOCID = @DD_DOCID";
                command.Parameters.Clear();
                command.Parameters.AddWithValue("DD_DOCID", doc.ID);
                 q = GetSQL(command);
                dr = command.ExecuteReader(CommandBehavior.SequentialAccess);
                try
                {
                    if (dr.HasRows)
                        while (dr.Read())
                        {
                            DBDocumentVersion dv = new DBDocumentVersion();
                            dv.ID = new Guid(dr["DD_ID"].ToString());
                            dv.DocID = new Guid(dr["DD_DOCID"].ToString());
                            //dv.ID = new Guid(dr.GetString(dr.GetOrdinal("DD_ID")));
                            dv.Version = int.Parse(dr["DD_VERSION"].ToString());
                            dv.Date = DateTime.Parse(dr["DD_DATE"].ToString());
                            int bufferSize = 10000;
                            dv.Data = new byte[bufferSize];
                            int colnum = dr.GetOrdinal("DD_BODY");
                            //dv.Data = (byte[])dr.GetValue(colnum);
                            dr.GetBytes(colnum, 0, dv.Data, 0, bufferSize);
                            //dr.GetBytes(colnum,)
                            //dv.Data = (byte[])dr["DD_BODY"];
                            dv.ResponseHeader = BytesToUTF8Str((byte[])dr["DD_METADATA"]);
                            doc.Versions.Add(dv);
                        }
                    else
                    {
                        //throw new Exception(string.Format("Versions for Document '{0}' not found", value));
                    }
                }
                finally
                {
                    dr.Close();
                }
            }
            return doc;
        }
Exemple #4
0
        public DBDocument CreateDocument(string _url, byte[] _body, string _header)
        {
            DBDocument doc = new DBDocument();
            doc.ID = Guid.NewGuid();
            doc.URL = _url;
            doc.DocType = 0;

            DBDocumentVersion v = new DBDocumentVersion();
            v.ID = Guid.NewGuid();
            v.DocID = doc.ID;
            v.Date = DateTime.Now;
            v.LastUpdate = DateTime.Now;
            v.Version = 0;
            v.Data = _body;
            v.ResponseHeader = _header;

            doc.Versions.Add(v);

            return doc;
        }