Exemple #1
0
    public static void Main()
    {
        using (TransactionScope tran = new TransactionScope(
                   TransactionScopeOption.Required,
                   new TransactionOptions()
        {
            IsolationLevel = IsolationLevel.RepeatableRead
        }))
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("../../bookmarks.xml");
            string xPathQuery = "/bookmarks/bookmark";

            XmlNodeList bookmarksList = xmlDoc.SelectNodes(xPathQuery);
            foreach (XmlNode bookmark in bookmarksList)
            {
                string        username = bookmark.InnerTextOrNull("username");
                string        title    = bookmark.InnerTextOrNull("title");
                string        URL      = bookmark.InnerTextOrNull("url");
                List <string> tags     = new List <string>();
                string        notes    = bookmark.InnerTextOrNull("notes");

                if (bookmark.InnerTextOrNull("tags") != null)
                {
                    tags = bookmark.InnerTextOrNull("tags").Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList <string>();
                }

                BookmarksDAL.ImportBookmarks(username, title, URL, tags, notes);
            }
            tran.Complete();
        }
    }
    private static void ProcessSearchQueries(XmlTextWriter writer)
    {
        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.Load("../../complex-query.xml");
        foreach (XmlNode query in xmlDoc.SelectNodes("/queries/query"))
        {
            string username         = query.GetChildText("username");
            int    maxResults       = 10;
            var    maxResultsAttrib = query.Attributes["max-results"];
            if (maxResultsAttrib != null)
            {
                maxResults = int.Parse(maxResultsAttrib.Value);
            }
            List <string> tags = new List <string>();
            foreach (XmlNode tag in query.SelectNodes("tag"))
            {
                tags.Add(tag.InnerText.Trim());
            }

            var bookmarks =
                BookmarksDAL.FindBookmarks(username, tags, maxResults);

            WriteBookmarks(writer, bookmarks);
        }
    }
Exemple #3
0
        static void Main()
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load("../../simple-query.xml");
            string xPathQuery = "/query";

            XmlNodeList bookmarksList = xmlDoc.SelectNodes(xPathQuery);

            foreach (XmlNode bookmark in bookmarksList)
            {
                string username = bookmark.InnerTextOrNull("username");
                string tag      = bookmark.InnerTextOrNull("tag");

                var bookmarks = BookmarksDAL.SimpleBookmarkSearch(username, tag);

                foreach (var bookmarkItem in bookmarks)
                {
                    Console.WriteLine(bookmarkItem.URL);
                }
            }
        }
    static void Main()
    {
        TransactionScope tran = new TransactionScope(
            TransactionScopeOption.Required,
            new TransactionOptions()
        {
            IsolationLevel = IsolationLevel.RepeatableRead
        });

        using (tran)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("../../bookmarks.xml");
            string xPathQuery = "/bookmarks/bookmark";

            XmlNodeList bookmarksList = xmlDoc.SelectNodes(xPathQuery);
            foreach (XmlNode bookmarkNode in bookmarksList)
            {
                string   username = bookmarkNode.GetChildText("username");
                string   title    = bookmarkNode.GetChildText("title");
                string   url      = bookmarkNode.GetChildText("url");
                string   notes    = bookmarkNode.GetChildText("notes");
                string   allTags  = bookmarkNode.GetChildText("tags");
                string[] tags     = { };
                if (allTags != null)
                {
                    tags = allTags.Split(',');
                    for (int i = 0; i < tags.Length; i++)
                    {
                        tags[i] = tags[i].Trim();
                    }
                }
                BookmarksDAL.AddBookmark(username, title, url, tags, notes);
                Thread.Sleep(500);
            }
            tran.Complete();
        }
    }
    static void Main()
    {
        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.Load("../../simple-query.xml");
        string username  = xmlDoc.GetChildText("/query/username");
        string tag       = xmlDoc.GetChildText("/query/tag");
        var    bookmarks =
            BookmarksDAL.FindBookmarksByUsernameAndTag(
                username, tag);

        if (bookmarks.Count > 0)
        {
            foreach (var bookmark in bookmarks)
            {
                Console.WriteLine(bookmark.URL);
            }
        }
        else
        {
            Console.WriteLine("Nothing found");
        }
    }
        static void Main()
        {
            List <IList <Bookmark> > resluts = new List <IList <Bookmark> >();

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load("../../complex-query.xml");
            string xPathQuery = "/queries/query";

            XmlNodeList queryList = xmlDoc.SelectNodes(xPathQuery);

            foreach (XmlNode query in queryList)
            {
                string        username = query.InnerTextOrNull("username");
                List <string> tags     = new List <string>();

                foreach (XmlNode tag in query.SelectNodes("tag"))
                {
                    tags.Add(tag.InnerText);
                }

                int maxResults = 10;

                var maxResultsAttribute = query.Attributes["max-results"];
                if (maxResultsAttribute != null)
                {
                    maxResults = int.Parse(maxResultsAttribute.Value);
                }

                resluts.Add(BookmarksDAL.ComplexBookmarkSearch(username, tags, maxResults));
            }

            string fileName = "../../search-results.xml";

            using (XmlTextWriter writer = new XmlTextWriter(fileName, Encoding.UTF8))
            {
                writer.Formatting  = Formatting.Indented;
                writer.IndentChar  = '\t';
                writer.Indentation = 1;

                writer.WriteStartDocument();
                writer.WriteStartElement("search-results");


                foreach (IList <Bookmark> result in resluts)
                {
                    writer.WriteStartElement("result-set");

                    foreach (Bookmark bookmark in result)
                    {
                        writer.WriteStartElement("bookmark");

                        writer.WriteElementString("username", bookmark.User.Username);
                        writer.WriteElementString("title", bookmark.Title);
                        writer.WriteElementString("url", bookmark.URL);
                        writer.WriteElementString("tags", string.Join(", ", bookmark.Tags.Select(x => x.Name)));
                        if (bookmark.Notes != null)
                        {
                            writer.WriteElementString("notes", bookmark.Notes);
                        }

                        writer.WriteEndElement();
                    }

                    writer.WriteEndElement();
                }
                writer.WriteEndElement();

                writer.WriteEndDocument();
            }
        }