public CommunityModelSerializer()
        {
            Directory.CreateDirectory(dir + "/data");
            Directory.CreateDirectory(dir + "/data/communityposts");
            Directory.CreateDirectory(dir + "/data/userposts");

            model       = CommunityModel.GetInstance();
            Users       = new HashMap <string, User>();
            Communities = new HashMap <string, Community>();
            Posts       = new HashMap <int, UserPost>();
        }
Example #2
0
        public void Run()
        {
            var model = CommunityModel.GetInstance();

            // Create Communitties
            #region
            var announcements = new Community()
            {
                Id = 0, Name = "announcements"
            };
            var funny = new Community()
            {
                Id = 1, Name = "funny"
            };
            var askcommunity = new Community()
            {
                Id = 2, Name = "askcommunity"
            };
            var gaming = new Community()
            {
                Id = 3, Name = "gaming"
            };
            var aww = new Community()
            {
                Id = 4, Name = "aww"
            };
            var music = new Community()
            {
                Id = 5, Name = "music"
            };
            var science = new Community()
            {
                Id = 6, Name = "science"
            };
            var worldnews = new Community()
            {
                Id = 7, Name = "worldnews"
            };
            var todayilearned = new Community()
            {
                Id = 8, Name = "todayilearned"
            };
            var movies = new Community()
            {
                Id = 9, Name = "movies"
            };
            var tech = new Community()
            {
                Id = 10, Name = "tech"
            };
            var showerthoughts = new Community()
            {
                Id = 11, Name = "showerthoughts"
            };
            var jokes = new Community()
            {
                Id = 12, Name = "jokes"
            };
            var books = new Community()
            {
                Id = 13, Name = "books"
            };
            var mildlyinteresting = new Community()
            {
                Id = 14, Name = "mildlyinteresting"
            };
            var sports = new Community()
            {
                Id = 15, Name = "sports"
            };
            #endregion

            // Add Communities
            #region
            model.Communities.Insert(announcements);
            model.Communities.Insert(funny);
            model.Communities.Insert(askcommunity);
            model.Communities.Insert(gaming);
            model.Communities.Insert(aww);
            model.Communities.Insert(music);
            model.Communities.Insert(science);
            model.Communities.Insert(worldnews);
            model.Communities.Insert(todayilearned);
            model.Communities.Insert(movies);
            model.Communities.Insert(tech);
            model.Communities.Insert(showerthoughts);
            model.Communities.Insert(jokes);
            model.Communities.Insert(books);
            model.Communities.Insert(mildlyinteresting);
            model.Communities.Insert(sports);
            #endregion

            // Create Users
            #region
            var lepegen = new User()
            {
                Id = 0, Name = "lepegen", Password = "******"
            };
            var citylightsbird = new User()
            {
                Id = 1, Name = "citylightsbird", Password = "******"
            };
            var cucumberapple = new User()
            {
                Id = 2, Name = "cucumberapple", Password = "******"
            };
            var pathsofgloryfog = new User()
            {
                Id = 3, Name = "pathsofgloryfog", Password = "******"
            };
            var animaltracksnet = new User()
            {
                Id = 4, Name = "animaltracksnet", Password = "******"
            };
            var lastradawalker = new User()
            {
                Id = 5, Name = "lastradawalker", Password = "******"
            };
            var runningstardust = new User()
            {
                Id = 6, Name = "runningstardust", Password = "******"
            };
            var broccolipotato = new User()
            {
                Id = 7, Name = "broccolipotato", Password = "******"
            };
            var bridgebaseball = new User()
            {
                Id = 8, Name = "bridgebaseball", Password = "******"
            };
            var spiralshapefig = new User()
            {
                Id = 9, Name = "spiralshapefig", Password = "******"
            };
            var marsexpresscane = new User()
            {
                Id = 10, Name = "marsexpresscane", Password = "******"
            };
            var walruspandabird = new User()
            {
                Id = 11, Name = "walruspandabird", Password = "******"
            };
            var rearwindowowl = new User()
            {
                Id = 12, Name = "rearwindowowl", Password = "******"
            };
            var owlsilverberry = new User()
            {
                Id = 13, Name = "owlsilverberry", Password = "******"
            };
            var yogapianosalt = new User()
            {
                Id = 14, Name = "yogapianosalt", Password = "******"
            };
            #endregion

            // Add Communities to Users
            #region
            foreach (var item in new[] { askcommunity, funny, announcements, showerthoughts, tech, todayilearned })
            {
                lepegen.Communities.Insert(item);
            }
            foreach (var item in new[] { books, worldnews, todayilearned, gaming })
            {
                citylightsbird.Communities.Insert(item);
            }
            foreach (var item in new[] { tech, mildlyinteresting, announcements, worldnews, todayilearned })
            {
                cucumberapple.Communities.Insert(item);
            }
            foreach (var item in new[] { movies, showerthoughts, aww, science, music, sports, todayilearned, announcements, gaming, askcommunity, funny })
            {
                pathsofgloryfog.Communities.Insert(item);
            }
            foreach (var item in new[] { movies, announcements, books, askcommunity, science })
            {
                animaltracksnet.Communities.Insert(item);
            }
            foreach (var item in new[] { funny, music, askcommunity, announcements, sports, gaming, aww })
            {
                lastradawalker.Communities.Insert(item);
            }
            foreach (var item in new[] { books, science, worldnews, movies, music, askcommunity })
            {
                runningstardust.Communities.Insert(item);
            }
            foreach (var item in new[] { movies, sports, tech, gaming, showerthoughts })
            {
                broccolipotato.Communities.Insert(item);
            }
            foreach (var item in new[] { movies, books, aww, gaming, science, announcements, tech, askcommunity, jokes })
            {
                bridgebaseball.Communities.Insert(item);
            }
            foreach (var item in new[] { announcements, gaming, mildlyinteresting, sports, jokes, askcommunity, science, showerthoughts, music, aww, funny, worldnews, todayilearned, books, movies })
            {
                spiralshapefig.Communities.Insert(item);
            }
            foreach (var item in new[] { mildlyinteresting, gaming, tech, books, funny, jokes, movies, worldnews })
            {
                marsexpresscane.Communities.Insert(item);
            }
            foreach (var item in new[] { todayilearned, books, showerthoughts, jokes, music, gaming, sports, movies })
            {
                walruspandabird.Communities.Insert(item);
            }
            foreach (var item in new[] { todayilearned, science, tech, music, gaming, sports, movies, showerthoughts })
            {
                rearwindowowl.Communities.Insert(item);
            }
            foreach (var item in new[] { music, worldnews, announcements, funny, showerthoughts, books, askcommunity, todayilearned })
            {
                owlsilverberry.Communities.Insert(item);
            }
            foreach (var item in new[] { movies, funny, books, jokes, mildlyinteresting, music, todayilearned, aww, science, sports, worldnews, askcommunity, showerthoughts })
            {
                yogapianosalt.Communities.Insert(item);
            }
            #endregion

            // Add Users
            #region
            model.Users.AddVertex(lepegen);         // X
            model.Users.AddVertex(citylightsbird);  // X
            model.Users.AddVertex(cucumberapple);   // X
            model.Users.AddVertex(pathsofgloryfog); // X
            model.Users.AddVertex(animaltracksnet); // X
            model.Users.AddVertex(lastradawalker);  // X
            model.Users.AddVertex(runningstardust); // X
            model.Users.AddVertex(broccolipotato);  // X
            model.Users.AddVertex(bridgebaseball);  // X
            model.Users.AddVertex(spiralshapefig);  // X
            model.Users.AddVertex(marsexpresscane); // X
            model.Users.AddVertex(walruspandabird); // X
            model.Users.AddVertex(rearwindowowl);   // X
            model.Users.AddVertex(owlsilverberry);  // X
            model.Users.AddVertex(yogapianosalt);
            #endregion

            // Follow Other Users
            #region
            model.Users.AddEdge(lepegen, citylightsbird, 1);
            model.Users.AddEdge(lepegen, cucumberapple, 1);
            model.Users.AddEdge(lepegen, pathsofgloryfog, 1);
            model.Users.AddEdge(lepegen, animaltracksnet, 1);
            model.Users.AddEdge(lepegen, lastradawalker, 1);



            model.Users.AddEdge(citylightsbird, walruspandabird, 1);

            model.Users.AddEdge(cucumberapple, yogapianosalt, 1);

            model.Users.AddEdge(pathsofgloryfog, bridgebaseball, 1);
            model.Users.AddEdge(pathsofgloryfog, owlsilverberry, 1);
            model.Users.AddEdge(pathsofgloryfog, broccolipotato, 1);

            model.Users.AddEdge(animaltracksnet, spiralshapefig, 1);
            model.Users.AddEdge(animaltracksnet, owlsilverberry, 1);

            model.Users.AddEdge(bridgebaseball, broccolipotato, 1);
            model.Users.AddEdge(bridgebaseball, marsexpresscane, 1);

            model.Users.AddEdge(spiralshapefig, lepegen, 1);

            model.Users.AddEdge(marsexpresscane, lepegen, 1);
            model.Users.AddEdge(marsexpresscane, bridgebaseball, 1);
            model.Users.AddEdge(marsexpresscane, spiralshapefig, 1);
            model.Users.AddEdge(marsexpresscane, cucumberapple, 1);
            model.Users.AddEdge(marsexpresscane, pathsofgloryfog, 1);
            model.Users.AddEdge(marsexpresscane, citylightsbird, 1);
            model.Users.AddEdge(marsexpresscane, rearwindowowl, 1);

            model.Users.AddEdge(owlsilverberry, rearwindowowl, 1);
            model.Users.AddEdge(owlsilverberry, lastradawalker, 1);
            model.Users.AddEdge(owlsilverberry, lepegen, 1);

            model.Users.AddEdge(yogapianosalt, marsexpresscane, 1);
            #endregion

            // Add Posts to Users
            #region
            var post1 = new UserPost()
            {
                ID = 0, DatePosted = DateTime.Parse("9/11/2020"), Text = "Welcome to Community", Community = announcements, User = lepegen
            };
            lepegen.Posts.Push(post1); announcements.Posts.Push(post1);

            var post2 = new UserPost()
            {
                ID = 1, DatePosted = DateTime.Parse("9/12/2020"), Text = "E", Community = funny, User = citylightsbird
            };
            citylightsbird.Posts.Push(post2); funny.Posts.Push(post2);

            var post3 = new UserPost()
            {
                ID = 2, DatePosted = DateTime.Parse("9/13/2020"), Text = "What's", Community = askcommunity, User = cucumberapple
            };
            cucumberapple.Posts.Push(post3); askcommunity.Posts.Push(post3);

            var post4 = new UserPost()
            {
                ID = 3, DatePosted = DateTime.Parse("9/14/2020"), Text = "Xbox Series X Unboxing", Community = gaming, User = pathsofgloryfog
            };
            pathsofgloryfog.Posts.Push(post4); gaming.Posts.Push(post4);

            var post5 = new UserPost()
            {
                ID = 4, DatePosted = DateTime.Parse("9/15/2020"), Text = "It's my dog's 3rd birthday today :D", Community = aww, User = runningstardust
            };
            runningstardust.Posts.Push(post5); aww.Posts.Push(post5);

            var post6 = new UserPost()
            {
                ID = 5, DatePosted = DateTime.Parse("9/15/2020"), Text = "The Beatles - Here Comes the Sun", Community = music, User = lastradawalker
            };
            lastradawalker.Posts.Push(post6); music.Posts.Push(post6);

            var post7 = new UserPost()
            {
                ID = 6, DatePosted = DateTime.Parse("9/16/2020"), Text = "Water discoverd on the moon", Community = science, User = runningstardust
            };
            runningstardust.Posts.Push(post7); science.Posts.Push(post7);

            var post8 = new UserPost()
            {
                ID = 7, DatePosted = DateTime.Parse("9/17/2020"), Text = "Typhoon hit philippines devasted", Community = worldnews, User = broccolipotato
            };
            broccolipotato.Posts.Push(post8); worldnews.Posts.Push(post8);

            var post9 = new UserPost()
            {
                ID = 8, DatePosted = DateTime.Parse("9/18/2020"), Text = "TIL Socrates taught Plato, Plato taught Aristotle, and Aristotle taught Alexander the Great", Community = todayilearned, User = bridgebaseball
            };
            bridgebaseball.Posts.Push(post9); todayilearned.Posts.Push(post9);

            var post10 = new UserPost()
            {
                ID = 9, DatePosted = DateTime.Parse("9/19/2020"), Text = "Hot Fuzz(2007)", Community = movies, User = spiralshapefig
            };
            spiralshapefig.Posts.Push(post10); movies.Posts.Push(post10);

            var post11 = new UserPost()
            {
                ID = 10, DatePosted = DateTime.Parse("10/11/2020"), Text = "IPhone X Released", Community = tech, User = marsexpresscane
            };
            marsexpresscane.Posts.Push(post11); tech.Posts.Push(post11);

            var post12 = new UserPost()
            {
                ID = 11, DatePosted = DateTime.Parse("10/13/2020"), Text = "You have proberly seen more of the moons surface than you have earth's", Community = showerthoughts, User = walruspandabird
            };
            walruspandabird.Posts.Push(post12); showerthoughts.Posts.Push(post12);

            var post13 = new UserPost()
            {
                ID = 12, DatePosted = DateTime.Parse("10/15/2020"), Text = "I taught a wolf to meditate Now he’s aware wolf", Community = jokes, User = rearwindowowl
            };
            rearwindowowl.Posts.Push(post13); jokes.Posts.Push(post13);

            var post14 = new UserPost()
            {
                ID = 13, DatePosted = DateTime.Parse("10/16/2020"), Text = "1984 George Orwell", Community = books, User = owlsilverberry
            };
            owlsilverberry.Posts.Push(post14); books.Posts.Push(post14);

            var post15 = new UserPost()
            {
                ID = 14, DatePosted = DateTime.Parse("10/16/2020"), Text = "The A key on my keyboard is half A and half Q.", Community = mildlyinteresting, User = yogapianosalt
            };
            yogapianosalt.Posts.Push(post15); mildlyinteresting.Posts.Push(post15);

            var post16 = new UserPost()
            {
                ID = 15, DatePosted = DateTime.Parse("10/17/2020"), Text = "Barca - Alaves", Community = sports, User = lepegen
            };
            lepegen.Posts.Push(post16); sports.Posts.Push(post16);

            var post17 = new UserPost()
            {
                ID = 16, DatePosted = DateTime.Parse("10/17/2020"), Text = "v1.1 Now Up :D", Community = announcements, User = citylightsbird
            };
            citylightsbird.Posts.Push(post17); announcements.Posts.Push(post17);

            var post18 = new UserPost()
            {
                ID = 17, DatePosted = DateTime.Parse("10/18/2020"), Text = "I ran 3 miles yesterday Eventually I just said “here keep your purse”", Community = funny, User = cucumberapple
            };
            cucumberapple.Posts.Push(post18); funny.Posts.Push(post18);

            var post19 = new UserPost()
            {
                ID = 18, DatePosted = DateTime.Parse("10/18/2020"), Text = "How is everybody doing?", Community = askcommunity, User = animaltracksnet
            };
            animaltracksnet.Posts.Push(post19); askcommunity.Posts.Push(post19);

            var post20 = new UserPost()
            {
                ID = 19, DatePosted = DateTime.Parse("10/19/2020"), Text = "Watch Dogs: Legion now released", Community = gaming, User = rearwindowowl
            };
            rearwindowowl.Posts.Push(post20); gaming.Posts.Push(post20);
            #endregion
        }