public async Task <ApplicationUser> RegisterNewUser(string username, string displayName, string email, string password)
        {
            this.ValidateUserPassword(password);

            ApplicationUser user = await authManager.FindByNameAsync(username);

            user = await ValidateIfUserAlreadyExists(email, user);

            user = this.PopulateUserData(username, displayName, email, DateTime.Now);

            await authManager.CreateAsync(user, password);

            await authManager.AddToRoleAsync(user, "RegisteredUser");

            await context.SaveChangesAsync();

            return(user);
        }