コード例 #1
0
        private static IList <Tag> CreateOrLoadTags(BookmarksDBEntities db, IList <string> tags)
        {
            List <Tag> loadedTags = new List <Tag>();

            for (int i = 0; i < tags.Count; i++)
            {
                string tagString = tags[i];

                var tag = (from t in db.Tags where t.Name.ToLower() == tagString.ToLower() select t).FirstOrDefault();

                if (tag == null)
                {
                    tag = new Tag()
                    {
                        Name = tags[i].ToLower()
                    };
                    db.Tags.Add(tag);
                }

                loadedTags.Add(tag);
                db.SaveChanges();
            }

            return(loadedTags);
        }
コード例 #2
0
        public static void ImportBookmarks(string username, string title, string URL, IList <string> tags, string notes)
        {
            string[] tagsFromTitle = title.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < tagsFromTitle.Length; i++)
            {
                tags.Add(tagsFromTitle[i]);
            }

            using (var db = new BookmarksDBEntities())
            {
                Bookmark bookmark = new Bookmark();
                User     user     = CreateOrLoadUser(db, username);
                bookmark.User  = user;
                bookmark.Title = title;
                bookmark.URL   = URL;
                IList <Tag> loadedTags = CreateOrLoadTags(db, tags);
                bookmark.Tags  = loadedTags;
                bookmark.Notes = notes;

                db.Bookmarks.Add(bookmark);

                db.SaveChanges();
            }
        }
コード例 #3
0
        private static User CreateOrLoadUser(BookmarksDBEntities db, string username)
        {
            User user = db.Users.Where(x => x.Username.ToLower() == username.ToLower()).Select(x => x).FirstOrDefault();

            if (user == null)
            {
                user = new User()
                {
                    Username = username
                };
                db.Users.Add(user);
            }

            db.SaveChanges();

            return(user);
        }