protected override void Seed(BookingsDbContext context)
        {
            var random            = new Random();
            var addressGenerator  = new AddressGenerator();
            var userNameGenerator = new UserNameGenerator();
            var passportGenerator = new PassportGenerator();

            for (int i = 0; i < 60; i++)
            {
                var fromDate = DateTime.Today.AddDays(random.Next(-2, 5));
                var toDate   = fromDate.AddDays(random.Next(1, 5));

                context.Bookings.Add(new Booking
                {
                    CustomerId   = "Cust-10" + i,
                    CustomerName = userNameGenerator.GetName(),
                    Address      = addressGenerator.GetAddress(),
                    From         = fromDate,
                    To           = toDate,
                    Passport     = passportGenerator.GetPassport(),
                    Amount       = random.Next(10, 40) * 100
                });
            }

            context.SaveChanges();

            base.Seed(context);
        }
예제 #2
0
        protected override void Seed(BookingsDbContext context)
        {
            var random               = new Random();
            var addressGenerator     = new AddressGenerator();
            var userNameGenerator    = new UserNameGenerator();
            var passportGenerator    = new PassportGenerator();
            var cultureCodeGenerator = new CultureGenerator();

            for (int i = 0; i < 8; i++)
            {
                var fromDate = DateTime.Today;
                var toDate   = fromDate.AddDays(random.Next(1, 5));

                context.Bookings.Add(new Booking
                {
                    CustomerId   = "Cust-10" + i,
                    CustomerName = userNameGenerator.GetName(),
                    Address      = addressGenerator.GetAddress(),
                    From         = fromDate,
                    To           = toDate,
                    Passport     = passportGenerator.GetPassport(),
                    Amount       = random.Next(10, 40) * 100,
                    Type         = "CheckIn",
                    Culture      = cultureCodeGenerator.Cultures[random.Next(0, cultureCodeGenerator.Cultures.Count - 1)]
                });
            }

            for (int i = 0; i < 8; i++)
            {
                var fromDate = DateTime.Today.AddDays(random.Next(-5, -2));
                var toDate   = DateTime.Today;

                context.Bookings.Add(new Booking
                {
                    CustomerId   = "Cust-10" + i,
                    CustomerName = userNameGenerator.GetName(),
                    Address      = addressGenerator.GetAddress(),
                    From         = fromDate,
                    To           = toDate,
                    Passport     = passportGenerator.GetPassport(),
                    Amount       = random.Next(10, 40) * 100,
                    Type         = "CheckOut",
                    Culture      = cultureCodeGenerator.Cultures[random.Next(0, cultureCodeGenerator.Cultures.Count - 1)]
                });
            }

            context.SaveChanges();

            base.Seed(context);
        }
예제 #3
0
        public async Task<IActionResult> MassUpload(int id, string roleToReg, [FromForm]XlsForUploadDto xlsForUploadDto){

            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
                return Unauthorized();

            Stream stream = xlsForUploadDto.File.OpenReadStream();
            UserParams userParams = new UserParams();
            userParams.RoleName = roleToReg;

            List<string> cohorts = new List<string>();
            List<string> lastNames = new List<string>();
            List<string> firstNames = new List<string>();
            List<string> emails = new List<string>();
            List<string> streetAdress = new List<string>();
            List<string> city = new List<string>();
            List<User> userList = new List<User>();
            List<string> userNames = new List<string>();
            var usersFromDb = _context.Users.ToList();
            int it = 1;

            using (var reader = new StreamReader(stream))
                {
                    while (!reader.EndOfStream)
                    {
                        var line = reader.ReadLine();
                        var values = line.Split(',');

                        cohorts.Add(values[0]);
                        lastNames.Add(values[1]);
                        firstNames.Add(values[2]);
                        emails.Add(values[9]);
                        streetAdress.Add(values[11]);
                        city.Add(values[12]);
                    }
                    Console.WriteLine("Stop");       
                }

                while(it <= lastNames.Count)
                {
                    // if (firstNames[it] == "Eamon")
                    // {
                    //     Console.WriteLine("Test");
                    // }
                    if (lastNames[it] != "")
                    {
                        string userName = UserNameGenerator.ReturnUserName(firstNames[it], lastNames[it], usersFromDb, userNames).Trim();
                        userNames.Add(userName);
                        string sL = StudLevCalc.ReturnStudLev(cohorts, it);
                        string pw = UserNameGenerator.ReturnPassword(streetAdress[it], city[it]).Trim();
                        
                        UserForRegisterDto userFromFile = new UserForRegisterDto
                        {
                            FirstName = firstNames[it].Trim(),
                            LastName = lastNames[it].Trim(),
                            Email = emails[it].Trim(),
                            StudentLevel = sL,
                            Username = userName,
                            Password = pw,
                        };

                        var userToCreate = _mapper.Map<User>(userFromFile);

                        var assignments = await _context.Assignments.Where(a => a.StudentLevel == userToCreate.StudentLevel).ToListAsync();

                        var result = await _userManager.CreateAsync(userToCreate, userFromFile.Password);

                        var userToReturn = _mapper.Map<UserForDetailedDto>(userToCreate);

                        if (result.Succeeded)
                        {
                            foreach(var assignment in assignments)
                            {
                                var userAssignment = new UserAssignment
                                {
                                    UserId = userToReturn.Id,
                                    AssignmentId = assignment.Id,
                                    Completed = false
                                };
                                _context.Add(userAssignment);
                            }

                            switch (roleToReg)
                            {
                                case "student":
                                    _userManager.AddToRolesAsync(userToCreate, new [] {"Student"}).Wait();
                                    break;
                                
                                case "tutor":
                                    _userManager.AddToRolesAsync(userToCreate, new [] {"Tutor"}).Wait();
                                    break;

                                case "mentor":
                                    _userManager.AddToRolesAsync(userToCreate, new [] {"Mentor"}).Wait();
                                    break;

                                case "admin":
                                    _userManager.AddToRolesAsync(userToCreate, new [] {"Admin"}).Wait();
                                    break;
                            }
                        }
                    }
                    it++;
                }
               
            return Ok();
            throw new Exception("");
        }