예제 #1
0
        private void AddUsers() {
            UserStore<User> userStore = new UserStore<User>(new HyveDbContext());
            UserManager<User> userManager = new UserManager<User>(userStore);

            string user1Username = "******";
            User user1 = userManager.FindByName(user1Username);
            if (user1 == null) {
                IdentityResult result = userManager.Create(new User() {
                    UserName = user1Username,
                    Email = "*****@*****.**",
                    PasswordHash = new PasswordHasher().HashPassword("password"),
                    DateCreatedUtc = DateTime.Now,
                    DateUpdatedUtc = DateTime.Now,
                    Profile = null,
                    Posts = new List<Post>(),
                    Comments = new List<Comment>(),
                    Enabled = true,
                });
                if (result.Succeeded) {
                    User user = userManager.FindByName(user1Username);
                    userManager.AddToRole(user.Id, Roles.Administrator);
                    using (HyveDbContext db = new HyveDbContext()) {
                        db.Profiles.Add(new Profile() {
                            UserId = user.Id,
                            DateCreatedUtc = DateTime.Now,
                            DateUpdatedUtc = DateTime.Now,
                            Bio = $"This is the bio for {user1Username}.",
                        });
                        db.SaveChanges();
                    }
                }
            }

            string user2Username = "******";
            User user2 = userManager.FindByName(user2Username);
            if (user2 == null) {
                IdentityResult result = userManager.Create(new User() {
                    UserName = user2Username,
                    Email = "*****@*****.**",
                    PasswordHash = new PasswordHasher().HashPassword("password"),
                    DateCreatedUtc = DateTime.Now,
                    DateUpdatedUtc = DateTime.Now,
                    Enabled = true,
                });
                if (result.Succeeded) {
                    User user = userManager.FindByName(user2Username);
                    userManager.AddToRole(user.Id, Roles.Normal);
                    using (HyveDbContext db = new HyveDbContext()) {
                        db.Profiles.Add(new Profile() {
                            UserId = user.Id,
                            DateCreatedUtc = DateTime.Now,
                            DateUpdatedUtc = DateTime.Now,
                            Bio = $"This is the bio for {user2Username}.",
                        });
                        db.SaveChanges();
                    }
                }
            }
        }
예제 #2
0
        private void AddComments() {
            using (HyveDbContext db = new HyveDbContext()) {
                User user1 = db.Users.Where(x => x.UserName == "user1").First();
                User user2 = db.Users.Where(x => x.UserName == "user2").First();
                Post post = db.Posts.Where(x => x.Id == 1).First();
                
                Comment commentChild = new Comment() {
                    DateCreatedUtc = DateTime.Now,
                    DateUpdatedUtc = DateTime.Now,
                    Content = "This is your reply...",
                    Rating = 1,
                    Post = post,
                    CreatedBy = user2,
                    Comments = null,
                };

                Comment parentComment1 = new Comment() {
                    DateCreatedUtc = DateTime.Now,
                    DateUpdatedUtc = DateTime.Now,
                    Content = "Someone reply to me...",
                    Rating = 1,
                    Post = post,
                    CreatedBy = user1,
                    Comments = new List<Comment>() {
                        commentChild
                    },
                };

                Comment parentComment2 = new Comment() {
                    DateCreatedUtc = DateTime.Now,
                    DateUpdatedUtc = DateTime.Now,
                    Content = "A comment without a reply...",
                    Rating = 1,
                    Post = post,
                    CreatedBy = user2,
                    Comments = null,
                };

                List<Comment> comments = new List<Comment>() {
                    commentChild,
                    parentComment1,
                    parentComment2
                };

                db.Comments.AddRange(comments);
                post.Comments.Concat(comments);
                db.SaveChanges();
            }
        }
예제 #3
0
        private void AddPosts() {
            using (HyveDbContext db = new HyveDbContext()) {
                User user1 = db.Users.Where(x => x.UserName == "user1").First();

                for (int i = 0; i < 30; i++) {
                    db.Posts.Add(new Post() {
                        DateCreatedUtc = DateTime.Now,
                        DateUpdatedUtc = DateTime.Now,
                        Title = $"This is post #{i}",
                        LinkUrl = "https://www.google.com",
                        Rating = 1,
                        CreatedBy = user1,
                        Comments = new List<Comment>(),
                    });
                }

                db.SaveChanges();
            }
        }
예제 #4
0
 public UserStore(HyveDbContext dbContext) : base(dbContext)
 {
 }