Beispiel #1
0
        public override SendEmailResponseBody ExecuteCore()
        {
            string randText = RandomText.GetNum(6);                        //生成6位验证码

            var emailInfo = SendContentConfig.EmailRegisterDesc(randText); //组织发送内容

            string error = "";
            bool   succ  = EmailAction.SendEmail(emailInfo.Item1, emailInfo.Item2, this.request.Email, out error);//开始发送

            if (!succ)
            {
                throw new Exception(error);
            }

            int codeId = User.UserUtility.AddCode(db, CodeType.Register, randText, emailInfo.Item2, this.request.Email); //发送成功后记录验证码

            if (codeId <= 0)
            {
                throw new Exception("Check code send failed.");
            }

            return(new SendEmailResponseBody()
            {
                CurrentEmail = this.request.Email,
                Status = ResultStatus.Success,
                //CheckCode = randText
            });
        }
Beispiel #2
0
        public override SendSMSResponseBody ExecuteCore()
        {
            string randText = RandomText.GetNum(6);                     //生成6位验证码

            var codeInfo = SendContentConfig.SMSRegisterDesc(randText); //组织发送内容

            string error = "";
            bool   succ  = SmsSend.ToUser(this.request.Mobile, codeInfo, out error);//开始发送

            if (!succ)
            {
                throw new Exception(error);
            }

            int codeId = User.UserUtility.AddCode(db, CodeType.Register, randText, codeInfo, this.request.Mobile); //发送成功后记录验证码

            if (codeId <= 0)
            {
                throw new Exception("验证码发送失败");
            }

            return(new SendSMSResponseBody()
            {
                Status = ResultStatus.Success,
                //CheckCode = randText
            });
        }
Beispiel #3
0
        private t_user CreateUser()
        {
            t_user model = new t_user()
            {
                //id = 0,
                email    = this.request.Email ?? "",
                mobile   = this.request.Mobile ?? "",
                password = "******",

                source            = UserSource.Register,
                status            = UserStatus.Normal,
                sex               = UserSex.Unknow,
                register_date     = DateTime.Now,
                update_date       = DateTime.Now,
                name              = $"{AppConfigManager.DefaultEAppName}-{RandomText.GetNum()}",
                head_image        = AppConfigManager.UserDefaultHeadImage,
                circle_back_image = AppConfigManager.UserCircleBackImage,
            };

            db.t_user.Add(model);
            db.SaveChanges();

            return(model);
        }
Beispiel #4
0
        protected virtual string GetNewFileName(string ext)
        {
            string newFileName = "";

            //string fileExt = Path.GetExtension(orgFileName).ToLower();
            //newFileName = System.Text.RegularExpressions.Regex.Replace(orgFileName, fileExt, "");
            //newFileName = System.Text.RegularExpressions.Regex.Replace(newFileName, @"[^\u4e00-\u9fa5_a-zA-Z0-9]", "");
            newFileName = DateTime.Now.ToString("yyyyMMddHHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "_" + RandomText.GetNum() + ext;
            return(newFileName);
        }
Beispiel #5
0
        public override UserRegisterResponseBody ExecuteCore()
        {
            UserRegisterResponseBody res = new UserRegisterResponseBody();

            using (HWLEntities db = new HWLEntities())
            {
                IQueryable <t_user>      query     = db.t_user;
                IQueryable <t_user_code> codeQuery = db.t_user_code.OrderByDescending(c => c.id).Where(c => c.code_type == CodeType.Register);

                if (!string.IsNullOrEmpty(this.request.Mobile))
                {
                    query     = query.Where(u => u.mobile == this.request.Mobile);
                    codeQuery = codeQuery.Where(u => u.user_account == this.request.Mobile);
                }
                else
                {
                    query     = query.Where(u => u.email == this.request.Email);
                    codeQuery = codeQuery.Where(u => u.user_account == this.request.Email);
                }

                t_user user = query.FirstOrDefault();
                if (user != null)
                {
                    throw new Exception("该帐号已经被注册");
                }

                if (this.request.CheckCode != "888888")
                {
                    t_user_code userCode = codeQuery.FirstOrDefault();
                    if (userCode == null)
                    {
                        throw new Exception("注册码不存在");
                    }
                    if (userCode.expire_time <= DateTime.Now)
                    {
                        throw new Exception("注册码已过期");
                    }
                    if (userCode.code != this.request.CheckCode)
                    {
                        throw new Exception("注册码验证错误");
                    }

                    //添加用户成功后,设置注册码失效
                    userCode.expire_time = userCode.expire_time.AddDays(-1);
                }

                //添加用户到数据库
                t_user model = new t_user()
                {
                    id       = 0,
                    email    = this.request.Email ?? " ",
                    mobile   = this.request.Mobile ?? " ",
                    password = this.request.PasswordOK,

                    status            = UserStatus.Normal,
                    sex               = UserSex.Unknow,
                    register_date     = DateTime.Now,
                    update_date       = DateTime.Now,
                    name              = "HWL-" + RandomText.GetNum(),
                    head_image        = ConfigManager.UserDefaultHeadImage,
                    circle_back_image = ConfigManager.UserCircleBackImage,
                };
                db.t_user.Add(model);
                db.SaveChanges();
                res.Status = ResultStatus.Success;
            }

            return(res);
        }
Beispiel #6
0
        public int AddUser(UserEditInfo user)
        {
            #region check user
            if (user == null)
            {
                throw new Exception("用户数据不能为空.");
            }

            if (string.IsNullOrEmpty(user.Email) && string.IsNullOrEmpty(user.Mobile))
            {
                throw new Exception("手机或者邮箱不能为空");
            }
            if (string.IsNullOrEmpty(user.Password))
            {
                throw new Exception("密码不能为空");
            }
            if (string.IsNullOrEmpty(user.PasswordOK))
            {
                throw new Exception("密码确认不能为空");
            }
            if (user.PasswordOK.Trim() != user.Password.Trim())
            {
                throw new Exception("两次密码输入不一致");
            }
            #endregion

            IQueryable <t_user> query = db.t_user;
            if (!string.IsNullOrEmpty(user.Mobile))
            {
                query = query.Where(u => u.mobile == user.Mobile);
            }
            else
            {
                query = query.Where(u => u.email == user.Email);
            }

            if (query.Count() >= 1)
            {
                throw new Exception("该帐号已经被注册");
            }

            t_user model = new t_user()
            {
                email      = user.Email ?? "",
                mobile     = user.Mobile ?? "",
                password   = user.PasswordOK,
                name       = string.IsNullOrEmpty(user.Name) ? $"{AppConfigManager.DefaultEAppName}-{RandomText.GetNum()}" : user.Name,
                life_notes = user.LifeNotes,
                head_image = string.IsNullOrEmpty(user.HeadImage) ? AppConfigManager.UserDefaultHeadImage : user.HeadImage,

                source            = UserSource.System,
                status            = UserStatus.Normal,
                sex               = UserSex.Unknow,
                register_date     = DateTime.Now,
                update_date       = DateTime.Now,
                circle_back_image = AppConfigManager.UserCircleBackImage,
            };
            db.t_user.Add(model);
            db.SaveChanges();

            return(model.id);
        }