コード例 #1
0
ファイル: LoginUI.cs プロジェクト: trithien264/WebBase
        public string RegisterUsers(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "user_desc", "<n-lang code='REQUIRE_USER_DESC'>Nhập vào họ tên!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "email", "<n-lang code='REQUIRE_EMAIL'>Nhập vào thông tin Email!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "<n-lang code='REQUIRE_PASSWORD'>Nhập vào mật khẩu!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "textCaptChar", "Nhập vào mã xác nhận!!!");

            if (FnEncypt.rpHash(args["textCaptChar"].ToString()) != args["textCaptCharHash"].ToString())
            {
                throw new NService.NSInfoException("Mã xác thực không hợp lệ!!!");
            }



            string reg_code = Guid.NewGuid().ToString();

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));
            args.Add("reg_code", reg_code);

            //Get content config file
            string strFileActive = FnConfig.getFileConfig("Template", "User.ActiveAccount.html");
            Dictionary <string, object> dicAppsInfo = FnConfig.dicApps("Info");

            //Merge to Main Dic
            args = FnCommon.MergeDic(args, dicAppsInfo);
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));

            //Check Valid
            DataTable dtActive = DBHelper.Instance.Query("Apps.Manage.Base.Users.GetUserWaitingActive", args).Tables[0];

            if (dtActive.Rows.Count > 0)
            {
                throw new NService.NSInfoException("Email của bạn đã đăng ký, đang chờ được kích hoạt. Xin kiểm tra hộp thư của bạn");
            }

            DataTable dtUser = DBHelper.Instance.Query("Apps.Manage.Base.Users.GetUsersByEmail", args).Tables[0];

            if (dtUser.Rows.Count > 0)
            {
                throw new NService.NSInfoException("Email của bạn đã được đăng ký");
            }


            args["AppLinkActive"] = args["Config_AppLink"] + "/Apps/User/UserInfo.aspx#/activeusers/regcode/" + reg_code + "?email=" + args["email"].ToString();
            //Replace content email
            string str = FnCommon.ReplaceBetWeenStr(strFileActive, "===", args);

            args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());

            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.RegisterUsers", args);

            string subject = "Kích hoạt tài khoản " + dicAppsInfo["ShortAppName"].ToString();

            //Send Mail
            Tool.SendMail(dicAppsInfo["ShortAppName"].ToString(), subject, args["email"].ToString(), "", str, null);


            return("1");
        }
コード例 #2
0
ファイル: LoginUI.cs プロジェクト: trithien264/WebBase
        public string RegisterRecoveryPwd(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "email", "Nhập vào thông tin Email!!!");
            FnCommon.ThrowInfoIsEmpty(args, "textCaptChar", "Nhập vào mã xác nhận!!!");

            if (FnEncypt.rpHash(args["textCaptChar"].ToString()) != args["textCaptCharHash"].ToString())
            {
                throw new NService.NSInfoException("Mã xác thực không hợp lệ!!!");
            }

            string reg_code = Guid.NewGuid().ToString();

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));
            args.Add("reg_code", reg_code);

            //Get content config file
            string strFileActive = FnConfig.getFileConfig("Template", "User.RecoveryPassword.html");
            Dictionary <string, object> dicAppsInfo = FnConfig.dicApps("Info");

            //Merge to Main Dic
            args = FnCommon.MergeDic(args, dicAppsInfo);
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));

            //Check valid email
            DataTable dtUser = DBHelper.Instance.Query("Apps.Manage.Base.Users.GetUsersByEmail", args).Tables[0];

            if (dtUser.Rows.Count < 1)
            {
                throw new NService.NSInfoException("Tài khoản của bạn không tồn tại, Vui lòng kiểm tra lại thông tin email !!!");
            }


            args["AppLinkActive"] = args["Config_AppLink"] + "/Apps/ui/User/UserInfo.aspx#/activerecoverypwd/regcode/" + reg_code + "?email=" + args["email"].ToString();
            //Replace content email
            string str = FnCommon.ReplaceBetWeenStr(strFileActive, "===", args);

            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.rec_RegisterUser", args);

            string subject = "Khôi phục mật khẩu tài khoản " + dicAppsInfo["ShortAppName"].ToString();

            //Send Mail
            Tool.SendMail(dicAppsInfo["ShortAppName"].ToString(), subject, args["email"].ToString(), "", str, null);


            return("1");
        }
コード例 #3
0
ファイル: LoginUI.cs プロジェクト: trithien264/WebBase
        public string ActiveUser(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "reg_code", "Nhập vào mã kích hoạt!!!");

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));

            //Get OverActiveDays
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));

            //kiem tra reg code phu hop khong
            DataTable dtUserIsActive = DBHelper.Instance.Query("Apps.Manage.Base.Users.reg_GetUserIsActive", args).Tables[0];

            if (dtUserIsActive.Rows.Count < 1)
            {
                throw new NService.NSInfoException("Mã kích hoạt không hợp lệ!!!");
            }
            else
            {
                if (dtUserIsActive.Rows[0]["is_active"].ToString() == "Y")
                {
                    throw new NService.NSInfoException("Email của bạn đã được kích hoạt!!!");
                }
            }

            //Kiem tra user nay da dang ky chua
            DataTable dtUser = DBHelper.Instance.Query("Apps.Manage.Base.Users.reg_GetUsersByReg", args).Tables[0];

            if (dtUser.Rows.Count > 0)
            {
                throw new NService.NSInfoException("Email của bạn đã được đăng ký");
            }


            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.reg_ActiveUser", args);

            //Send Mail
            //Tool.SendMail(dicAppsInfo["ShortAppName"].ToString(), args["user_desc"].ToString(), args["email"].ToString(), "", str, null);


            return("1");
        }
コード例 #4
0
ファイル: LoginUI.cs プロジェクト: trithien264/WebBase
        public string ActiveRecoveryPwd(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "reg_code", "Nhập vào mã kích hoạt!!!");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "Nhập vào mật khẩu mới!!!");
            FnCommon.ThrowInfoIsEmpty(args, "textCaptChar", "Nhập vào mã xác nhận!!!");

            if (FnEncypt.rpHash(args["textCaptChar"].ToString()) != args["textCaptCharHash"].ToString())
            {
                throw new NService.NSInfoException("Mã xác thực không hợp lệ!!!");
            }

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));

            //Get OverActiveDays
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));


            //kiem tra reg code phu hop khong
            DataTable dtUserIsActive = DBHelper.Instance.Query("Apps.Manage.Base.Users.rec_GetUserIsActive", args).Tables[0];

            if (dtUserIsActive.Rows.Count < 1)
            {
                throw new NService.NSInfoException("Mã kích hoạt không hợp lệ!!!");
            }
            else
            {
                if (dtUserIsActive.Rows[0]["is_active"].ToString() == "Y")
                {
                    throw new NService.NSInfoException("Yêu cầu thay đổi mật khẩu của bạn đã được sử dụng, nếu muốn tiếp tục thay đổi mật khẩu. Vui lòng sử dụng chức năng [Quên mật khẩu]!!!");
                }
            }

            args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());

            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.rec_ActiveRecoveryUser", args);
            return("1");
        }