public override bool ValidateUser(string email, string password)
 {
     userService = (IService<UserEntity>)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IService<UserEntity>));
        var user = userService.GetAllEntities().FirstOrDefault(u => u.Email == email);
        return user != null && Crypto.VerifyHashedPassword(user.Password, password);
 }
        public MembershipUser CreateUser(string email, string password)
        {
            userService = (IService<UserEntity>)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IService<UserEntity>));
            roleService = (IService<RoleEntity>)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IService<RoleEntity>));
            MembershipUser membershipUser = GetUser(email, false);
            if (membershipUser != null)
                return null;
                var user = new UserEntity
                {
                    Email = email,
                    Password = Crypto.HashPassword(password),
                    Files = new List<FileEntity>(),
                    Roles = new List<RoleEntity>(),
                    Profile = new ProfileEntity{Age=0,FirstName = "Noname",LastName = "Noname",LastUpdate = DateTime.Now}
                };

                var role = roleService.GetAllEntities().FirstOrDefault(r => r.Name == "User");
                if (role != null)
                {
                    user.Roles.Add(role);
                }
                userService.Create(user);
                membershipUser = GetUser(email, false);
                return membershipUser;
        }
 public override MembershipUser GetUser(string email, bool userIsOnline)
 {
     userService = (IService<UserEntity>)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IService<UserEntity>));
     var user = userService.GetAllEntities().FirstOrDefault(u => u.Email == email);
     if (user == null) return null;
     var memberUser = new MembershipUser("CustomMembershipProvider", user.Email,
         null, null, null, null,
         false, false, DateTime.Now, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue);
     return memberUser;
 }