Пример #1
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var comments = System.IO.File.ReadAllLines(CommentsFilePath);

            if (!context.Comments.Any())
            {
                var allDests = context.Destinations.ToList();

                foreach (var dest in allDests)
                {
                    var countComments = new Random().Next(1, 11);

                    for (int k = 0; k < countComments; k++)
                    {
                        //var socialization = new Random().Next(1, 3);
                        var randomUser = context.Users.OrderBy(x => Guid.NewGuid()).First();

                        var comment = new Comment
                        {
                            Comentator    = randomUser,
                            ComentatorId  = randomUser.Id,
                            Date          = DateTime.Now.AddSeconds(-k),
                            Destination   = dest,
                            DestinationId = dest.Id,
                            Content       = comments.OrderBy(x => Guid.NewGuid()).First()
                        };

                        await context.Comments.AddAsync(comment);

                        await context.SaveChangesAsync();
                    }
                    ;
                }
            }
        }
Пример #2
0
 public RegisterModel(
     UserManager <GoUser> userManager,
     SignInManager <GoUser> signInManager,
     ILogger <RegisterModel> logger,
     IEmailSender emailSender,
     GoDbContext db)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailSender   = emailSender;
     this.db        = db;
 }
Пример #3
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var rolAdminid = context.Roles.FirstOrDefault(r => r.Name == "Admin").Id;
            var adminId    = context.UserRoles.FirstOrDefault(u => u.RoleId == rolAdminid).UserId;

            if (!context.LevelsParticipants.Any())
            {
                var allGamess = context.Games.ToList();

                var gamesLevelUsers = new List <GameLevelParticipant>();

                foreach (var game in allGamess)
                {
                    var countParticipans = new Random().Next(1, 10);

                    var levelsGame = context.Levels.Where(x => x.GameId == game.Id).ToList();
                    for (int k = 0; k < countParticipans; k++)
                    {
                        var randomUser = context.Users.Where(x => x.Id != adminId).OrderBy(x => Guid.NewGuid()).First();

                        foreach (var level in levelsGame.OrderBy(x => x.NumberInGame))
                        {
                            var imageNumber = new Random().Next(1, 3);

                            if (gamesLevelUsers.FirstOrDefault(x => x.ParticipantId == randomUser.Id && x.LevelId == level.Id && x.GameId == game.Id) == null)
                            {
                                var gameLevelparticipant = new GameLevelParticipant
                                {
                                    GameId             = game.Id,
                                    Game               = game,
                                    LevelId            = level.Id,
                                    Level              = level,
                                    ParticipantId      = randomUser.Id,
                                    Participant        = randomUser,
                                    StatusLevel        = (StatusLevel)2,
                                    CorrespondingImage = File.ReadAllBytes(GamesImagesPath + imageNumber.ToString() + ".jpg")
                                };
                                gamesLevelUsers.Add(gameLevelparticipant);
                            }
                        }
                    }
                }

                await context.AddRangeAsync(gamesLevelUsers);

                await context.SaveChangesAsync();
            }
        }
Пример #4
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var stories = System.IO.File.ReadAllLines(StoriesFilePath);

            if (!context.Stories.Any())
            {
                var allDests = context.Destinations.ToList();

                foreach (var dest in allDests)
                {
                    var countStories = new Random().Next(1, 20);

                    for (int k = 0; k < countStories; k++)
                    {
                        //var socialization = new Random().Next(1, 3);
                        var randomUser = context.Users.OrderBy(x => Guid.NewGuid()).First();

                        var stor  = stories.OrderBy(x => Guid.NewGuid()).First();
                        var title = String.Join(" ", stor.Split(" ", StringSplitOptions.RemoveEmptyEntries).Take(3));

                        if (!context.Stories.Any(x => x.Content == stor && x.DestinationId == dest.Id))
                        {
                            var story = new Story
                            {
                                Author        = randomUser,
                                AuthorId      = randomUser.Id,
                                Destination   = dest,
                                DestinationId = dest.Id,
                                Content       = stor,
                                Title         = title
                            };

                            await context.Stories.AddAsync(story);

                            await context.SaveChangesAsync();
                        }
                    }
                    ;
                }
            }
        }
Пример #5
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app,
                                IHostingEnvironment env,
                                IServiceProvider serviceProvider,
                                GoDbContext context,
                                RoleManager<ApplicationRole> roleManager,
                                UserManager<GoUser> userManager)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

            });

            DummyData.Initialize(context, userManager, roleManager, serviceProvider).Wait(); //seed here

            app.UseSignalR(routes =>
            {
                routes.MapHub<ChatHub>("/chatHub");
            });
        }
Пример #6
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            if (!context.DestinationsUsers.Any())
            {
                var allDests = context.Destinations.ToList();

                foreach (var dest in allDests)
                {
                    var countParticipans = new Random().Next(1, 20);

                    for (int k = 0; k < countParticipans; k++)
                    {
                        var socialization = new Random().Next(1, 3);
                        var randomUser    = context.Users.OrderBy(x => Guid.NewGuid()).First();

                        var destUser = new DestinationsUsers
                        {
                            ParticipantId = randomUser.Id,
                            Participant   = randomUser,
                            DestinationId = dest.Id,
                            Destination   = dest,
                            Socialization = (Socialization)socialization
                        };
                        var userExist = context.DestinationsUsers
                                        .FirstOrDefault(x => x.DestinationId == dest.Id && x.ParticipantId == randomUser.Id);

                        if (userExist == null)
                        {
                            await context.DestinationsUsers.AddAsync(destUser);

                            await context.SaveChangesAsync();
                        }
                    }
                }
            }
        }
Пример #7
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            if (!context.CoursesUsers.Any())
            {
                var allCourses = context.Courses.ToList();

                foreach (var course in allCourses)
                {
                    var countParticipans = new Random().Next(1, course.MaxCountParticipants);

                    for (int k = 0; k < countParticipans; k++)
                    {
                        var statusUser = new Random().Next(1, 3);
                        var randomUser = context.Users.OrderBy(x => Guid.NewGuid()).First();

                        var courseUser = new CoursesUsers
                        {
                            ParticipantId = randomUser.Id,
                            Participant   = randomUser,
                            CourseId      = course.Id,
                            Course        = course,
                            StatusUser    = StatusParticitant.Unsuccessfully
                        };
                        var userExist = context.CoursesUsers
                                        .FirstOrDefault(x => x.CourseId == course.Id && x.ParticipantId == randomUser.Id);

                        if (userExist == null)
                        {
                            await context.CoursesUsers.AddAsync(courseUser);

                            await context.SaveChangesAsync();
                        }
                    }
                }
            }
        }
Пример #8
0
        //private readonly IServiceProvider provider;

        public static async Task Seed(IServiceProvider provider, GoDbContext context, UserManager <GoUser> userManager, RoleManager <ApplicationRole> roleManager)
        {
            //String adminId1 = "";
            //String adminId2 = "";

            string role1 = "Admin";
            string desc1 = "This is the administrator role";

            string role2 = "User";
            string desc2 = "This is the members role";

            //string password = "******";

            if (await roleManager.FindByNameAsync(role1) == null)
            {
                await roleManager.CreateAsync(new ApplicationRole(role1, desc1, DateTime.Now));
            }
            if (await roleManager.FindByNameAsync(role2) == null)
            {
                await roleManager.CreateAsync(new ApplicationRole(role2, desc2, DateTime.Now));
            }

            var sb = new StringBuilder();
            var dataDestinations = new List <string>();

            if (!context.Destinations.Any())
            {
                var owners = System.IO.File.ReadAllLines(DestinationsFilePath);
                var images = Directory.GetFiles(DestinationsImagesPath);



                for (int i = 0; i < owners.Length; i++)
                {
                    var names     = owners[i].Split(" ", StringSplitOptions.RemoveEmptyEntries);
                    var firstName = names[0];
                    var lastName  = names[1];
                    var email     = firstName + "." + lastName + "@" + "gmail.com";
                    var password  = firstName + "_" + lastName + "1";

                    var random = new Random().Next(0, 7);
                    var image  = images[random];

                    var user = new GoUser
                    {
                        UserName  = email,
                        FirstName = firstName,
                        LastName  = lastName,
                        Email     = email,
                        Image     = File.ReadAllBytes(image)
                    };

                    var result = await userManager.CreateAsync(user, password);

                    if (result.Succeeded)
                    {
                        if (i == 0)
                        {
                            await userManager.AddToRoleAsync(user, role1);
                        }
                        else
                        {
                            await userManager.AddToRoleAsync(user, role2);
                        }
                    }
                    //context.Users.Add(user);
                }
            }
            //context.SaveChanges();
        }
Пример #9
0
        //private readonly IServiceProvider provider;

        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var sb = new StringBuilder();
            var dataDestinations = new List <string>();

            if (!context.Destinations.Any())
            {
                var owners = System.IO.File.ReadAllLines(DestinationsFilePath);


                for (int i = 0; i < owners.Length; i++)
                {
                    if (owners[i] == "")
                    {
                        var dest = sb.ToString();
                        dataDestinations.Add(dest);
                        sb.Remove(0, sb.Length);
                    }
                    else
                    {
                        sb.AppendLine(owners[i]);
                    }
                }

                var destinations = new List <Destination>();

                for (int i = 0; i < dataDestinations.Count; i++)
                {
                    var titleAndContent = dataDestinations[i].Split(Environment.NewLine).ToArray();

                    var title    = titleAndContent[0];
                    var titleImg = new StringBuilder();
                    titleImg.Append(title);

                    if (title.Contains("\""))
                    {
                        titleImg.Clear();

                        for (int k = 0; k <= title.Length - 1; k++)
                        {
                            if (title[k] != '"')
                            {
                                titleImg.Append(title[k]);
                            }
                        }
                    }

                    var description = string.Join(Environment.NewLine, titleAndContent.Skip(1));
                    var imgPath     = DestinationsImagesPath + titleImg.ToString() + ".jpg";

                    var creator = context.Users.OrderBy(x => Guid.NewGuid()).First();

                    var random  = new Random().Next(1, 10);
                    var random1 = new Random().Next(1, 7);
                    var random2 = new Random().Next(1, 6);

                    var endDateToJoin = DateTime.Now.AddDays(random - random1);
                    var startDate     = DateTime.Now.AddDays(random);
                    var endDate       = DateTime.Now.AddDays(random + random2);

                    var randomLevel = new Random().Next(1, 3);

                    var destination = new Destination
                    {
                        Naame         = title,
                        Description   = description,
                        Image         = File.ReadAllBytes(imgPath),
                        Creator       = creator,
                        CreatorId     = creator.Id,
                        StartDate     = startDate,
                        EndDateToJoin = endDateToJoin,
                        EndDate       = endDate,
                        Level         = (LevelOfDifficulty)randomLevel
                    };

                    await context.Destinations.AddAsync(destination);
                }

                await context.SaveChangesAsync();
            }
        }
Пример #10
0
        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var sb        = new StringBuilder();
            var dataGames = new List <string>();

            if (!context.Games.Any())
            {
                var owners = System.IO.File.ReadAllLines(GamesFilePath);


                for (int i = 0; i < owners.Length; i++)
                {
                    if (owners[i] == "")
                    {
                        var game = sb.ToString();
                        dataGames.Add(game);
                        sb.Remove(0, sb.Length);
                    }
                    else
                    {
                        sb.AppendLine(owners[i]);
                    }
                }

                var games = new List <Game>();

                for (int i = 0; i < dataGames.Count; i++)
                {
                    var titleAndContent = dataGames[i].Split(Environment.NewLine).ToArray();

                    var title    = titleAndContent[0];
                    var titleImg = new StringBuilder();
                    titleImg.Append(title);

                    if (title.Contains("\""))
                    {
                        titleImg.Clear();

                        for (int k = 0; k <= title.Length - 1; k++)
                        {
                            if (title[k] != '"')
                            {
                                titleImg.Append(title[k]);
                            }
                        }
                    }

                    var gameDescription = string.Join(Environment.NewLine, titleAndContent.Skip(1).Take(1));
                    var level1Text      = string.Join(Environment.NewLine, titleAndContent.Skip(2).Take(1));
                    var level2Text      = string.Join(Environment.NewLine, titleAndContent.Skip(3).Take(1));
                    var level3Text      = string.Join(Environment.NewLine, titleAndContent.Skip(4).Take(1));

                    var creator = context.Users.OrderBy(x => Guid.NewGuid()).First();

                    var randomLevel1 = new Random().Next(1, 10);
                    var randomLevel2 = new Random().Next(3, 10);
                    var randomLevel3 = new Random().Next(5, 10);

                    var creatorId = context.UserRoles.FirstOrDefault(x => x.RoleId == context.Roles.FirstOrDefault(r => r.Name == "Admin").Id).UserId;

                    var game = new Game
                    {
                        Name        = title,
                        CreatorId   = creatorId,
                        Creator     = context.Users.FirstOrDefault(x => x.Id == creatorId),
                        Description = gameDescription,
                        Image       = File.ReadAllBytes(GamesImagesPath + "3" + ".jpg"),
                    };

                    await context.Games.AddAsync(game);

                    await context.SaveChangesAsync();


                    var level1 = new Level
                    {
                        Image        = File.ReadAllBytes(GamesImagesPath + "1" + ".jpg"),
                        Description  = level1Text,
                        Points       = randomLevel1,
                        NumberInGame = 1,
                        Game         = game,
                        GameId       = game.Id
                    };

                    var level2 = new Level
                    {
                        Image        = File.ReadAllBytes(GamesImagesPath + "2" + ".jpg"),
                        Description  = level2Text,
                        Points       = randomLevel2,
                        NumberInGame = 2,
                        Game         = game,
                        GameId       = game.Id
                    };

                    var level3 = new Level
                    {
                        Image        = File.ReadAllBytes(GamesImagesPath + "3" + ".jpg"),
                        Description  = level3Text,
                        Points       = randomLevel3,
                        NumberInGame = 3,
                        Game         = game,
                        GameId       = game.Id
                    };

                    context.Levels.Add(level1);
                    context.Levels.Add(level2);
                    context.Levels.Add(level3);
                }
                await context.SaveChangesAsync();
            }
        }
Пример #11
0
        //private readonly IServiceProvider provider;

        public static async Task Seed(IServiceProvider provider, GoDbContext context)
        {
            var sb          = new StringBuilder();
            var dataCourses = new List <string>();

            if (!context.Courses.Any())
            {
                var owners = System.IO.File.ReadAllLines(CoursesFilePath);


                for (int i = 0; i < owners.Length; i++)
                {
                    if (owners[i] == "")
                    {
                        var course = sb.ToString();
                        dataCourses.Add(course);
                        sb.Remove(0, sb.Length);
                    }
                    else
                    {
                        sb.AppendLine(owners[i]);
                    }
                }

                var courses = new List <Course>();

                for (int i = 0; i < dataCourses.Count; i++)
                {
                    var titleAndContent = dataCourses[i].Split(Environment.NewLine).ToArray();

                    var title    = titleAndContent[0];
                    var titleImg = new StringBuilder();
                    titleImg.Append(title);

                    if (title.Contains("\""))
                    {
                        titleImg.Clear();

                        for (int k = 0; k <= title.Length - 1; k++)
                        {
                            if (title[k] != '"')
                            {
                                titleImg.Append(title[k]);
                            }
                        }
                    }

                    int image;

                    var description = string.Join(Environment.NewLine, titleAndContent.Skip(1));

                    if (title == CourseName1)
                    {
                        image = 3;
                    }
                    else if (title == CourseName2)
                    {
                        image = 2;
                    }
                    else
                    {
                        image = 1;
                    }
                    var imgPath = CoursesImagesPath + image.ToString() + ".jpg";

                    var creator = context.Users.OrderBy(x => Guid.NewGuid()).First();

                    var random  = new Random().Next(1, 10);
                    var random1 = new Random().Next(random, random + 30);

                    var startDate = DateTime.Now.AddDays(random);

                    var randomStatus               = new Random().Next(1, 3);
                    var randomCategory             = new Random().Next(1, 5);
                    var randomMaxCountParticipants = new Random().Next(3, 20);


                    var course = new Course
                    {
                        Title                = title,
                        Description          = description,
                        Image                = File.ReadAllBytes(imgPath),
                        Creator              = creator,
                        CreatorId            = creator.Id,
                        StartDate            = DateTime.Now,//startDate,
                        DurationOfDays       = random,
                        CountOfHours         = random1,
                        MaxCountParticipants = randomMaxCountParticipants,
                        Status               = (Status)randomStatus,
                        Category             = (Category)randomCategory
                    };

                    if (i == 0)
                    {
                        course.StartDate      = DateTime.Now.AddDays(-3);
                        course.DurationOfDays = 2;
                    }
                    else if (i == 1)
                    {
                        course.StartDate      = DateTime.Now.AddDays(1);
                        course.DurationOfDays = 2;
                    }

                    await context.Courses.AddAsync(course);
                }

                await context.SaveChangesAsync();
            }
        }