public async Task <ActionResult> Index(MemberRegisterViewModel vm, FormCollection frm) { try { string result = string.Empty; //var personalPhotoPath = Server.MapPath("~/Content/Personal"); string personalPhotoPath = Server.MapPath(System.Web.Configuration.WebConfigurationManager.AppSettings["MemberPhotoPath"].ToString()); //var familyPhotoPath = Server.MapPath("~/Content/Family"); string tempPhotoPath = Server.MapPath(System.Web.Configuration.WebConfigurationManager.AppSettings["TempPhotoPath"].ToString()); //Insert new register member and family details //result = await vm.RegisterMember(vm, frm, personalPhotoPath, familyPhotoPath, tempPhotoPath); result = await vm.RegisterMember(vm, frm, personalPhotoPath, tempPhotoPath); TempData["Message"] = result; return(RedirectToAction("Dashboard", "MemberShip")); } catch (Exception ex) { TempData["Message"] = ex.Message.ToString(); return(RedirectToAction("Index", "MemberRegister")); } }
public ActionResult Register(MemberRegisterViewModel input) { MemberViewModel memberVM = _memberservice.GetMember(x => x.MemberRegEmail == input.Email); if (memberVM != null) { return(RedirectToAction("RegisterFail", "Member")); } if (ModelState.IsValid) //這裡是後端驗證input欄位對不對 { MemberViewModel vm = new MemberViewModel() { MemberName = input.Name, MemberRegEmail = input.Email, MemberPassword = input.Password, MemberBirth = StringtoDate(input.BirthDay), Gender = input.gender, Permission = 1 }; string registerResult = _api.CreateMember(vm); if (registerResult == "成功") { return(RedirectToAction("RegisterSuccess", "Member")); } else { return(RedirectToAction("RegisterFail", "Member")); } } return(RedirectToAction("RegisterFail", "Member")); }
public async Task<ActionResult> MemberRegister(MemberRegisterViewModel model) { if (ModelState.IsValid) { var user = model.GetUser(); var member = model.GetMemberDto(); var phone = model.GetPhone(); var address = model.GetAddress(); var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await _hcSerivice.CreateMemberAsync(member, phone, address); var currentUser = await UserManager.FindByEmailAsync(user.Email); var roleResult = await UserManager.AddToRoleAsync(currentUser.Id, "Member"); UserManager.AddClaim(currentUser.Id, new Claim(ClaimTypes.Role, "Member")); if (roleResult.Succeeded) { await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); return RedirectToAction("Index", "Home"); } AddErrors(roleResult); } AddErrors(result); } return View(model); }
public IActionResult Register(MemberRegisterViewModel viewModel) { if (ModelState.IsValid) { bool errorData = false; if (!_memberService.CheckEmailIsAvailable(viewModel.Email)) { errorData = true; ModelState.AddModelError("Email", "Cette e-mail est utilisé !"); } if (!_memberService.CheckPseudoIsAvailable(viewModel.Pseudo)) { errorData = true; ModelState.AddModelError("Pseudo", "Ce pseudo est utilisé (Tips: Met des chiffre :p)"); } if (!errorData) { Member member = _memberService.Create(new Member() { Email = viewModel.Email, Pseudo = viewModel.Pseudo, Password = viewModel.Password1 }); HttpContext.Session.SetMember(member); return(RedirectToAction("Index", "Home")); } } return(View(viewModel)); }
public async Task <IActionResult> Register(MemberRegisterViewModel model) { if (ModelState.IsValid) { var member = mapper.Map <Member>(model); _context.Add(member); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }
public async Task<ActionResult> MemberRegister() { var model = new MemberRegisterViewModel { SexOptions = new List<SelectizeItem<int>> { new SelectizeItem<int>(Enum.GetName(typeof (Sex), Sex.Male), (int) Sex.Male), new SelectizeItem<int>(Enum.GetName(typeof (Sex), Sex.Female), (int) Sex.Female) } }; return View(model); }
public ActionResult Register(MemberRegisterViewModel RegisterMember) { //判斷頁面資料是否經過驗證 if (ModelState.IsValid) { // 將頁面資料中的密碼欄位填入 RegisterMember.newMember.Password = RegisterMember.Password; //取得信箱驗證碼 string AuthCode = mailService.GetValidateCode(); //將信箱驗證碼填入 RegisterMember.newMember.AuthCode = AuthCode; //呼叫Serrvice註冊新會員 membersService.Register(RegisterMember.newMember); //取得寫好的驗證信範本內容 string TempMail = System.IO.File.ReadAllText(Server.MapPath("~/Views/Shared/RegisterEmailTemplate.html")); //宣告Email驗證用Url UriBuilder ValidateUrl = new UriBuilder(Request.Url) { Path = Url.Action("EmailValidate", "Members" , new { Account = RegisterMember.newMember.Account, AuthCode = AuthCode }) }; //藉由Service將使用者資料夾填入驗證信範本 string MailBody = mailService.GetRegisterMailBody(TempMail, RegisterMember.newMember.Name, ValidateUrl.ToString().Replace("%3F", "?")); //呼叫Service寄出驗證信 mailService.SendRegisterMail(MailBody, RegisterMember.newMember.Email); //用TempData儲存註冊訊息 TempData["RegisterState"] = "註冊成功,請去收信以驗證Email"; //重新導向頁面 return(RedirectToAction("RegisterResult")); } //未經驗證清空密碼相關欄位 RegisterMember.Password = null; RegisterMember.PasswordCheck = null; //將資料回填至View中 return(View(RegisterMember)); }
public async Task <JsonResult> InsertFamilyMemberDetails(MemberRegisterViewModel vm) { string result = string.Empty; try { result = await vm.InsertFamilyMemberDetails(vm); } catch (Exception ex) { result = ex.Message.ToString(); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit(MemberRegisterViewModel vm) { string result = string.Empty; //var personalPhotoPath = Server.MapPath("~/Content/Personal"); string personalPhotoPath = Server.MapPath(System.Web.Configuration.WebConfigurationManager.AppSettings["MemberPhotoPath"].ToString()); string tempPhotoPath = Server.MapPath(System.Web.Configuration.WebConfigurationManager.AppSettings["TempPhotoPath"].ToString()); //Insert new register member and family details result = await vm.UpdateRegisterMember(vm, personalPhotoPath, tempPhotoPath);//, frm, personalPhotoPath, familyPhotoPath); TempData["Message"] = result; return(RedirectToAction("Dashboard", "Membership")); //return View(vm); }
public Member AddMember(MemberRegisterViewModel member) { //Member newMember = _connection.DbPath.ExecStoredProcedure<Member>("AddMember", //new //{ // member.NickName, // member.PasswordHash, // member.PasswordSalt //}).FirstOrDefault(); //return newMember; //FAKE DATA return(new Member() { NickName = member.NickName }); }
/* Custom method to get the physical path of the image folder and its steps; * // uploading the file in images folder in wwwroot folder * // using Ihosting environment service of core to get the physical path of the wwwroot folder * // Guid is used for unique filename * // CopyTo method of IFormFile property of the photo */ private string processUploadedFile(MemberRegisterViewModel model) { string uniqueFileName = null; if (model.Photo != null) { string uploadfolder = Path.Combine(hostingEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName; string filePath = Path.Combine(uploadfolder, uniqueFileName); // with "Using", "fileStream" will be disposed after executing the statements inside the braces using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Photo.CopyTo(fileStream); } } return(uniqueFileName); }
public IActionResult Register(MemberRegisterViewModel model) { if (ModelState.IsValid) { string uniqueFileName = processUploadedFile(model); // create new member object to copy the properties from incoming object to new member. Member newMember = new Member { Name = model.Name, Email = model.Email, Department = model.Department, PhotoPath = uniqueFileName }; _memberRepository.Add(newMember); return(RedirectToAction("details", new { id = newMember.Id })); } return(View()); }
public ResultSet <Member> AddMember(MemberRegisterViewModel member) { var result = new ResultSet <Member>(); /******This nickname is exists*******************/ if (_memberRepository.GetMemberByNickname(member.NickName) != null) { result.Message = "This nickname is already in use"; return(result); } if (!string.IsNullOrEmpty(member.Password) && member.Password.Length > 16) { result.Message = "Invalid password string length"; return(result); } if (!string.IsNullOrEmpty(member.Password)) { string hash, salt; _hashProvider.GetHashAndSaltString(member.Password, out hash, out salt); member.PasswordHash = hash; member.PasswordSalt = salt; } var newMember = _memberRepository.AddMember(member); if (newMember != null) { result.Success = true; result.Message = Messages.OperationSuccess; result.Object = newMember; } return(result); }
public ActionResult Register(MemberRegisterViewModel member, string returnUrl = "") { var returnModel = new RegistrationLoginViewModel() { LoginViewModel = new MemberLoginViewModel(), RegistrationViewModel = member, Error = Errors(GetModelErrors()) }; if (ModelState.IsValid) { ResultSet <Member> resultMember = _memberBusiness.AddMember(member); if (!resultMember.Success) { ModelState.AddModelError("Error", resultMember.Message); } } returnModel.Error = Errors(GetModelErrors()); return(Json(returnModel)); }
public ActionResult Register(MemberRegisterViewModel source) { string message = ""; if (ModelState.IsValid) { #region //檢查信箱是否已經存在 if (All.MS().CheckNullable(x => x.Email == source.Email)) { ModelState.AddModelError("EmailExist", "Email已經存在請更換!! This Email already exist"); return(View()); } #endregion #region //檢查帳號是否已經存在 if (All.MS().CheckNullable(x => x.MemberAccount.Equals(source.MemberAccount))) { ModelState.AddModelError("AccountExist", "此帳號已經存在,請更換帳號!! This Account already registered."); //ViewBag.Message = "此帳號已經存在,請更換帳號!!"; return(View()); } #endregion string ActivationCode = All.MS().AddMember(source, source.Password); #region //寄送帳號啟用信 Send Email to Account SendVerifyOrResetEmail(source.Email, ActivationCode); message = "註冊成功,驗證帳號連結已寄到您的信箱. Registration successfully done. Account activation link " + " has been sent to your Email : " + source.Email; /*"恭喜!! " + member.MemberAccount + " 已成功註冊"*/ #endregion ModelState.Clear();//清除 (包含錯誤訊息與模型繫結的資料都會被清空) ViewBag.Message = message; //return RedirectToAction("Login"); } return(View()); }
//判斷註冊帳號是否被註冊過Action public JsonResult AccountCheck(MemberRegisterViewModel RegisterMember) { //呼叫Service來判斷回傳結果 return(Json(membersService.AccountCheck(RegisterMember.newMember.Account), JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> Register(MemberRegisterViewModel registerVM) { #region CheckModelState if (!ModelState.IsValid) { return(View()); } #endregion AppUser member = await _userManager.FindByEmailAsync(registerVM.Email); #region CheckMemberEmailAndUserName if (member != null) { ModelState.AddModelError("", "Email already used"); return(View()); } else { member = await _userManager.FindByNameAsync(registerVM.UserName); if (member != null) { ModelState.AddModelError("", "Username already used"); return(View()); } } #endregion member = new AppUser { UserName = registerVM.UserName, Email = registerVM.Email, FullName = registerVM.FullName }; var result = await _userManager.CreateAsync(member, registerVM.Password); if (!result.Succeeded) { foreach (var item in result.Errors) { ModelState.AddModelError("", item.Description); } return(View()); } await _userManager.AddToRoleAsync(member, "Member"); ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, member.UserName), new Claim(ClaimTypes.Email, member.Email), new Claim(ClaimTypes.Role, "Member") }, "Member_Auth"); ClaimsPrincipal claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync("Member_Auth", claimsPrincipal); return(RedirectToAction("index", "home")); }
public ActionResult Regsiter([Bind(Prefix = "registerModel")] MemberRegisterViewModel model) { ResponseModel result = new ResponseModel(); string code = Session["code"] == null ? string.Empty : Session["code"].ToString(); if (code != model.Code) { result.Success = false; result.Msg = "验证码错误,请重新获取验证码"; return(Json(result, JsonRequestBehavior.AllowGet)); } IMember validatemember = Services.MemberService.GetMembersByPropertyValue("tel", model.Phone).FirstOrDefault(); if (validatemember != null) { result.Success = false; result.Msg = "该手机号已经注册,请用手机号进行登录"; result.IsRedirect = false; return(Json(result, JsonRequestBehavior.AllowGet)); } RegisterModel registerModel = RegisterModel.CreateModel(); registerModel.Email = model.Phone + "@qq.com"; registerModel.Password = model.Password; registerModel.Name = "匿名"; MembershipCreateStatus status; //注册用户 var member = Members.RegisterMember(registerModel, out status, true); switch (status) { case MembershipCreateStatus.DuplicateEmail: case MembershipCreateStatus.DuplicateProviderUserKey: case MembershipCreateStatus.DuplicateUserName: { result.Success = false; result.Msg = "用户重复,请重新注册!"; break; } case MembershipCreateStatus.InvalidAnswer: break; case MembershipCreateStatus.InvalidEmail: { result.Success = false; result.Msg = "邮箱格式不正确请重新输入!"; break; } case MembershipCreateStatus.InvalidPassword: break; case MembershipCreateStatus.InvalidProviderUserKey: break; case MembershipCreateStatus.InvalidQuestion: break; case MembershipCreateStatus.InvalidUserName: break; case MembershipCreateStatus.ProviderError: break; case MembershipCreateStatus.Success: { var m = Services.MemberService.GetByUsername(member.UserName); m.SetValue("tel", model.Phone); //m.SetValue("fundAccount", "1000"); Services.MemberService.SavePassword(m, model.Password); Services.MemberService.Save(m); result.Success = true; //result.Msg = "欢迎您的加入,您成功注册,我们额外赠送1000元定期宝一个月"; result.Msg = "欢迎您的加入,您成功注册"; result.IsRedirect = true; //result.RedirectUrl = "/memberinfo?show=true"; result.RedirectUrl = "/memberinfo"; EventHandlers.CustomRaiseEvent.RaiseRegistered(m); //赠送5000元定期宝一月期 //System.Threading.Tasks.Task.Factory.StartNew((ser) => //{ // ServiceContext sc = ser as ServiceContext; // IContentType ct = sc.ContentTypeService.GetContentType("PayRecords"); // IContent content = sc.ContentService.CreateContent(m.Name + "赠送定期宝", ct.Id, "PayRecords"); // content.SetValue("username", m.Name); // content.SetValue("email", m.Username); // content.SetValue("amountCny", 1000); // content.SetValue("mobilePhone", m.GetValue<string>("tel")); // content.SetValue("rechargeDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); // content.SetValue("expirationtime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss")); // content.SetValue("memberPicker", m.Id); // content.SetValue("payBillno", "注册赠送的定期宝"); // content.SetValue("isdeposit", true); // content.SetValue("isexpired", false); // content.SetValue("buyproduct", 2337); // content.SetValue("isGive", true); // sc.ContentService.Save(content); // EventHandlers.CustomRaiseEvent.RaiseContentCreated(content); //}, Services); break; } case MembershipCreateStatus.UserRejected: break; default: break; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public MemberRegisterController(MemberRegisterViewModel memberRegisterViewModel) { this.vm = memberRegisterViewModel; }