Ejemplo n.º 1
0
        public JsonResult RegisterWithJson()
        {
            string   username = Request["username"];
            string   email    = Request["email"];
            string   password = Hash.SHA512(Request["password"]);
            string   name     = Request["nickname"];
            DateTime time     = DateTime.Now;

            log.Info(Request.UserHostAddress + "尝试注册" + username);

            bool result = UserView.Register(username, password, name, time) && UserInfoView.NewUserInfo(username, email, time);

            log.Info(Request.UserHostAddress + "注册" + username + (result?"成功":"失败"));

            return(Json(result));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 提交订单页面
        /// add by fruitchan
        /// 2016-12-20 23:49:49
        /// </summary>
        /// <returns>View</returns>
        public ActionResult SubmitOrderView(int?id)
        {
            HouseInfoView houseInfo     = null;
            UserInfoView  loginUserInfo = OperateContext.Current.UserInfo;

            if (id.HasValue)
            {
                houseInfo = OperateContext.Current.BLLSession.IHouseInfoViewBLL.GetListBy(m => m.ID == id && m.State == 0).FirstOrDefault();

                if (houseInfo != null)
                {
                    houseInfo.HouseImgList = OperateContext.Current.BLLSession.IHouseImgBLL.GetListBy(m => m.HouseInfoID == houseInfo.ID, m => m.CreateTime, true);
                }
            }

            return(View(houseInfo));
        }
Ejemplo n.º 3
0
        public ActionResult Login(UserInfoView entityView)
        {
            if (ModelState.IsValid)
            {
                UserInfo entity = AutoEntityMap <UserInfoView, UserInfo> .EntityMap(entityView);

                string pwd = Kits.GetMD5(entity.UserPwd);
                bool   b   = UserInfoBLL.Where(c => c.UserName == entity.UserName && c.UserPwd == pwd).Any();
                if (b)
                {
                    Session[Keys.SessionKey] = entity.UserName;
                    return(RedirectToAction("Index", "Dashboard"));
                }
            }
            ModelState.AddModelError("", "用户名或密码错误");
            return(View());
        }
Ejemplo n.º 4
0
        public async Task <(bool result, string message, UserInfoView userInfoView)> Login(string userName, string password)
        {
            //根据用户名,密码获取用户信息
            var userData = await baseDal.QueryFirstAsync(x => x.UserName == userName && x.Password == password);

            if (userData == null)
            {
                return(false, "用户名或密码不正确", null);
            }

            var userInfoView = new UserInfoView
            {
                Id       = userData.Id.ObjToInt(),
                RoleName = "管理员"
            };

            return(true, "登陆成功", userInfoView);
        }
        /// <summary>
        /// 登出
        /// </summary>
        /// <returns></returns>
        public ActionResult Logout()
        {
            if (SessionHelper.GetSession(UserInfoOfSession) != null)
            {
                UserInfoView userinfo = SessionHelper.GetSession(UserInfoOfSession) as UserInfoView;
                UserStatusCheck.ClearServerCredential(userinfo.Id.ToString());
                SessionHelper.RemoveSession(UserInfoOfSession);
            }
            if (CookieHelper.Get(EncryptHelper.MD5(UserInfoOfCookie)) != null)
            {
                CookieHelper.Remove(EncryptHelper.MD5(UserInfoOfCookie));
            }
            UserStatusCheck.ClearLocalCredential();
            string index    = AppSettingsHelper.GetString("LoginIndex");
            string loginUrl = "http://" + Request.ServerVariables["HTTP_HOST"] + index;

            return(Redirect(loginUrl));
        }
        public virtual void OnException(ExceptionContext filterContext)
        {
            var          objUser  = SessionHelper.GetSession(AppSettingsHelper.GetString("userInfoOfSession"));
            UserInfoView userInfo = new UserInfoView();

            if (objUser == null)
            {
                userInfo.Id      = "";
                userInfo.Account = "未知用户";
            }
            else
            {
                userInfo = objUser as UserInfoView;
            }
            string message = string.Format(
                @"当前登陆用户:{0}
ID号:{1}"
                , userInfo.Account, userInfo.Id);

            //记录日志
            //待添加log4net
            XmlConfigurator.Configure();
            //string logName = DateTime.Now.ToString("yyyy-MM-dd");
            log4net.ILog log = log4net.LogManager.GetLogger("logerror");
            log.Error(message, filterContext.Exception);
            //如果是ajax请求
            if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest())
            {
                filterContext.ExceptionHandled = true;
                filterContext.Result           = new JsonResult()
                {
                    Data = new { Success = false, Message = "系统异常,请与管理员联系" },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                };
            }
            else
            {
                //抛出异常信息
                filterContext.Controller.TempData["ExceptionMessage"] = message;
                //转向
                filterContext.ExceptionHandled = true;
                filterContext.Result           = new RedirectResult("/500.html");
            }
        }
Ejemplo n.º 7
0
        public ActionResult Peribadi(ManageMessageId?message)
        {
            ViewBag.StatusMessage =
                message == ManageMessageId.ChangePasswordSuccess ? "Katalaluan Anda Telah Berjaya Ditukar."
            : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
            : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set."
            : message == ManageMessageId.Error ? "An error has occurred."
            : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added."
            : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed."
            : "";

            if (psErrorMessage != null && psErrorMessage != "")
            {
                ViewBag.ErrorMessage = psErrorMessage; psErrorMessage = string.Empty;
            }
            List <UserInfo>     UserInfoList     = db.UserInfoes.ToList <UserInfo>();
            List <UserInfoView> UserInfoViewList = new List <UserInfoView>();

            foreach (UserInfo userInfo in UserInfoList)
            {
                IdentityUser identityUser = db.Users.Find(userInfo.UserID.ToString());
                if (identityUser != null)
                {
                    UserInfoView userInfoView = new UserInfoView();
                    userInfoView.UserInfoID     = userInfo.UserInfoID;
                    userInfoView.UserID         = userInfo.UserID;
                    userInfoView.username       = userInfo.username;
                    userInfoView.Email          = identityUser.Email;
                    userInfoView.Position       = userInfo.Position;
                    userInfoView.PhoneNo        = userInfo.PhoneNo;
                    userInfoView.CreateDateTime = userInfo.CreateDateTime;
                    userInfoView.FaxNo          = userInfo.FaxNo;
                    userInfoView.Addresss       = userInfo.Addresss;
                    userInfoView.City           = userInfo.City;
                    userInfoView.PostCode       = userInfo.PostCode;
                    userInfoView.State          = userInfo.State;
                    userInfoView.Status         = userInfo.Status;
                    UserInfoViewList.Add(userInfoView);
                }
            }
            return(View(UserInfoViewList));
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            userService    = new UserService();
            messageService = new MessageService();

            mainView                 = new MainView();
            registrationView         = new RegistrationView(userService);
            authenticationView       = new AuthenticationView(userService);
            userMenuView             = new UserMenuView(userService);
            userInfoView             = new UserInfoView();
            userDataUpdateView       = new UserDataUpdateView(userService);
            messageSendingView       = new MessageSendingView(messageService, userService);
            userIncomingMessageView  = new UserIncomingMessageView();
            userOutcomingMessageView = new UserOutcomingMessageView();

            while (true)
            {
                mainView.Show();
            }
        }
Ejemplo n.º 9
0
        public static bool UpdateUserInfo(UserInfoView model)
        {
            var result = false;

            using (var conn = new SqlConnection(connectionString))
            {
                conn.Open();
                var cmdText  = string.Format("update UserSets set uName = N'{0}', Tel = N'{1}' where Email = N'{2}'", model.UserName, model.Tel, model.Email);
                var cmdText1 = string.Format(@"if not exists (select * from ExtraUserInfo where Email = N'{0}') insert into ExtraUserInfo values (N'{0}', N'{1}', N'{2}', N'{3}', N'{4}') else update ExtraUserInfo set Sex = N'{1}', Nick = N'{2}', Hobby = N'{3}', Avatar = N'{4}' where Email = N'{0}'", model.Email, model.Sex, model.Nick, model.Hobby, model.Avatar);
                using (var cmd = new SqlCommand(cmdText, conn))
                {
                    result          = cmd.ExecuteNonQuery() > 0;
                    cmd.CommandText = cmdText1;
                    result          = result && (cmd.ExecuteNonQuery() > 0);
                    conn.Close();
                }
            }

            return(result);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 设置缓存
        /// </summary>
        /// <param name="userInfo"></param>
        public static void SetCache(UserInfoView userInfo)
        {
            //每个用户随机生成一个独一无二的标识
            string token = Guid.NewGuid().ToString();
            //加入cache
            //用户重复登陆,删除已经登录用户服务端信息
            string userid = Userkey + userInfo.Id.ToString();

            if (CacheHelper.Get(userid) != null)
            {
                string tk = CacheHelper.Get(userid).ToString();
                CacheHelper.Remove(userid);
                CacheHelper.Remove(tk);
                CacheHelper.Set(tk, "0", 20);//标注已被踢出
            }
            CacheHelper.Set(userid, token, Convert.ToInt32(AppSettingsHelper.GetString("ExpiresHours")) * 60);
            CacheHelper.Set(token, userid, Convert.ToInt32(AppSettingsHelper.GetString("ExpiresHours")) * 60);
            //本地也存一份Token Cokie
            CookieHelper.Save(Token, token, Convert.ToInt32(AppSettingsHelper.GetString("ExpiresHours")));
        }
Ejemplo n.º 11
0
        public ActionResult UpdateUser(UserInfoView infoView)
        {
            try
            {
                var user = UserManager.FindByName(infoView.LoginName);
                if (user == null)
                {
                    return(Json(new ActionResultStatus(10, "用户不存在!"), JsonRequestBehavior.AllowGet));
                }

                user.UserName = infoView.LoginName;
                user.FullName = infoView.FullName;
                user.Roles.Clear();
                foreach (var roleId in infoView.RoleIds)
                {
                    user.Roles.Add(new IdentityUserRole {
                        RoleId = roleId, UserId = user.Id
                    });
                }

                UserManager.Update(user);
                if (!string.IsNullOrWhiteSpace(infoView.Password))
                {
                    var token  = UserManager.GeneratePasswordResetToken(infoView.Id);
                    var result = UserManager.ResetPassword(infoView.Id, token, infoView.Password);
                    return
                        (Json(
                             !result.Succeeded
                                 ? new ActionResultStatus(10, result.Errors.First())
                                 : new ActionResultStatus(),
                             JsonRequestBehavior.AllowGet));
                }

                return(Json(new ActionResultStatus(), JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new ActionResultStatus(ex), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> GetUserInfo([FromBody] AppointPaging model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var user = await GetCurrentUser();

                model.UserId  = user.Id;
                model.SortCol = "Id";
                UserInfoView userinfo = new UserInfoView();
                userinfo.appointView = _svc.GetSoonestAppoints(model);
                userinfo.profDom     = _service.Get(user.Id);
                DataResponse <UserInfoView> info = new DataResponse <UserInfoView>();
                info.Data = userinfo;
                return(Ok(info));
            }
            catch (Exception ex)
            {
                return(StatusCode(404, ex));
            }
        }
        /// <summary>
        /// 登录认证并进行权限验证
        /// </summary>
        /// <param name="filterContext">筛选器上下文</param>
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            HttpRequestBase request     = filterContext.RequestContext.HttpContext.Request;
            object          objuserinfo = SessionHelper.GetSession(UserInfoOfSession);

            //判断是否需要验证
            if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), false) ||
                filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), false))
            {
                return;
            }
            if (filterContext.ActionDescriptor.ControllerDescriptor.ControllerName.ToLower().Equals("login"))
            {
                return;
            }

            //bool result = true;
            //string detail;
            if (objuserinfo == null)
            {
                HttpCookie cookie = CookieHelper.Get(EncryptHelper.MD5(UserInfoOfCookie));
                if (cookie != null)
                {
                    string       n1          = AppSettingsHelper.GetString("UserAccount");
                    string       p1          = AppSettingsHelper.GetString("UserPassword");
                    string       account     = cookie[EncryptHelper.MD5(n1)];
                    string       pswd        = cookie[EncryptHelper.MD5(p1)];
                    UserBll      userInfoBll = new UserBll();
                    UserInfoView user        = userInfoBll.GetUserInfo(account);

                    if (user != null)
                    {
                        #region 登陆验证

                        if (CheckIsKickedOff(user, filterContext)) //验证是否被踢
                        {
                            return;
                        }
                        if (user.Password == pswd)
                        {
                            filterContext.Controller.ViewBag.CurrentUserInfo = user;
                            SessionHelper.SetSession(UserInfoOfSession, user);
                            return;
                        }

                        #endregion

                        //#region 权限验证

                        //user.UserAccessedControls = userInfoBll.GetAccessedControls(account);
                        //if (!string.IsNullOrEmpty(PermissionCode))
                        //{
                        //    if (!user.UserAccessedControls.Contains(PermissionCode))
                        //    {
                        //        result = false;
                        //    }
                        //    if (result && AppCode.Equals("superadmin") && !user.Account.Equals("admin"))
                        //    {
                        //        result = false;
                        //    }
                        //    if (!result)
                        //    {
                        //        if (filterContext.HttpContext.Request.IsAjaxRequest())
                        //        {
                        //            filterContext.Result = new JsonResult()
                        //            {
                        //                Data = new { Sussess = false, Message = "无权操作" },
                        //                JsonRequestBehavior = JsonRequestBehavior.AllowGet
                        //            };
                        //        }
                        //        else
                        //        {
                        //            filterContext.Result = new RedirectResult("/401.html");
                        //        }
                        //        return;
                        //    }
                        //}

                        //#endregion
                    }
                }

                UserStatusCheck.ClearLocalCredential();
                //跳转到登录页
                if (filterContext.HttpContext.Request.IsAjaxRequest())
                {
                    filterContext.Result = new JsonResult()
                    {
                        Data = new { Success = false, Message = "登录已过期,请重新登录。" },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    };
                }
                else
                {
                    GotoLogin(filterContext);
                }
            }
            else
            {
                UserInfoView userInfo = (UserInfoView)objuserinfo;

                #region 登陆验证
                if (CheckIsKickedOff(userInfo, filterContext)) //验证是否被踢
                {
                    return;
                }
                filterContext.Controller.ViewBag.CurrentUserInfo = userInfo;

                #endregion

                //#region 权限验证

                //if (!string.IsNullOrEmpty(PermissionCode))
                //{
                //    if (!userInfo.UserAccessedControls.Contains(PermissionCode))
                //    {
                //        result = false;
                //    }
                //    if (result && AppCode.Equals("superadmin") && !userInfo.Account.Equals("admin"))
                //    {
                //        result = false;
                //    }
                //    if (!result)
                //    {
                //        if (filterContext.HttpContext.Request.IsAjaxRequest())
                //        {
                //            filterContext.Result = new JsonResult()
                //            {
                //                Data = new { Sussess = false, Message = "无权操作" },
                //                JsonRequestBehavior = JsonRequestBehavior.AllowGet
                //            };
                //        }
                //        else
                //        {
                //            filterContext.Result = new RedirectResult("/401.html");
                //        }
                //        return;
                //    }
                //}

                //#endregion
            }
        }
Ejemplo n.º 14
0
        public ActionResult CheckAuthCode(string phoneNo, string authCode)
        {
            string status = "fail";
            string msg    = null;

            // 校验手机号
            if (String.IsNullOrWhiteSpace(phoneNo) || !Validate.ValidatePhone(phoneNo))
            {
                msg = "手机号输入错误,请重新输入!";
            }

            if (msg == null)
            {
                if (Session["AuthCode"] != null && Session["AuthCode"].ToString().ToLower() == authCode.ToLower())
                {
                    string smscode = "";
                    Random rand    = new Random();
                    for (int i = 0; i < 4; i++)
                    {
                        smscode += rand.Next(0, 10);
                    }

                    Session["SmsCode"] = new Model.FormatModel.PhoneSmsCode()
                    {
                        PhoneNumber = phoneNo, SmsCode = smscode
                    };


                    UserInfoView userInfo = OperateContext.Current.BLLSession.IUserInfoViewBLL.GetListBy(m => m.PhoneAccount == phoneNo).FirstOrDefault();

                    // 判断用户是否注册
                    if (userInfo != null)
                    {
                        // 判断用户状态
                        if (userInfo.State != 0)
                        {
                            msg = "此账号被禁止登录,请联系客服!";
                        }
                        else
                        {
                            msg = AliyunSMS.SendLoginAuthSMS(phoneNo, smscode);
                        }
                    }
                    else
                    {
                        msg = AliyunSMS.SendRegisterSMS(phoneNo, smscode);
                    }

                    if (msg == "ok")
                    {
                        status = "ok";
                        msg    = "发送短信成功!";
                    }

#if DEBUG
                    msg = smscode;
#endif
                }
                else
                {
                    msg = "验证码错误!";
                }
            }

            Session["AuthCode"] = null;

            return(OperateContext.Current.RedirectAjax(status, msg, null, null));
        }
Ejemplo n.º 15
0
        public ActionResult Logup(UserInfoView userInfoView)
        {
            //model通过验证
            if (ModelState.IsValid)
            {
                try
                {
                    UserInfo userInfo = new UserInfo();
                    userInfo = userInfoView.userInfo;
                    //1.判断验证码是否正确
                    if (Session["validateCode"] == null)
                    {
                        ModelState.AddModelError("err_validateCode", "验证码不正确");
                        return(View());
                    }
                    else if (userInfoView.validateCode != Session["validateCode"].ToString())
                    {
                        ModelState.AddModelError("err_validateCode", "验证码不正确");
                        return(View());
                    }
                    //2.判断两次密码是否一致
                    if (userInfoView.userInfo.Pwd != userInfoView.Pwd2)
                    {
                        ModelState.AddModelError("err_pwdNoEqual", "密码不一致");
                        return(View());
                    }
                    //3.判断用户是否已经存在
                    string         sql_UserExist   = "select count(1) from PM24_Users where UserId=@UserId";
                    SqlParameter[] param_UserExist = { new SqlParameter("@UserID", SqlDbType.VarChar, 20)
                                                       {
                                                           Value = userInfo.UserId
                                                       } };
                    if (Convert.ToInt32(SQLHelper.ExecuteScalar(sql_UserExist, CommandType.Text, param_UserExist)) > 0)
                    {
                        ModelState.AddModelError("err_UserIsExit", "用户名已被用");
                        return(View());
                    }

                    //4.把数据插入数据库
                    //获取用户IP
                    string IP = Request.UserHostAddress == "::1" ? "127.0.0.1" : Request.UserHostAddress;
                    userInfo.CreateIp = IP;
                    if (userInfo.Name == null)
                    {
                        userInfo.Name = userInfo.UserId;
                    }
                    if (userInfo.Email == null)
                    {
                        userInfo.Email = "";
                    }
                    userInfo.Status = 1;
                    //密码进行md5加盐加密
                    string pwd = MD5.ToMD5(userInfo.Pwd);

                    //sql语句
                    string         sql   = "insert into PM24_Users(UserId,Pwd,Name,Email,CreateIp,Status) values (@UserId,@Pwd,@Name,@Email,@CreateIp,@Status)";
                    SqlParameter[] param = { new SqlParameter("@UserId",   SqlDbType.VarChar, 20)
                                             {
                                                 Value = userInfo.UserId
                                             },
                                             new SqlParameter("@Pwd",      SqlDbType.VarChar, 64)
                                             {
                                                 Value = pwd
                                             },
                                             new SqlParameter("@Name",     SqlDbType.NVarChar, 10)
                                             {
                                                 Value = userInfo.Name
                                             },
                                             new SqlParameter("@Email",    SqlDbType.VarChar, 50)
                                             {
                                                 Value = userInfo.Email
                                             },
                                             new SqlParameter("@CreateIP", SqlDbType.VarChar, 50)
                                             {
                                                 Value = userInfo.CreateIp
                                             },
                                             new SqlParameter("@Status",   SqlDbType.Int)
                                             {
                                                 Value = userInfo.Status
                                             } };

                    if (SQLHelper.ExecuteNonQuery(sql, CommandType.Text, param) > 0)
                    {
                        return(RedirectToAction("SignInSuccess"));
                    }
                    else
                    {
                        return(View());
                    }
                }
                catch
                {
                    return(View());
                }
            }
            else
            {
                return(View());
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 会员信息页面
        /// add by fruitchan
        /// 2016-12-21 20:44:40
        /// </summary>
        /// <returns>View</returns>
        public ActionResult UserInfo()
        {
            UserInfoView user = ViewBag.UserInfo as UserInfoView;

            return(View(user));
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 实名认证
        /// add by fruitchan
        /// 2016-12-24 22:27:11
        /// </summary>
        /// <param name="userInfoExt"></param>
        /// <returns></returns>
        public ActionResult SaveUserInfoExt(UserInfoExtView userInfoExt)
        {
            string       status        = "fail";
            string       msg           = null;
            UserInfoView loginUserInfo = OperateContext.Current.UserInfo;

            #region 校验数据
            if (userInfoExt != null)
            {
                if (msg == null)
                {
                    // 真实姓名
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "真实姓名",
                        FieldValue = userInfoExt.Username,
                        IsRequired = true,
                        MaxLength  = 20,
                        MinLength  = 2
                    });
                }

                if (msg == null)
                {
                    // 身份证号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "身份证号",
                        FieldValue = userInfoExt.IDCardNo,
                        IsIdCard   = true
                    });
                }

                if (msg == null)
                {
                    // 身份证正面照
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "身份证正面照",
                        FieldValue = userInfoExt.IDCardImg1,
                        IsRequired = true,
                        MaxLength  = 200
                    });
                }

                if (msg == null)
                {
                    // 身份证背面照
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "身份证背面照",
                        FieldValue = userInfoExt.IDCardImg2,
                        IsRequired = true,
                        MaxLength  = 200
                    });
                }

                if (msg == null)
                {
                    // 支付宝账号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "支付宝账号",
                        FieldValue = userInfoExt.AlipayAccount,
                        IsRequired = true,
                        MaxLength  = 40
                    });
                }

                if (msg == null)
                {
                    // 微信账号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "微信账号",
                        FieldValue = userInfoExt.WeixinAccount,
                        IsRequired = true,
                        MaxLength  = 40
                    });
                }

                if (msg == null)
                {
                    // 房源地址
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "房源地址",
                        FieldValue = userInfoExt.HouseAddress,
                        IsRequired = true,
                        MaxLength  = 200
                    });
                }

                if (msg == null)
                {
                    // 房产证照
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "房产证照",
                        FieldValue = userInfoExt.Housecertificate,
                        IsRequired = true,
                        MaxLength  = 200
                    });
                }
            }
            else
            {
                msg = "请求数据错误!";
            }
            #endregion

            if (msg == null)
            {
                // 用户信息
                int result = OperateContext.Current.BLLSession.IUserInfoBLL.Modify(new UserInfo()
                {
                    ID       = loginUserInfo.ID,
                    Username = userInfoExt.Username,
                    IDCardNo = userInfoExt.IDCardNo,
                }, "Username", "IDCardNo");

                // 扩展信息
                if (result == 1)
                {
                    UserInfoExt oldUserInfoExt = OperateContext.Current.BLLSession.IUserInfoExtBLL.GetListBy(m => m.UserInfoID == loginUserInfo.ID).FirstOrDefault();

                    if (oldUserInfoExt != null)
                    {
                        // 修改
                        oldUserInfoExt.IDCardImg1       = userInfoExt.IDCardImg1;
                        oldUserInfoExt.IDCardImg2       = userInfoExt.IDCardImg2;
                        oldUserInfoExt.AlipayAccount    = userInfoExt.AlipayAccount;
                        oldUserInfoExt.WeixinAccount    = userInfoExt.WeixinAccount;
                        oldUserInfoExt.HouseAddress     = userInfoExt.HouseAddress;
                        oldUserInfoExt.Housecertificate = userInfoExt.Housecertificate;

                        result = OperateContext.Current.BLLSession.IUserInfoExtBLL.Modify(oldUserInfoExt, "IDCardImg1",
                                                                                          "IDCardImg2", "AlipayAccount", "WeixinAccount", "HouseAddress", "Housecertificate");
                    }
                    else
                    {
                        // 新增
                        result = OperateContext.Current.BLLSession.IUserInfoExtBLL.Add(new UserInfoExt()
                        {
                            UserInfoID       = loginUserInfo.ID,
                            IsCertification  = 0,
                            IDCardImg1       = userInfoExt.IDCardImg1,
                            IDCardImg2       = userInfoExt.IDCardImg2,
                            AlipayAccount    = userInfoExt.AlipayAccount,
                            WeixinAccount    = userInfoExt.WeixinAccount,
                            HouseAddress     = userInfoExt.HouseAddress,
                            Housecertificate = userInfoExt.Housecertificate
                        });
                    }
                }

                // 提交认证
                if (result == 1)
                {
                    result = OperateContext.Current.BLLSession.IUserInfoCertificateBLL.Add(new UserInfoCertificate()
                    {
                        UserInfoID = loginUserInfo.ID,
                        State      = 0,
                        CreateTime = DateTime.Now
                    });
                }

                if (result == 1)
                {
                    // 更新缓存
                    OperateContext.Current.UserInfo = OperateContext.Current.BLLSession.IUserInfoViewBLL.GetListBy(m => m.ID == loginUserInfo.ID).FirstOrDefault();
                    status = "ok";
                    msg    = "提交认证申请成功,我们会尽快审核!";
                }
                else
                {
                    msg = "系统繁忙,请稍后再试!";
                }
            }

            return(OperateContext.Current.RedirectAjax(status, msg, null, null));
        }
        public ActionResult SaveHouseInfo(HouseInfo houseInfoModel, long?landlorId)
        {
            string       status        = "fail";
            string       msg           = null;
            UserInfoView loginUserInfo = OperateContext.Current.UserInfo;

            if (houseInfoModel != null)
            {
                #region 校验数据

                // TODO:校验数据
                #endregion
                //if(!landlorId.HasValue)
                //{
                //    msg = "请选择房东!";
                //    return OperateContext.Current.RedirectAjax(status, msg, null, null);
                //}
                //获取房东信息
                //var userOjb = OperateContext.Current.BLLSession.IUserInfoExtViewBLL.GetListBy(h => h.ID == landlorId).FirstOrDefault();
                //if (userOjb == null)
                //{
                //    msg = "未找到您选择的房东!";
                //    return OperateContext.Current.RedirectAjax(status, msg, null, null);
                //}
                if (!houseInfoModel.ShopId.HasValue)
                {
                    msg = "请选择店铺";
                    return(OperateContext.Current.RedirectAjax(status, msg, null, null));
                }
                var shop = OperateContext.Current.BLLSession.IShopInfoBLL.GetListBy(h => h.ID == houseInfoModel.ShopId).FirstOrDefault();
                if (shop == null)
                {
                    msg = "未找到您选择的店铺!";
                    return(OperateContext.Current.RedirectAjax(status, msg, null, null));
                }
                houseInfoModel.ShopId          = shop.ID;
                houseInfoModel.ShopName        = shop.ShopName;
                houseInfoModel.DecorativeStyle = (int)shop.ShopType.Value;
                houseInfoModel.Address         = shop.Locations;
                houseInfoModel.Rules           = shop.Rules;
                houseInfoModel.ChargesNotes    = shop.ChargesNotes;
                houseInfoModel.About           = shop.About;
                houseInfoModel.UserInfoID      = shop.UserId.Value;
                houseInfoModel.IsBack          = houseInfoModel.IsBack ?? 0;
                houseInfoModel.IsCancel        = houseInfoModel.IsCancel ?? 0;
                // 房源图片
                if (!String.IsNullOrWhiteSpace(houseInfoModel.JsonHouseImgList))
                {
                    houseInfoModel.HouseImgList = JsonConvert.DeserializeObject <IList <HouseImg> >(houseInfoModel.JsonHouseImgList);
                }

                int result = 0;

                // 房源基本信息
                if (houseInfoModel.ID > 0)
                {
                    // 修改
                    HouseInfo houseInfo = OperateContext.Current.BLLSession.IHouseInfoBLL.GetListBy(m => m.ID == houseInfoModel.ID).FirstOrDefault();

                    if (houseInfo != null)
                    {
                        houseInfo.HouseTitle      = houseInfoModel.HouseTitle;
                        houseInfo.DecorativeStyle = houseInfoModel.DecorativeStyle;
                        houseInfo.LeaseType       = houseInfoModel.LeaseType;
                        houseInfo.BedroomNum      = houseInfoModel.BedroomNum;
                        houseInfo.LivingRoomNum   = houseInfoModel.LivingRoomNum;
                        houseInfo.ToiletNum       = houseInfoModel.ToiletNum;
                        houseInfo.Price           = houseInfoModel.Price;
                        houseInfo.IsTrusteeship   = houseInfoModel.IsTrusteeship;
                        houseInfo.IsSell          = houseInfoModel.IsSell;
                        houseInfo.SellPrice       = houseInfoModel.SellPrice;
                        houseInfo.IsCooking       = houseInfoModel.IsCooking;
                        houseInfo.IsPet           = houseInfoModel.IsPet;
                        houseInfo.StayPersonNum   = houseInfoModel.StayPersonNum;
                        houseInfo.HouseSize       = houseInfoModel.HouseSize;
                        houseInfo.Facilities      = houseInfoModel.Facilities;
                        houseInfo.Address         = houseInfoModel.Address;
                        houseInfo.About           = houseInfoModel.About;
                        houseInfo.Rules           = houseInfoModel.Rules;
                        houseInfo.ChargesNotes    = houseInfoModel.ChargesNotes;
                        houseInfo.BaseInfo        = houseInfoModel.BaseInfo;
                        houseInfo.IsReals         = houseInfoModel.IsReals;
                        houseInfo.ProvinceId      = houseInfoModel.ProvinceId;
                        houseInfo.CityId          = houseInfoModel.CityId;
                        houseInfo.CountyId        = houseInfoModel.CountyId;
                        houseInfo.UserInfoID      = houseInfoModel.UserInfoID;
                        houseInfo.ShopId          = shop.ID;
                        houseInfo.ShopName        = shop.ShopName;
                        houseInfo.IsBack          = houseInfoModel.IsBack;
                        houseInfo.IsCancel        = houseInfoModel.IsCancel;

                        result = OperateContext.Current.BLLSession.IHouseInfoBLL.Modify(houseInfo);
                    }
                    else
                    {
                        msg = "系统未查询到房源信息!";
                    }
                }
                else
                {
                    // 新增
                    houseInfoModel.State      = 0;
                    houseInfoModel.CreateTime = DateTime.Now;
                    houseInfoModel.IsEmpty    = 0;
                    result = OperateContext.Current.BLLSession.IHouseInfoBLL.Add(houseInfoModel);
                }

                // 房源图片
                if (houseInfoModel.HouseImgList != null && houseInfoModel.HouseImgList.Count > 0)
                {
                    OperateContext.Current.BLLSession.IHouseImgBLL.DelBy(m => m.HouseInfoID == houseInfoModel.ID);

                    foreach (var houseImg in houseInfoModel.HouseImgList)
                    {
                        houseImg.HouseInfoID = houseInfoModel.ID;
                        houseImg.CreateTime  = DateTime.Now;

                        OperateContext.Current.BLLSession.IHouseImgBLL.Add(houseImg);
                    }
                }

                if (result == 1)
                {
                    status = "ok";
                    msg    = "保存成功!";
                }
            }
            else
            {
                msg = "获取数据失败!";
            }

            return(OperateContext.Current.RedirectAjax(status, msg, null, null));
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 保存用户数据
        /// add by fruitchan
        /// 2016-12-21 22:44:18
        /// </summary>
        /// <param name="userInfo">用户数据</param>
        /// <returns>保存结果</returns>
        public ActionResult SaveUserInfo(UserInfo userInfo)
        {
            string       status        = "fail";
            string       msg           = null;
            UserInfoView loginUserInfo = OperateContext.Current.UserInfo;

            #region 校验数据
            if (userInfo != null)
            {
                // 用户名
                msg = Validate.ValidateString(new CustomValidate()
                {
                    FieldName  = "用户名",
                    FieldValue = userInfo.Nikename,
                    IsRequired = true,
                    MaxLength  = 20,
                    MinLength  = 3
                });

                if (msg == null)
                {
                    // 真实姓名
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "真实姓名",
                        FieldValue = userInfo.Username,
                        IsRequired = true,
                        MaxLength  = 20,
                        MinLength  = 2
                    });
                }

                if (msg == null && !String.IsNullOrWhiteSpace(userInfo.IDCardNo))
                {
                    // 身份证号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "身份证号",
                        FieldValue = userInfo.IDCardNo,
                        IsIdCard   = true
                    });
                }

                if (msg == null && !String.IsNullOrWhiteSpace(userInfo.Email))
                {
                    // 邮箱地址
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "邮箱地址",
                        FieldValue = userInfo.Email,
                        IsEmail    = true
                    });
                }

                if (msg == null)
                {
                    // 手机号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "手机号",
                        FieldValue = userInfo.PhoneNo,
                        IsRequired = true,
                        IsPhone    = true
                    });
                }

                if (msg == null && !String.IsNullOrWhiteSpace(userInfo.PhoneNo2))
                {
                    // 手机号
                    msg = Validate.ValidateString(new CustomValidate
                    {
                        FieldName  = "备用手机号",
                        FieldValue = userInfo.PhoneNo2,
                        IsPhone    = true
                    });
                }

                // 判断用户名是否存在
                if (userInfo.Nikename != loginUserInfo.Nikename && OperateContext.Current.BLLSession.IUserInfoBLL.IsExist(m => m.Nikename == userInfo.Nikename))
                {
                    msg = "该用户名已被使用,请更换!";
                }

                // 判断是否正在实名认证
                if (OperateContext.Current.BLLSession.IUserInfoCertificateBLL.IsExist(m => m.UserInfoID == loginUserInfo.ID && m.State == 0))
                {
                    msg = "你正在进行实名认证,请实名认证后再修改信息!";
                }
            }
            else
            {
                msg = "请求数据错误!";
            }
            #endregion

            if (msg == null)
            {
                userInfo.ID = loginUserInfo.ID;
                int result = OperateContext.Current.BLLSession.IUserInfoBLL.Modify(userInfo,
                                                                                   "Img", "Nikename", "Username", "Gender", "IDCardNo", "Email", "PhoneNo", "PhoneNo2");

                if (result == 1)
                {
                    // 更新缓存
                    OperateContext.Current.UserInfo = OperateContext.Current.BLLSession.IUserInfoViewBLL.GetListBy(m => m.ID == loginUserInfo.ID).FirstOrDefault();
                    status = "ok";
                    msg    = "修改成功!";
                }
                else
                {
                    msg = "系统繁忙,请稍后再试!";
                }
            }

            return(OperateContext.Current.RedirectAjax(status, msg, null, null));
        }
Ejemplo n.º 20
0
    private void Awake()
    {
        _isArrowGoto = false;
        _touchArrow  = transform.Find("Buttons/StartBtn/TouchArrow");
        GuideArrow.DoAnimation(_touchArrow);

        _exchangeIntegralBar = transform.Find("TopBar/ExchangeIntegralBar");
        _visitPower          = transform.Find("TopBar/VisitPowerBar");
        _recolletionBar      = transform.Find("TopBar/RecolletionBar");

        _bgRawImage  = transform.Find("BackGround/Bg").GetComponent <RawImage>();
        _startButton = transform.Find("Buttons/StartBtn").GetComponent <Button>();
        _drawCardBtn = transform.Find("Buttons/RightBtnContent/DrawCardBtn").GetComponent <Button>();

        _supporterBtn   = transform.Find("StartPathBtnContainer/SupporterBtn").GetComponent <Button>();
        _missionBtn     = transform.Find("Buttons/RightBtnContent/MissionBtn").GetComponent <Button>();
        _achievementBtn = transform.Find("Buttons/RightBtnContent/AchievementBtn").GetComponent <Button>();
        _changeRoleBtn  = transform.Find("Buttons/LeftBtnContent/ChangeRoleBtn").GetComponent <Button>();

        _userInfoView   = transform.Find("UserInfoView");
        _fullviewBtn    = transform.Find("Buttons/LeftBtnContent/FullViewBtn").GetComponent <Button>();
        _stagingPostBtn = transform.Find("Buttons/LeftBtnContent/StagingPostBtn").GetComponent <Button>();

        _starActivityBtn = transform.GetButton("Buttons/RightBtnContent/StarActivityBtn");

        _birthdayBtn = transform.GetButton("Buttons/RightBtnContent/BirthdayBtn");

        _activityTemplateBtn        = transform.GetButton("Buttons/RightBtnContent/ActivityTemplateBtn");
        _activityCapsuleTemplateBtn = transform.GetButton("Buttons/RightBtnContent/ActivityCapsuleTemplateBtn");

        _activityMusicTemplateBtn = transform.GetButton("Buttons/RightBtnContent/ActivityMusicTemplateBtn");

        _animator = this.GetComponent <Animator>();
        _uiv      = _userInfoView.GetComponent <UserInfoView>();

        _backGround         = transform.Find("BackGround");
        _characterContainer = transform.Find("CharacterContainer");
        _live2dGraphic      = _characterContainer.Find("Live2dGraphic").GetComponent <Live2dGraphic>();
        if ((float)Screen.height / Screen.width > 1.8f)
        {
            _live2dGraphic.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, 0);
        }

        _starLineBack  = _characterContainer.Find("StarLineBack");
        _starLineFront = _characterContainer.Find("StarLineFront");

        _phoneBtn = transform.Find("StartPathBtnContainer/PhoneBtn").GetComponent <Button>();
        _mailBtn  = transform.Find("StartPathBtnContainer/MailBtn").GetComponent <Button>();

        _cardBtn        = transform.Find("Buttons/CardBtn").GetComponent <Button>();
        _appointmentBtn = transform.Find("StartPathBtnContainer/AppointmentBtn").GetComponent <Button>();

        _firstRechargeBtn = transform.GetButton("Buttons/LeftBtnContent/FirstRecharge");
        _totalRechargeBtn = transform.GetButton("Buttons/LeftBtnContent/11");

        _topBar = transform.Find("TopBar");

        _powerBar = _topBar.Find("PowerBar");

        _powerIconImage = _powerBar.Find("powerIcon").GetComponent <Image>();
        _powerIcon      = _powerBar.Find("powerIcon/OnClick");
        _powerAddIcon   = _powerBar.Find("addIcon/OnClick");
        _powerAddImg    = _powerBar.Find("addIcon");

        _goldBar     = _topBar.Find("GoldBar");
        _goldAddIcon = _goldBar.Find("addIcon/OnClick");

        _gemBar = _topBar.Find("GemBar");

        _powerTxt      = _topBar.Find("PowerBar/Text").GetComponent <Text>();
        _goldTxt       = _topBar.Find("GoldBar/Text").GetComponent <Text>();
        _gemTxt        = _topBar.Find("GemBar/Text").GetComponent <Text>();
        _visitPowerTxt = _topBar.Find("VisitPowerBar/Text").GetComponent <Text>();

        _buttons = transform.Find("Buttons");

        _startPathBtnContainer = transform.Find("StartPathBtnContainer");


        _triggerGiftBtn  = transform.GetButton("Buttons/TriggerGiftBtn");
        _triggerGiftText = transform.GetText("Buttons/TriggerGiftBtn/TextBg/Text");

        _activityBar   = transform.Find("ActivityBar");
        _activityPanel = _activityBar.Find("Panel");
        _activityPage  = _activityBar.Find("PageNums");
        _drawCardBtn.onClick.AddListener(OnDrawCardBtn);
        _startButton.onClick.AddListener(OnStartBtn);
        _supporterBtn.onClick.AddListener(OnSupporterBtn);
        _missionBtn.onClick.AddListener(OnMissionBtn);
        _fullviewBtn.onClick.AddListener(OnFullViewBtn);
        _stagingPostBtn.onClick.AddListener(OnStagingPostBtn);
        _appointmentBtn.onClick.AddListener(OnAppointmentBtn);


        _phoneBtn.onClick.AddListener(OnPhoneBtn);

        _cardBtn.onClick.AddListener(OnCardBtn);
        _mailBtn.onClick.AddListener(OnMailBtn);
        _changeRoleBtn.onClick.AddListener(OnChangeRoleBtn);
        _achievementBtn.onClick.AddListener(OnAchievementBtn);

        _firstRechargeBtn.onClick.AddListener(OnFirstRechargeBtn);
        _totalRechargeBtn.onClick.AddListener(OntotalRechargeBtn);

        _starActivityBtn.onClick.AddListener(OnStarActivityBtn);

        _birthdayBtn.onClick.AddListener(OnBirthdayBtn);

        _activityTemplateBtn.onClick.AddListener(ActivityTemplateBtn);
        _activityCapsuleTemplateBtn.onClick.AddListener(ActivityCapsuleTemplateBtn);

        _activityMusicTemplateBtn.onClick.AddListener(ActivityMusicTemplateBtn);

        _triggerGiftBtn.onClick.AddListener(ShowTriggerGift);
        _triggerGiftBtn.gameObject.Hide();

        PointerClickListener.Get(_powerIcon.gameObject).onClick    = PowerHint; //点击体力图标
        PointerClickListener.Get(_powerAddIcon.gameObject).onClick = BuyPower;

        PointerClickListener.Get(_goldAddIcon.gameObject).onClick = BuyGold;

        PointerClickListener.Get(_gemBar.gameObject).onClick = BuyGem;


        PointerClickListener.Get(_userInfoView.gameObject).onClick = PopupUserInfo;
        //  PointerClickListener.Get(_live2dGraphic.gameObject).onClick = PlayDialog;
        // UIEventListener.Get(_live2dGraphic.gameObject).onUp = Live2dTigger;


        PointerClickListener.Get(_recolletionBar.Find("addIcon/OnClick").gameObject).onClick   = BuyRecolletionPower;
        PointerClickListener.Get(_recolletionBar.Find("powerIcon/OnClick").gameObject).onClick =
            BuyRecolletionPowerHint;



        PointerClickListener.Get(_visitPower.Find("addIcon/OnClick").gameObject).onClick   = BuySupporterPower;
        PointerClickListener.Get(_visitPower.Find("powerIcon/OnClick").gameObject).onClick = BuySupporterPowerHint;


        Transform headClick = transform.Find("CharacterContainer/Live2dGraphic/Head");
        Transform bodyClick = transform.Find("CharacterContainer/Live2dGraphic/Body");

        PointerClickListener.Get(headClick.gameObject).onClick = Live2dClickTigger;
        PointerClickListener.Get(bodyClick.gameObject).onClick = Live2dClickTigger;


        SetLive2dClickSize();

        HandleFunctionOpen();


        _countDownTra = transform.Find("UserInfoView/CountDown");
        PointerClickListener.Get(_countDownTra.gameObject).onClick = go =>
        {
            GalaAccountManager.Instance.ShowWallVisitorView();
        };

        //CheckDownLoadQueue();
    }
        /// <summary>
        /// 提交登录申请
        /// </summary>
        /// <param name="account"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public string SubLogin(string account, string password)
        {
            UserInfoView user = _userInfoBll.GetUserInfo(account);

            //string md5Pswd = EncryptHelper.MD5(pswd);
            if (user == null)
            {
                return(JsonConvert.SerializeObject(new ExecuteResult(false, "用户名或密码错误")));
            }
            if (user.Password != password)
            {
                return(JsonConvert.SerializeObject(new ExecuteResult(false, "用户名或密码错误")));
            }
            //权限
            //user.UserAccessedControls = _userInfoBll.GetAccessedControls(account);
            //服务器设置缓存 用于单点登录
            UserStatusCheck.SetCache(user);
            //设置session
            SessionHelper.SetSession(UserInfoOfSession, user);

            #region 设置cookie

            HttpCookie cookie = CookieHelper.Get(EncryptHelper.MD5(UserInfoOfCookie));
            if (cookie != null)
            {
                CookieHelper.Remove(EncryptHelper.MD5(UserInfoOfCookie));
            }
            //cookie加密
            cookie = CookieHelper.Set(EncryptHelper.MD5(UserInfoOfCookie));
            string n1 = AppSettingsHelper.GetString("UserAccount");
            string p1 = AppSettingsHelper.GetString("UserPassword");
            cookie.Values.Add(EncryptHelper.MD5(n1), user.Account);
            cookie.Values.Add(EncryptHelper.MD5(p1), user.Password);
            CookieHelper.Save(cookie, Convert.ToInt32(AppSettingsHelper.GetString("ExpiresHours")));

            #endregion

            #region 记录登录日志
            XmlConfigurator.Configure();
            log4net.ILog log    = log4net.LogManager.GetLogger("loginfo");
            string       result = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (string.IsNullOrEmpty(result))
            {
                result = Request.ServerVariables["REMOTE_ADDR"];
            }
            if (string.IsNullOrEmpty(result))
            {
                result = Request.UserHostAddress;
            }
            if (string.IsNullOrEmpty(result))
            {
                result = "0.0.0.0";
            }
            ;
            string message = user.Account + "通过" + result + "于" + DateTime.Now.ToString() + "成功登录\r\n";
            log.Info(message);
            #endregion

            string url = Request.UrlReferrer.AbsoluteUri;

            if (url.IndexOf("?ReturnUrl") == -1)
            {
                string homepage = "http://" + Request.ServerVariables["HTTP_HOST"] + AppSettingsHelper.GetString("Homepage");
                return(JsonConvert.SerializeObject(new SingleExecuteResult <UserInfoView>(true, homepage, user)));
            }
            else
            {
                int    index  = url.IndexOf("?ReturnUrl");
                string urls   = url.Substring(index, url.Length - index);
                int    index1 = urls.IndexOf('=');
                int    index2 = urls.IndexOf('&');
                if (index2 == -1)
                {
                    string urlreturn = urls.Substring(index1 + 1, urls.Length - index1 - 1);
                    return(JsonConvert.SerializeObject(new SingleExecuteResult <UserInfoView>(true, urlreturn, user)));
                }
                else
                {
                    string urlreturn = urls.Substring(index1 + 1, index2 - index1 - 1);
                    return(JsonConvert.SerializeObject(new SingleExecuteResult <UserInfoView>(true, urlreturn, user)));
                }
            }
        }
        public ActionResult <MessageModel <RegisterResponseDTO> > ModifyOwnUserInfo([FromBody] RegisterRequest registerReq)
        {
            UserInfoDTO userModel = null;

            Tools.Utility.TokenResource accessToken = null;
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();

                return(BadRequest(new MessageModel <RemitRecordDTO>
                {
                    Status = (int)HttpStatusCode.BadRequest,
                    Success = false,
                    Msg = string.Join(",", errors)
                }));
            }


            var     userId  = long.Parse(User.FindFirstValue("id"));
            UserArc userArc = userService.GetUserArcById(userId);

            if (userArc.KycStatus != (short)KycStatusEnum.DRAFT_MEMBER)
            {
                return(BadRequest(new MessageModel <RegisterResponseDTO>
                {
                    Status = (int)HttpStatusCode.BadRequest,
                    Success = false,
                    Msg = "Only Draft member can register"
                }
                                  ));
            }
            if (String.IsNullOrEmpty(userArc.IdImageA) || String.IsNullOrEmpty(userArc.IdImageB))
            {
                return(BadRequest(new MessageModel <RegisterResponseDTO>
                {
                    Status = (int)HttpStatusCode.BadRequest,
                    Success = false,
                    Msg = "Please upload your ID photo"
                }
                                  ));
            }
            User             user             = userService.GetUserById(userId);
            UserRegisterType userRegisterType = userService.GetUserRegisterTypeById(userId);

            //user data
            user.Phone    = registerReq.phone;
            user.Email    = userRegisterType.Email;
            user.Gender   = (byte)registerReq.gender;
            user.Birthday = registerReq.birthday;

            //userArc data
            userArc.ArcName             = registerReq.name;
            userArc.Country             = registerReq.country;
            userArc.ArcNo               = registerReq.personalID;
            userArc.PassportId          = registerReq.passportNumber;
            userArc.BackSequence        = registerReq.backCode;
            userArc.ArcIssueDate        = registerReq.issue;
            userArc.ArcExpireDate       = registerReq.expiry;
            userArc.KycStatus           = (short)KycStatusEnum.WAITING_VERIFIED_KYC;
            userArc.KycStatusUpdateTime = DateTime.UtcNow;

            //update UserRegisterType data
            userRegisterType.RegisterTime = DateTime.Now;



            bool isRegister = userService.ReigsterUser(user, userArc, userRegisterType);

            if (isRegister == false)
            {
                return(BadRequest());
            }

            UserInfoView userInfo = userService.GetUserInfoById(userId);

            //// 將 user 置換成 ViewModel
            userModel = mapper.Map <UserInfoDTO>(userInfo);

            accessToken = jwtHandler.CreateAccessToken(userModel.Id, userModel.Email, userModel.ArcName);

            // 系統掃ARC No.
            BackgroundJob.Enqueue(() => userService.SystemVerifyArcForRegisterProcess(int.Parse(User.FindFirstValue("id"))));

            //return Ok(new MessageModel<UserInfoDTO>
            //{
            //    Data = userModel
            //});

            return(Ok(new MessageModel <RegisterResponseDTO>
            {
                Data = new RegisterResponseDTO
                {
                    Jwt = accessToken.Token,
                    kycStatus = (short)userModel.KycStatus
                }
            }));
        }