コード例 #1
0
ファイル: Program.cs プロジェクト: alexestevam/UsersVoice
        private static async Task CreateIdeaCommentsAsync(ICommandsDbContext commandsDbContext, IMediator bus)
        {
            var commentsCount = await commandsDbContext.IdeaComments.CountAsync("{}");
            if (commentsCount > 0)
                return;

            var users = await commandsDbContext.Users.Find("{}").Limit(100).ToListAsync();
            var ideas = await commandsDbContext.Ideas.Find("{}").ToListAsync();

            var usersIndex = 0;

            var commandHandler = new CreateIdeaCommentCommandHandler(commandsDbContext, bus);

            foreach (var idea in ideas)
                for (int i = 0; i != 5; ++i)
                {
                    var author = users[usersIndex++ % users.Count()];

                    var command = new CreateIdeaComment(Guid.NewGuid(), idea.Id, author.Id, RandomTextGenerator.GetRandomSentence(20));
                    await commandHandler.Handle(command);
                }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: alexestevam/UsersVoice
        private static async Task CreateUsersAsync(ICommandsDbContext commandsDbContext, IMediator bus)
        {
            var usersCount = await commandsDbContext.Users.CountAsync("{}");
            if (usersCount > 0)
                return;

            var firstNamesIndex = 0;
            var lastNamesIndex = 0;

            usersCount = 100;

            var firstNames =
                new string[]
                {
                    "John", "Paul", "Ringo", "Jack", "David", "Jim", "Johnny", "Brad", "Kim", "Jimmy", "Robert", "Freddy",
                    "Matthew", "Nicholas", "Mike"
                }.OrderBy(n => Guid.NewGuid()).ToArray();
            var lastNames =
                new string[]
                {
                    "Jones", "Mercury", "Starr", "Page", "Pitt", "Cage", "Bones", "Doe", "Bonham", "White", "Plant",
                    "Portnoy", "Grohl", "May"
                }.OrderBy(n => Guid.NewGuid()).ToArray();

            var commandHandler = new CreateUserCommandHandler(commandsDbContext, bus);

            var command = new CreateUser(Guid.NewGuid(), "admin", "admin", "*****@*****.**", true);
            await commandHandler.Handle(command);

            command = new CreateUser(Guid.NewGuid(), "user", "user", "*****@*****.**");
            await commandHandler.Handle(command);

            for (int i = 0; i < usersCount; i++)
            {
                var firstName = firstNames[(firstNamesIndex++) % firstNames.Length];
                var lastName = lastNames[(lastNamesIndex++) % lastNames.Length];

                var username = string.Format("{0}.{1}", firstName, lastName).ToLower();
                var email = string.Format("{0}@email.com", username);
                if (await FindUserByEmailAsync(commandsDbContext.Users, email))
                {
                    var count = 0;
                    while (true)
                    {
                        email = string.Format("{0}{1}@email.com", username, ++count);
                        if (!await FindUserByEmailAsync(commandsDbContext.Users, email))
                            break;

                        if (count > 1000)
                        {
                            email = string.Empty;
                            break;
                        }
                    }
                }

                if (string.IsNullOrWhiteSpace(email))
                    continue;

                command = new CreateUser(Guid.NewGuid(), firstName, lastName, email);
                await commandHandler.Handle(command);
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: alexestevam/UsersVoice
        private static async Task CreateAreasAsync(ICommandsDbContext commandsDbContext, IMediator bus)
        {
            var areasCount = await commandsDbContext.Ideas.CountAsync("{}");
            if (areasCount > 0)
                return;

            var users = await commandsDbContext.Users.Find("{}").Limit(100).ToListAsync();

            var usersIndex = 0;

            areasCount = 50;
            
            var commandHandler = new CreateAreaCommandHandler(commandsDbContext, bus);

            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Canteen");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Dell @ Limerick");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Dell Sales Application");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Employee Resource Group");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Global Operations");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "IT");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Sports & Social");
            usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, "Tech Central");
            //for (int i = 0; i != areasCount; ++i)
            //{
            //    var title = RandomTextGenerator.GetRandomSentence(5);
            //    usersIndex = await CreateAreaAsync(users, usersIndex, commandHandler, title);
            //}
        }