public UserRegistrationService()
 {
     UnitOfWork    = new CoreUnitOfWork();
     UserBiz       = new UserBiz(UnitOfWork);
     MembershipBiz = new MembershipBiz(UnitOfWork);
     Logger        = new ExceptionLogBiz(UnitOfWork);
 }
        public void RegisterLegalPerson(LegalPersonDataContract legalPersonDataContract, string password)
        {
            var person = legalPersonDataContract.ToLegalPerson();

            LegalPersonBiz.Create(person);
            MembershipBiz.CreateMembershipForPerson(person, password);
            _context.SaveChanges();
        }
        public int SetNewActivationCode(string email)
        {
            var verficationCode = MembershipBiz.SetNewVerificationCode(email);

            _context.SaveChanges();

            return(verficationCode);
        }
        public bool ActivateAccount(string email, int activationCode)
        {
            var result = MembershipBiz.ActivateAccount(email, activationCode);

            _context.SaveChanges();

            return(result);
        }
 public UserManagementDomainService()
 {
     _context         = new WindowsStoreContext();
     NaturalPersonBiz = new NaturalPersonBiz(_context);
     LegalPersonBiz   = new LegalPersonBiz(_context);
     MembershipBiz    = new MembershipBiz(_context);
     PersonBiz        = new PersonBiz(_context);
     RoleBiz          = new RoleBiz(_context);
 }
 public UserProfileService()
 {
     UnitOfWork           = new CoreUnitOfWork();
     UserBiz              = new UserBiz(UnitOfWork);
     MembershipBiz        = new MembershipBiz(UnitOfWork);
     ProfileBiz           = new ProfileBiz(UnitOfWork);
     ArticleBiz           = new ArticleBiz(UnitOfWork);
     BlogBiz              = new BlogBiz(UnitOfWork);
     EducationalResumeBiz = new EducationalResumeBiz(UnitOfWork);
     VisitBiz             = new VisitBiz(UnitOfWork);
     JobResumeBiz         = new JobResumeBiz(UnitOfWork);
     FollowBiz            = new FollowBiz(UnitOfWork);
 }
        public void ResetPassword(int userId, Guid passwordResetToken, string newPassword)
        {
            var membership = MembershipBiz.ReadSingleOrDefault(m => m.Id == userId && m.PasswordResetToken == passwordResetToken);

            if (membership == null)
            {
                throw new BusinessException("InvalidPasswordLink");
            }

            membership.Password = newPassword.ComputeSha256Hash();
            membership.LastPasswordChangedDate = DateTime.Now;
            membership.PasswordResetToken      = null; // Invalidate Password Reset Token
            UnitOfWork.SaveChanges();
        }
        public void ActivateAccount(int userId, Guid verificationCode)
        {
            var membership = MembershipBiz.ReadSingleOrDefault(m => m.Id == userId && m.VerificationCode == verificationCode);

            if (membership == null || membership.IsApproved)
            {
                throw new BusinessException("InvalidAccountActivationInfo".Localize());
            }
            if (membership.VerificationCodeSendDate < DateTime.Now.AddDays(-7))
            {
                throw new BusinessException("AccountActivationLinkHasExpired".Localize());
            }
            membership.IsApproved = true;
            UnitOfWork.SaveChanges();
        }
        public void SendPasswordResetEmail(string email)
        {
            email = email.Trim().ToLower();
            var membership = MembershipBiz.Include(u => u.User).SingleOrDefault(m =>
                                                                                m.User.Email == email &&
                                                                                //m.IsApproved &&
                                                                                !m.IsLockedOut);

            if (membership == null)
            {
                return;
            }

            membership.PasswordResetToken = Guid.NewGuid();
            UnitOfWork.SaveChanges();
            SendPasswordResetEmail(membership.User, membership);
        }
        public void RegisterUser(UserRegistrationPM userRegistrationPM, bool sendConfirmationEmail)
        {
            var user       = UserBiz.CreateUser(userRegistrationPM.GetUser());
            var membership = MembershipBiz.CreateMembershipForNewUser(user, userRegistrationPM.Password);

            if (sendConfirmationEmail)
            {
                try
                {
                    SendActivationEmail(user, membership);
                }
                catch (Exception ex)
                {
                    Logger.AddException(ex, "signIn");
                }
            }
            UnitOfWork.SaveChanges();
        }
        public void RegisterNaturalPerson(NaturalPersonDataContract naturalPersonDataContract, string password, string[] userRoles)
        {
            // Create User
            var person = NaturalPersonBiz.Create(naturalPersonDataContract.ToNaturalPerson());

            MembershipBiz.CreateMembershipForPerson(person, password);

            // Assign Roles
            if (userRoles.Count() > 0)
            {
                RoleBiz
                .Where(role => userRoles.Contains(role.Name))
                .ToList()
                .ForEach(role => person.Roles.Add(role));
            }

            //
            _context.SaveChanges();
        }
 public void UpdateUserPassword(int userId, string currentPassword, string newPassword)
 {
     MembershipBiz.UpdateUserPassword(userId, currentPassword, newPassword);
     UnitOfWork.SaveChanges();
 }
 public bool IsPasswordResetTokenValid(int userId, Guid passwordResetToken)
 {
     return(MembershipBiz.Any(membership => membership.Id == userId && membership.PasswordResetToken == passwordResetToken));
 }
 public bool ExistEmail(string email)
 {
     return(MembershipBiz.ExistEmail(email));
 }