private static void CreateAdminUser(FaToolIdentityDbContext context)
        {
            using (var store = new FaToolUserStore(context))
                using (var manager = new FaToolUserManager(store))
                {
                    var user = manager.FindByName(FaToolUsers.ADMIN);

                    if (user == null)
                    {
                        user = new FaToolUser(FaToolUsers.ADMIN);

                        user.Email     = "*****@*****.**";
                        user.FirstName = "FirstName";
                        user.LastName  = "LastName";
                        user.Company   = "Company";
                        user.Address   = "Address";
                        user.City      = "City";
                        user.ZipCode   = "ZipCode";
                        user.State     = "State";
                        user.Country   = Countries.Default.Code;

                        var result = manager.Create(user, "Admin123#");

                        if (result.Succeeded == false)
                        {
                            throw new ApplicationException(
                                      string.Format("Error creating admin user, reason: {0}.", result.Errors.FirstOrDefault()));
                        }

                        result = manager.AddToRoles(user.Id, FaToolRoles.Values.ToArray());

                        if (result.Succeeded == false)
                        {
                            throw new ApplicationException(
                                      string.Format("Error grant admin user to roles, reason: {0}.", result.Errors.FirstOrDefault()));
                        }
                    }
                }
        }
 public FaToolUserManager(FaToolUserStore store)
     : base(store)
 {
     UserValidator     = new FaToolUserValidator(this);
     PasswordValidator = new FaToolPasswordValidator();
 }