コード例 #1
0
        public static LoginResult SignupUser(string FirstName, string MiddleName, string LastName, string EmailAddress, string Password, int?UserType)
        {
            LoginResult loginResult = new LoginResult();
            User        user        = new User();

            try
            {
                user.FirstName     = FirstName.Trim();
                user.MiddleName    = MiddleName.Trim();
                user.LastName      = LastName.Trim();
                user.Email         = EmailAddress.Trim();
                user.Password      = EncryptionHelper.Encryptdata(Password);
                user.StateId       = 1;
                user.SecQuestionId = 1;
                user.AccountRefId  = 1;
                user.UserType      = UserType;
                user.CompanyId     = SessionWrapper.LoggedUser != null ? SessionWrapper.LoggedUser.CompanyId : null;
                user.IsActive      = false;
                user.CreatedDate   = DateTime.Now;
                Guid activationCode = CheckIfActivationCodeExist(Guid.NewGuid());
                user.ActivationCode = activationCode;


                Repository <User> userRep = new Repository <User>();
                userRep.Add(user);
                userRep.Save();

                //if (UserType == (int)UserTypeEnum.ADMIN)
                //{
                //    Repository<User> userRepo = new Repository<User>("Email");
                //    SessionWrapper.LoggedUser = userRepo.SelectByKey(EmailAddress);
                //}

                loginResult.Success = false;
                loginResult.Message = "Successfully registered eknowId account for user " + FirstName.Trim() + " " + LastName.Trim() + ", an account activation link sent to email address - " + EmailAddress;

                StringBuilder emailBody = new StringBuilder(ConstructMail.GetMailBody(Constant.REGISTRATION_SUCCESS));
                emailBody = emailBody.Replace(Constant.CONST_FIRSTNAME, user.FirstName);
                emailBody = emailBody.Replace(Constant.CONST_LASTNAME, user.LastName);
                emailBody = emailBody.Replace(Constant.CONST_USEREMAILID, user.Email);
                emailBody = emailBody.Replace(Constant.CONST_USERPASSWORD, Password);
                emailBody = emailBody.Replace("[HOST]", Constant.Host);
                emailBody = emailBody.Replace("[ACTIVATIONCODE]", user.ActivationCode.ToString());

                SendMail.Sendmail(user.Email, Constant.CONST_REGISTRATION_SUBJECT, emailBody.ToString());

                //SendUserActivationEmail(user);
            }
            catch { }
            return(loginResult);
        }
コード例 #2
0
        public static LoginResult SignupUserWithLinkedIn(string FirstName, string MiddleName, string LastName, string EmailAddress, int accountRefId)
        {
            LoginResult loginResult = new LoginResult();

            loginResult.Success = false;
            try
            {
                User users = UserAuthentication.GetUserByEmailId(EmailAddress);
                if (users == null)
                {
                    User user = new User();
                    user.FirstName  = FirstName.Trim();
                    user.MiddleName = MiddleName.Trim();
                    user.LastName   = LastName.Trim();
                    user.Email      = EmailAddress.Trim();
                    string Password = (Guid.NewGuid().ToString()).Substring(0, 8);
                    user.Password = EncryptionHelper.Encryptdata(Password);
                    //user.StateId = 1;
                    user.SecQuestionId = 1;
                    user.AccountRefId  = accountRefId;
                    user.CreatedDate   = DateTime.Now;
                    user.IsActive      = true;
                    user.UserType      = (int)UserTypeEnum.ADMIN;

                    Repository <User> userRep = new Repository <User>();
                    userRep.Add(user);
                    userRep.Save();

                    users = UserAuthentication.GetUserByEmailId(EmailAddress);
                    SessionWrapper.LoggedUser = users;
                    loginResult.Success       = true;
                }
                else
                {
                    if (users.AccountRefId == accountRefId)
                    {
                        SessionWrapper.LoggedUser = users;
                        loginResult.Success       = true;
                    }
                }
            }
            catch { }

            return(loginResult);
        }
コード例 #3
0
        public static ForgotPasswordInfo SetForgotPassword(string forgotID, string newPassword)
        {
            ForgotPasswordInfo forgotPasswordInfo = new ForgotPasswordInfo();


            Repository <ForgotPassword> forgotPasswordRep = new Repository <ForgotPassword>("ForgotPasswordId");
            ForgotPassword forgotPassword = forgotPasswordRep.SelectByKey(forgotID.ToString());

            if (forgotPassword.IsUsed == true || 24 < DateTime.Now.Subtract(forgotPassword.ForgotDate).TotalHours)
            {
                forgotPasswordInfo.Success = false;
                return(forgotPasswordInfo);
            }

            Repository <User> userRep = new Repository <User>("UserId");
            User users = userRep.SelectByKey(forgotPassword.UserId.ToString());

            if (users != null)
            {
                users.Password      = EncryptionHelper.Encryptdata(newPassword);
                users.LastLoginDate = DateTime.Now;
                userRep.Save();

                forgotPassword.IsUsed = true;
                forgotPasswordRep.Save();
            }
            forgotPasswordInfo.Success = true;

            StringBuilder emailBody = new StringBuilder(ConstructMail.GetMailBody(Constant.RESET_PASSWORD));

            emailBody = emailBody.Replace(Constant.CONST_FIRSTNAME, users.FirstName);
            emailBody = emailBody.Replace(Constant.CONST_LASTNAME, users.LastName);
            emailBody = emailBody.Replace(Constant.CONST_USEREMAILID, users.Email);
            SendMail.Sendmail(users.Email, Constant.CONST_PASSWORD_CHANGE_NOTIFICATION_SUBJECT, emailBody.ToString());
            //sendPasswordChangedNotificationEmail
            return(forgotPasswordInfo);
        }