Exemple #1
0
        private void SeedBooks(BookeNeestDbContext dbContext, int amount)
        {
            var available = dbContext.Books.Count();

            if (available >= amount)
            {
                return;
            }

            var randomizer = new Random((int)DateTime.Now.Ticks);

            for (int i = 0; i < amount; i++)
            {
                Book book = new Book
                {
                    Id              = Guid.NewGuid(),
                    ISBN            = Guid.NewGuid().ToString(),
                    Name            = $"[Book {RomanNumEx.ToRoman(randomizer.Next(10, 99))}-{RomanNumEx.ToRoman(randomizer.Next(100, 999))}]",
                    Rating          = randomizer.Next(11),
                    PagesTotal      = randomizer.Next(1500),
                    PublicationDate = DateTime.Today.ToLongDateString(),
                    Description     = "This book is amazing!!! Bla bla bla-a-a...",
                    Genres          = new List <Genre>()
                    {
                        new Genre
                        {
                            Id          = Guid.NewGuid(),
                            Name        = $"Weirdo Genro №{randomizer.Next(10000, 99999)}",
                            Description = "Something re-e-ally weirdo!"
                        },
                        new Genre
                        {
                            Id          = Guid.NewGuid(),
                            Name        = $"Mainstream Genre №{randomizer.Next(10000, 99999)}",
                            Description = "You dare to ask for it?"
                        },
                    },

                    Authors = new List <Author>()
                };

                for (int j = 0; j < book.Rating; j++)
                {
                    var name     = $"Charles {RomanNumEx.ToRoman(randomizer.Next(10, 99))}";
                    var existing = dbContext.Authors.FirstOrDefault(a => a.Name == name);
                    book.Authors.Add(existing ?? new Author()
                    {
                        Id    = Guid.NewGuid(),
                        Name  = name,
                        About = "Almighty king of... what country?"
                    });
                }

                dbContext.Books.Add(book);
            }

            dbContext.SaveChanges();
        }
Exemple #2
0
        public static void Main(string[] args)
        {
            BookeNeestDbContext dbContext = new BookeNeestDbContext();

            //dbContext.Database.Delete();
            //dbContext.Database.

            //UserManager<User> manager = new UserManager<User>(new UserStore<User>(dbContext));

            //using (UnitOfWork Unit = new UnitOfWork())
            //{

            //    var randomizer = new Random();
            //    Book book1 = new Book { Id = Guid.NewGuid(), Name = "[Book 1] " + Guid.NewGuid().ToString(), ISBN = Guid.NewGuid().ToString(), Rating = randomizer.Next(10) + 1};
            //    Book book2 = new Book { Id = Guid.NewGuid(), Name = "[Book 2] " + Guid.NewGuid().ToString(), ISBN = Guid.NewGuid().ToString(), Rating = randomizer.Next(10) + 1};
            //    Book book3 = new Book { Id = Guid.NewGuid(), Name = "[Book 3] " + Guid.NewGuid().ToString(), ISBN = Guid.NewGuid().ToString(), Rating = randomizer.Next(10) + 1};

            //    Unit.BookRepository.Add(book1);
            //    Unit.BookRepository.Add(book2);
            //    Unit.BookRepository.Add(book3);

            //    Unit.Commit();
            //    //Unit.Discard();

            //    var books = dbContext.Books;

            //    foreach (var book in books)
            //    {
            //        Console.WriteLine("Book ID: " + book.Id);
            //        Console.WriteLine("Name: " + book.Name);
            //        Console.WriteLine("ISBN: " + book.ISBN);
            //        Console.WriteLine("Rating: " + book.Rating);
            //        Console.WriteLine("-----------------------------------------------\n");
            //    }
            //}
        }
 public ReviewRepository(BookeNeestDbContext dbContext) : base(dbContext)
 {
 }
 public AuthorRepository(BookeNeestDbContext dbContext) : base(dbContext)
 {
 }
Exemple #5
0
 public TagRepository(BookeNeestDbContext dbContext) : base(dbContext)
 {
 }
Exemple #6
0
 public UnitOfWork()
 {
     _dbContext = new BookeNeestDbContext();
 }
Exemple #7
0
 public RepositoryBase(BookeNeestDbContext dbContext)
 {
     _dbContext = dbContext;
 }
 public GenreRepository(BookeNeestDbContext dbContext) : base(dbContext)
 {
 }
Exemple #9
0
        private void SeedRolesAndUsers(BookeNeestDbContext dbContext)
        {
            var userStore = new UserStore <User, Role, Guid, UserLogin, UserRole, UserClaim>(dbContext);
            var roleStore = new RoleStore <Role, Guid, UserRole>(dbContext);

            var userManager = new UserManager <User, Guid>(userStore);
            var roleManager = new RoleManager <Role, Guid>(roleStore);

            // Seeding Roles:
            if (!roleManager.RoleExists(BookeNeestUserRoles.Admin))
            {
                roleManager.Create(new Role()
                {
                    Id = Guid.NewGuid(), Name = BookeNeestUserRoles.Admin
                });
            }

            if (!roleManager.RoleExists(BookeNeestUserRoles.Critic))
            {
                roleManager.Create(new Role()
                {
                    Id = Guid.NewGuid(), Name = BookeNeestUserRoles.Critic
                });
            }

            if (!roleManager.RoleExists(BookeNeestUserRoles.Reader))
            {
                roleManager.Create(new Role()
                {
                    Id = Guid.NewGuid(), Name = BookeNeestUserRoles.Reader
                });
            }

            var adminRole = roleManager.FindByName(BookeNeestUserRoles.Admin);

            // Seeding admin account:
            var users = userManager.Users;

            if (users.Any(user => user.Roles.Any(role => role.RoleId == adminRole.Id)) == false)
            {
                var admin = userManager.FindByName("Xander");

                if (admin != null)
                {
                    userManager.Delete(admin);
                }

                admin = new User()
                {
                    Id             = Guid.NewGuid(),
                    UserName       = "******",
                    FirstName      = "A",
                    LastName       = "D",
                    Email          = "*****@*****.**",
                    EmailConfirmed = true,
                    About          = "The almighty governor of this site"
                };
                var password = "******";


                var result = userManager.Create(admin, password);

                if (result.Succeeded)
                {
                    userManager.AddToRoles(admin.Id, BookeNeestUserRoles.Admin, BookeNeestUserRoles.Critic);
                }
                else
                {
                    StringBuilder bldr = new StringBuilder();
                    bldr.Append("Errors:");
                    foreach (var err in result.Errors)
                    {
                        bldr.Append("\n" + err);
                    }

                    throw new Exception("Failed to create BookeNeest administrator!\n" + bldr);
                }

                dbContext.SaveChanges();
            }

            //store.Dispose();
            //manager.Dispose();
        }