public async Task CreateUsers(string email, string password, string firstName, string lastName, int groupId, List <string> roleNameList)
        {
            try
            {
                await _roles.GenerateRolesFromPagesAsync();

                ApplicationUser user = new ApplicationUser();
                user.Email          = email;
                user.UserName       = email;
                user.EmailConfirmed = true;

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

                if (result.Succeeded)
                {
                    //add to user profile
                    UserProfile profile = new UserProfile();
                    profile.FirstName         = firstName;
                    profile.LastName          = lastName;
                    profile.Email             = user.Email;
                    profile.ApplicationUserId = user.Id;
                    profile.GroupId           = groupId;
                    profile.ProfilePicture    = "/upload/" + groupId + ".png";
                    await _context.UserProfile.AddAsync(profile);

                    await _context.SaveChangesAsync();

                    foreach (string roleName in roleNameList)
                    {
                        await _roles.AddRoleByName(user.Id, roleName);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }