Exemplo n.º 1
0
        public async Task Seed()
        {
            // Don't change the order of the calls
            await SeedUsers();
            await SeedStores();
            await SeedCategories();
            await SeedProducts();
            await SeedProductInStores();
            await SeedStoreHasCategories();

            // Commit changes
            await db.SaveChangesAsync();
        }
Exemplo n.º 2
0
            public async Task <Result> Handle(Command request, CancellationToken cancellationToken)
            {
                // Verify if there's any user with the same e-mail
                var userSameEmail = await db.Users
                                    .Where(x => x.DeletedAt == null)
                                    .FirstOrDefaultAsync(x => x.Email.Equals(request.Email, StringComparison.InvariantCultureIgnoreCase));

                if (userSameEmail != null)
                {
                    throw new ConflictException(new ErrorInformation {
                        Message = "User with same e-mail already exists"
                    });
                }
                // Create password information
                var salt = Guid.NewGuid().ToByteArray();
                var hash = CoffeeHasher.HashWithSalt(request.Password, salt);
                // Create the user
                var user = new User
                {
                    Id           = Guid.NewGuid(),
                    Name         = request.Name,
                    Email        = request.Email,
                    PasswordSalt = salt,
                    PasswordHash = hash,
                    // Metadata
                    CreatedAt = DateTime.Now,
                };
                // Save the user to database
                await db.Users.AddAsync(user);

                await db.SaveChangesAsync();

                // Return result
                return(new Result {
                    Id = user.Id
                });
            }