Exemplo n.º 1
0
        public ActionResult MemberEditProfileRenderForm()
        {
            var memberService = Services.MemberService;
            var model         = new MemberRegisterModel();
            var curMember     = memberService.GetById(Members.GetCurrentMemberId());

            model.FirstName          = curMember.GetValue <string>("firstname");
            model.LastName           = curMember.GetValue <string>("lastname");
            model.MailingListInclude = curMember.GetValue <bool>("mailingListInclude");  // this is not doing anything - replace with your mailchimp integration!

            return(PartialView("Account/MemberEditProfile", model));
        }
Exemplo n.º 2
0
        public IHttpActionResult Register(MemberRegisterModel memberRegisterModel)
        {
            string error_message = "Register錯誤,請至伺服器log查詢錯誤訊息";

            if (!ModelState.IsValid)
            {
                return(Ok(new
                {
                    result = ModelState
                }));
            }
            try
            {
                //信箱重複
                if (MemberExists(memberRegisterModel.email))
                {
                    return(Ok(new
                    {
                        result = "信箱重複"
                    }));
                }
                //正常流程
                Member member = new Member();
                member.membername = memberRegisterModel.membername;
                member.phone      = memberRegisterModel.phone;
                member.email      = memberRegisterModel.email;
                member.pwdsalt    = Utility.CreateSalt();;
                member.pwd        = Utility.GenerateHashWithSalt(memberRegisterModel.pwd, member.pwdsalt);
                member.del_flag   = "N";
                member.avatar     = memberRegisterModel.avatar;
                db.Member.Add(member);
                db.SaveChanges();

                return(Ok(new
                {
                    result = "註冊成功"
                }));
            }
            catch (Exception ex)
            {
                Utility.log("會員註冊", ex.ToString());
                return(Ok(new
                {
                    result = error_message
                }));
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Register(MemberRegisterModel registerModel)
        {
            //reqem,boyuk kicik herf,minimum 8 uzunluq,3 defe sehv yigma
            if (!ModelState.IsValid)
            {
                return(View());
            }

            AppUser existUser = await _userManager.FindByNameAsync(registerModel.UserName);

            if (existUser != null)
            {
                ModelState.AddModelError("UserName", "UserName already taken");
                return(View());
            }
            AppUser newUser = new AppUser()
            {
                FullName = registerModel.FullName,
                UserName = registerModel.UserName,
                IsAdmin  = false,
            };

            var result = await _userManager.CreateAsync(newUser, registerModel.Password);

            if (!result.Succeeded)
            {
                foreach (var item in result.Errors)
                {
                    if (item.Code == "PasswordTooShort")
                    {
                        item.Description = "Passwordun uzunlugu 8-den kicik ola bilmez";
                    }
                    else if (item.Description == "ConfirmedPassword and Password do not match.")
                    {
                        item.Description = "Alinmadi";
                    }
                    ModelState.AddModelError("", item.Description);
                }
                return(View());
            }

            await _userManager.AddToRoleAsync(newUser, "Member");

            await _signInManager.SignInAsync(newUser, true);

            return(RedirectToAction("index", "home"));
        }
Exemplo n.º 4
0
        public static bool MemberRegister(MemberRegisterModel memberRegisterModel, out int repeatCode, out string errMsg, ref object result_data)
        {
            errMsg     = string.Empty;
            repeatCode = 0;
            string url        = SysConfigBusiness.XCCloudHost + "/xccloud/member?action=register";
            string param      = Utils.SerializeObject(memberRegisterModel);
            string resultJson = Utils.HttpPost(url, param);

            if (Utils.CheckApiReturnJson(resultJson, ref result_data, out errMsg))
            {
                object repeatCodeObj = Utils.GetJsonObjectValue(result_data, "repeatCode");
                repeatCode = Convert.ToInt32(repeatCodeObj);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Agreement)
                {
                    MemberRegisterModel m = new MemberRegisterModel()
                    {
                        InviteCode  = model.InviteCode,
                        MemberName  = model.MemberName,
                        MemberPhone = model.MemberPhone,
                        Password    = model.Password
                    };

                    Dictionary <bool, string> dic = await _memberService.RegisterMember(m);

                    if (dic.First().Key)
                    {
                        Members member = await DbHelper.QuerySingleAsync <Members>("select * from Members where MemberName=@MemberName and MemberPhone=@MemberPhone", new
                        {
                            MemberName  = model.MemberName,
                            MemberPhone = model.MemberPhone
                        });

                        this.Session["UserInfo"] = member;
                        return(Redirect("/User/Info"));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = dic.First().Value;
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = "请勾选 我已阅读并同意无忧借款服务协议";
                }
            }

            return(View(model));
        }
Exemplo n.º 6
0
        public async Task <JsonResult <MemberRegisterModel> > RegisterMember(MemberRegisterModel entity)
        {
            Dictionary <bool, string> dic = await _memberService.RegisterMember(entity);

            if (dic.First().Key)
            {
                //根据用户名和手机号获取MemberID

                Members member = await DbHelper.QuerySingleAsync <Members>("select * from Members where MemberName=@MemberName and MemberPhone=@MemberPhone", new
                {
                    MemberName  = entity.MemberName,
                    MemberPhone = entity.MemberPhone
                });

                entity.MemberID = member.MemberID;
            }

            return(new JsonResult <MemberRegisterModel>
            {
                status = dic.First().Key,
                Message = dic.First().Value,
                Data = entity
            });
        }
Exemplo n.º 7
0
        /// <summary>
        /// 注册用户
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Dictionary <bool, string> > RegisterMember(MemberRegisterModel model)
        {
            Dictionary <bool, string> dic = new Dictionary <bool, string>();

            DbParameter[] parameters = new DbParameter[] {
                new SqlParameter("@MemberName", SqlDbType.NVarChar, 50)
                {
                    Value = model.MemberName
                },
                new SqlParameter("@MemberPhone", SqlDbType.NVarChar, 50)
                {
                    Value = model.MemberPhone
                },
                new SqlParameter("@Password", SqlDbType.NVarChar, 100)
                {
                    Value = model.HashPassword
                },
                new SqlParameter("@InviteCode", SqlDbType.NVarChar, 50)
                {
                    Value = model.InviteCode ?? (object)DBNull.Value
                },
                new SqlParameter("@Flag", SqlDbType.Bit)
                {
                    Direction = ParameterDirection.Output
                },
                new SqlParameter("@Message", SqlDbType.NVarChar, 50)
                {
                    Direction = ParameterDirection.Output
                }
            };
            await DbHelper.ExecuteSqlCommandAsync("Member_Register", parameters, CommandType.StoredProcedure);

            dic.Add((bool)parameters[4].Value, parameters[5].Value.ToString());

            return(dic);
        }
Exemplo n.º 8
0
        public ActionResult Create(MemberRegisterModel Mr)
        {
            MemberModel M = Mr.member;

            E_health_careModels.LoginModel L = Mr.login;

            L.UserType = "Member";


            tblLogin ln = new tblLogin();

            ln.intLoginid  = L.Loginid;
            ln.strEmail    = L.Email;
            ln.strPassword = L.Password;
            ln.strUserType = L.UserType;


            db.tblLogins.Add(ln);
            db.SaveChanges();

            tblMember me = new tblMember();

            me.intMemberID   = M.MemberID;
            me.intLoginID    = ln.intLoginid;
            me.strMemberName = M.MemberName;
            me.intAge        = M.Age;
            me.strAddress    = M.Address;
            me.strPhoneNo    = M.PhoneNo;
            me.strGender     = M.Gender;


            db.tblMembers.Add(me);
            db.SaveChanges();

            return(RedirectToAction("Authenticate", "Login"));
        }
Exemplo n.º 9
0
        public static void CreateICCard(string msg, Dictionary <string, Session> sessionPool, string sendIP)
        {
            string sRepeatCode   = (new Random()).Next(0, 255).ToString();
            string receiveIP     = string.Empty;
            string dogId         = string.Empty;
            string storePassword = string.Empty;
            string newICCardId   = string.Empty;
            string errMsg        = string.Empty;
            string answerMsgType = Convert.ToInt32(TCPMessageType.办理新IC卡).ToString();
            //解析消息对象
            SocketDataModel <UserSendObject, MemberRegisterModel> socketDataModel = Utils.DataContractJsonDeserializer <SocketDataModel <UserSendObject, MemberRegisterModel> >(msg);
            UserSendObject      sendObj             = socketDataModel.SendObject;
            MemberRegisterModel memberRegisterModel = (MemberRegisterModel)(socketDataModel.Data);

            newICCardId = memberRegisterModel.ICCardId;
            //接受信息方是否存在
            if (!GetIP(sessionPool, sendObj.UserToken, out receiveIP))
            {
                SendFailData(answerMsgType, sessionPool, sendIP, "用户未注册");
                return;
            }
            //获取店密码接口
            string userToken = sendObj.UserToken;

            if (!StoreBusiness.GetStorePassword(userToken, out storePassword, out errMsg))
            {
                SendFailData(answerMsgType, sessionPool, sendIP, "获取门店信息出错");
                return;
            }
            //验证是否可以办卡
            if (ICCardUtility.CheckNullCard(storePassword))
            {
                if (MemberBusiness.CheckMemberCanRegister(userToken, memberRegisterModel.StoreId, memberRegisterModel.Mobile, out errMsg))
                {
                    //办理新卡
                    if (ICCardUtility.CreateICCard(newICCardId, sRepeatCode, storePassword, out errMsg, true))
                    {
                        memberRegisterModel.RepeatCode = sRepeatCode;
                        object result_data = null;
                        int    repeatCode  = 0;
                        if (MemberBusiness.MemberRegister(memberRegisterModel, out repeatCode, out errMsg, ref result_data))
                        {
                            SendSuccessData(answerMsgType, sessionPool, sendIP, "会员卡开通成功", result_data);
                        }
                        else
                        {
                            SendFailData(answerMsgType, sessionPool, sendIP, errMsg);
                        }
                    }
                    else
                    {
                        SendFailData(answerMsgType, sessionPool, sendIP, errMsg);
                    }
                }
                else
                {
                    SendFailData(answerMsgType, sessionPool, sendIP, errMsg);
                }
            }
            else
            {
                SendFailData(answerMsgType, sessionPool, sendIP, "本卡已使用,请插入空卡");
            }
        }
        public ActionResult MemberRegisterForm(MemberRegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var memberService = Services.MemberService;

                // Recommend to use the member's email as a username so we only need to check this here - if you've got legacy users with other user names you'll
                // need to change this.
                if (MemberHelper.EmailIsInUse(model.Email))
                {
                    var curMember = memberService.GetByEmail(model.Email);
                    // Here's the question - should you expose that an email address is in use already? This allows for phishing etc... how else to tell a user
                    // the reason they can't complete the registration is, well, because they are already registered!
                    // for security you should probably send them an email at this point with a link to reset their password if need be saying they are
                    // already registered
                    // See https://www.troyhunt.com/everything-you-ever-wanted-to-know/
                    // Set up the info for the already registered email
                    Dictionary <string, string> alreadyemailFields = new Dictionary <string, string>
                    {
                        { "FIRSTNAME", curMember.GetValue <string>("firstname") },
                        { "EMAIL", model.Email },
                        { "DOMAIN", HttpContext.Request.Url.Authority }
                    };

                    // Send the validation email
                    bool alreadyEmailSent = EmailHelper.SendEmail("Already Registered", "*****@*****.**", model.Email, alreadyemailFields);

                    // send back the same status regardless for security
                    TempData["Status"] = "Your account has been created, before logging in please check your email and click on the list to valdiate your account and complete the registration process.";
                    //TempData["Status"] = "Email is already in use - if you've forgotten your password or lost the account validation email please use the reset password functionality to recover your account.";
                    return(CurrentUmbracoPage());
                }

                // create a GUID for the account validation
                string newUserGuid = System.Guid.NewGuid().ToString("N");

                // create the member using the MemberService
                var member = memberService.CreateMember(model.Email, model.Email, model.FirstName + " " + model.LastName, "Member");

                // set custom member data properties and set to NOT approved - careful with the alias case on your custom
                // properties! e.g. firstname won't work with this code - the Umbraco backoffice changes in v.7.4.2+ mean you can't set your own
                // alias - if you've "upgrading" following earlier tutorials note the case difference!

                // Set custom properties - we should check our custom properties exist first
                // if (member.HasProperty("firstName"))  - we'll let it bomb instead for learning / setup.
                member.SetValue("firstName", model.FirstName);
                member.SetValue("lastName", model.LastName);
                member.SetValue("validateGUID", newUserGuid);
                // set the expiry to be 24 hours.
                member.SetValue("validateGUIDExpiry", DateTime.Now.AddDays(1));
                member.SetValue("mailingListInclude", model.MailingListInclude);
                member.IsApproved = false;

                // remember to save
                memberService.Save(member);

                // save their password
                memberService.SavePassword(member, model.Password);

                // add to the WebsiteRegistrations group (this is so we can differentiate website members from any others you might have.)
                memberService.AssignRole(member.Id, "WebsiteRegistrations");

                // Set up the info for the validation email
                Dictionary <string, string> emailFields = new Dictionary <string, string>
                {
                    { "FIRSTNAME", model.FirstName },
                    { "LASTNAME", model.LastName },
                    { "EMAIL", model.Email },
                    { "VALIDATEGUID", newUserGuid },
                    { "DOMAIN", HttpContext.Request.Url.Authority }
                };

                // Send the validation email
                bool emailSent = EmailHelper.SendEmail("Validate Registration Email", "*****@*****.**", model.Email, emailFields);

                // for testing I'm returning my guid to test the next bit without an email (e.g. copying and pasting into browser)
                // string host = HttpContext.Request.Url.Authority;
                // string validateURL = "http://" + host + "/account/validate?email=" + model.Email + "&guid=" + newUserGuid;
                // ONLY FOR TESTING - it outputs the validate link to the webpage which defeats the object!
                //TempData["Status"] = "Member created! Test validate url = <a href=\"" + validateURL + "\">" + validateURL + "</a>";

                TempData["Success"] = emailSent;
                TempData["Status"]  = "Your account has been created, before logging in please check your email and click on the list to valdiate your account and complete the registration process.";
                return(RedirectToCurrentUmbracoPage());
            }
            else
            {
                // model is invalid
                TempData["Status"] = "Please ensure you've provided all the required information.";
                return(CurrentUmbracoPage());
            }
        }
Exemplo n.º 11
0
        public ApiResult Create([FromBody] MemberRegisterModel member)
        {
            Argument.ThrowIfNullOrEmpty(member.PhoneNumber, "手机号码");
            Argument.ThrowIfNullOrEmpty(member.Password, "密码");
            //Argument.ThrowIfNullOrEmpty(member.NickName, "昵称");
            Argument.ThrowIfNullOrEmpty(member.SmsVerifyCode, "短信验证码");

            var result = new ApiResult();

            User user = _memberService.FindUserByName(member.PhoneNumber);

            if (user != null)
            {
                throw new WebApiInnerException("0001", "此手机号已经注册");
            }

            //if (_memberService.NickNameIsExists(member.NickName)) throw new WebApiInnerException("0003", "昵称已经被占用");


            if (!_smsService.VerifyCode(member.PhoneNumber, member.SmsVerifyCode, MemberCenterModule.Instance, SmsRequestType.Register.ToString()))
            {
                throw new WebApiInnerException("0002", "短信验证码验证失败");
            }

            string referrerId = null;
            string parentIds  = null;

            if (!string.IsNullOrWhiteSpace(member.InvitationCode))
            {
                var referrer = _memberService.FindMemberByInvitationCode(member.InvitationCode);
                if (referrer != null && referrer.MemberType == MemberType.Partner)
                {
                    referrerId = referrer.Id;
                    if (string.IsNullOrWhiteSpace(referrer.ParentIds))
                    {
                        parentIds = referrer.Id;
                    }
                    else
                    {
                        var maxLevel = _configService.Get <SystemConfig>().MaxLevel;
                        var ids      = referrer.ParentIds.Split(',');
                        if (ids.Count() >= maxLevel)
                        {
                            //只取系统设置的层级数量
                            parentIds = "";
                            for (int i = maxLevel - 3; i < ids.Count(); i++)
                            {
                                if (string.IsNullOrWhiteSpace(parentIds))
                                {
                                    parentIds = ids[i];
                                }
                                else
                                {
                                    parentIds += "," + ids[i];
                                }
                            }

                            parentIds += "," + referrer.Id;
                        }
                        else
                        {
                            parentIds = referrer.ParentIds + "," + referrer.Id;
                        }
                    }
                }
            }

            var code = KeyGenerator.GenerateRandom(6);

            while (_memberService.FindMemberByInvitationCode(code) != null)
            {
                code = KeyGenerator.GenerateRandom(6);
            }

            var newMember = new Member
            {
                UserName       = member.PhoneNumber,
                PhoneNumber    = member.PhoneNumber,
                LockoutEnabled = false,
                Sex            = SexType.UnKonw,
                NickName       = member.PhoneNumber,
                Birthday       = DateTime.Parse("1949-10-1"),
                ChannelId      = member.ChannelId,
                ReferrerId     = referrerId,
                ParentIds      = parentIds,
                CreateTime     = DateTime.Now,
                InvitationCode = code
            };

            using (TransactionScope scope = new TransactionScope())
            {
                var identityResult = _memberService.CreateMember(newMember, member.Password);

                if (!identityResult.Succeeded)
                {
                    throw new WebApiInnerException("0003", identityResult.Errors.FirstOrDefault());
                    //result.msg = identityResult.Errors.FirstOrDefault();
                }
                else
                {
                    //添加推广积分
                    if (!string.IsNullOrWhiteSpace(newMember.ReferrerId))
                    {
                        var    systemConfig = _configService.Get <SystemConfig>();
                        string error;
                        _walletService.Deposit(newMember.ReferrerId, Wallet.Models.WalletType.Integral, systemConfig.RecommendIntegral, "推荐新用户奖励", out error);
                    }

                    //绑定微信
                    if (!string.IsNullOrWhiteSpace(member.OpenId))
                    {
                        _currencyService.DeleteByConditon <UserOAuth>(uo => uo.OAuthType == OAuthType.WeiXin && uo.OAuthId.Equals(member.OpenId, StringComparison.OrdinalIgnoreCase));

                        _currencyService.Create(new UserOAuth()
                        {
                            Id        = KeyGenerator.GetGuidKey(),
                            MemberId  = newMember.Id,
                            OAuthId   = member.OpenId,
                            OAuthType = OAuthType.WeiXin
                        });
                    }

#if DEBUG
                    //添加测试余额
                    string errorMessage;
                    _walletService.Deposit(newMember.Id, Wallet.Models.WalletType.Cash, 100000, "测试现金", out errorMessage);
                    _walletService.Deposit(newMember.Id, Wallet.Models.WalletType.Integral, 100000, "测试积分", out errorMessage);
#endif
                    var createdMember = _memberService.FindMemberById(newMember.Id);
                    result.SetData(createdMember.Simplified());
                    //提交
                    scope.Complete();
                }
            }

            return(result);
        }