public UserService(IConfiguration config,
                    IHttpContextAccessor contextAccessor,
                    SimpleStoreContext context)
 {
     _config          = config;
     _contextAccessor = contextAccessor;
     _context         = context;
 }
        public SeedData(SimpleStoreContext context,
                        UserManager <SimpleStoreUser> usermanager,
                        RoleManager <IdentityRole> rolemanager)
        {
            _context     = context;
            _usermanager = usermanager;
            _rolemanager = rolemanager;

            _context.Database.EnsureCreated();
        }
        public void TestSimpleStoreContext()
        {
            // Arrange


            // Act
            SimpleStoreContext simpleStoreContext = this.CreateSimpleStoreContext();

            // Assert

            Assert.IsTrue(simpleStoreContext.Products != null);
            Assert.IsTrue(simpleStoreContext.OrderInvoices != null);
            Assert.IsTrue(simpleStoreContext.ProductsCategories != null);
            Assert.IsTrue(simpleStoreContext.OrderInvoices != null);
        }
Esempio n. 4
0
        public static void Seed(SimpleStoreContext context)
        {
            var conn = (NpgsqlConnection)context.Database.GetDbConnection();

            // Do not change DB if it has been initiated
            if (IsDBInitiated(conn))
            {
                return;
            }

            // Create table structure
            using (var cmd = new NpgsqlCommand(@"CREATE TABLE IF NOT EXISTS StoreItems(
                        id uuid,
                        title varchar(50) NOT NULL,
                        description varchar(255),
                        isAvailable boolean NOT NULL,
                        price decimal NOT NULL,
                        PRIMARY KEY (id)
               );", conn))
            {
                cmd.ExecuteNonQuery();
            }

            using (var cmd = new NpgsqlCommand(@"CREATE TABLE IF NOT EXISTS Users(
                        id uuid,
                        firstName varchar(128) NOT NULL,
                        lastName varchar(128) NOT NULL,
                        username varchar(128) NOT NULL,
                        isAdmin boolean NOT NULL,
                        passwordHash varchar(512) NOT NULL,
                        PRIMARY KEY (id)
               );", conn))
            {
                cmd.ExecuteNonQuery();
            }

            // Seed data
            var users = new List <User>
            {
                new User
                {
                    Id           = Guid.NewGuid(),
                    FirstName    = "Admin",
                    LastName     = "Adminson",
                    IsAdmin      = true,
                    UserName     = "******",
                    PasswordHash = UserService.GetPasswordHash("admin")
                },
                new User
                {
                    Id           = Guid.NewGuid(),
                    FirstName    = "User",
                    LastName     = "Userson",
                    IsAdmin      = false,
                    UserName     = "******",
                    PasswordHash = UserService.GetPasswordHash("user")
                }
            };

            var items = new List <StoreItem>();

            for (int i = 0; i < 8; i++)
            {
                items.Add(new StoreItem
                {
                    Id          = Guid.NewGuid(),
                    Title       = $"Item {i}",
                    Description = $"Test Item {i}",
                    Price       = i * 13.5m,
                    IsAvailable = i % 3 != 0
                });
            }

            context.Users.AddRange(users);
            context.StoreItems.AddRange(items);
            context.SaveChanges();
        }
 public StoreItemsService(SimpleStoreContext context) => _context = context;