public virtual async Task <ActionResult> Edit(EditUserViewModel viewModel) { #region Validation if (_userManager.CheckUserNameExist(viewModel.UserName, viewModel.Id)) { this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است"); } if (_userManager.CheckNameForShowExist(viewModel.NameForShow, viewModel.Id)) { this.AddErrors("NameForShow", "این نام نمایشی قبلا در سیستم ثبت شده است"); } if (viewModel.Password.IsNotEmpty() && !viewModel.Password.IsSafePasword()) { this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است"); } if (_userManager.CheckEmailExist(viewModel.Email, viewModel.Id)) { this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است"); } //if (_userManager.CheckFacebookIdExist(viewModel.FaceBookId, viewModel.Id)) // this.AddErrors("FaceBookId", "این آد دی قبلا در سیستم ثبت شده است"); //if (_userManager.CheckFacebookIdExist(viewModel.GooglePlusId, viewModel.Id)) // this.AddErrors("GooglePlusId", "این آد دی قبلا در سیستم ثبت شده است"); #endregion if (!ModelState.IsValid) { await PopulateRoles(viewModel.RoleIds); return(View(viewModel)); } var dbUser = await _userManager.FindByIdAsync(viewModel.Id); if (dbUser == null) { return(HttpNotFound()); } var avatarName = viewModel.Id.ToString(); if (viewModel.AvatarImage != null && viewModel.AvatarImage.ContentLength > 0) { avatarName = this.UploadAvatarFile(viewModel.AvatarImage, avatarName); } viewModel.AvatarFileName = avatarName; if (!await _userManager.EditUser(viewModel)) { ViewBag.ErrorMessage = "لطفا برای کاربر مورد نظر ، گروه کاربری تعیین کنید"; await PopulateRoles(); return(View(viewModel)); } ViewBag.Message = "عملیات ویرایش کاربر با موفقیت انجام شد"; return(RedirectToAction("Index", "User")); }
public virtual async Task <ActionResult> Edit(EditUserViewModel viewModel) { #region Validation if (_userManager.CheckUserNameExist(viewModel.UserName, viewModel.Id)) { this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است"); } if (viewModel.Password.IsNotEmpty() && !viewModel.Password.IsSafePasword()) { this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است"); } #endregion if (!ModelState.IsValid) { await _userManager.FillForEdit(viewModel); return(new JsonNetResult { Data = new { success = false, View = this.RenderPartialViewToString(MVC.User.Views._Edit, viewModel) } }); } var dbUser = await _userManager.FindByIdAsync(viewModel.Id); if (dbUser == null) { return(HttpNotFound()); } var userViewModel = await _userManager.EditUser(viewModel); return(new JsonNetResult { Data = new { success = true, View = this.RenderPartialViewToString(MVC.User.Views._UserItem, userViewModel) } }); }
public virtual async Task <ActionResult> Register(RegisterViewModel model) { #region Validation if (_userManager.CheckEmailExist(model.Email, null)) { this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است"); } if (_userManager.CheckUserNameExist(model.UserName, null)) { this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است"); } if (_userManager.CheckNameForShowExist(model.NameForShow, null)) { this.AddErrors("NameForShow", "این نام نمایشی قبلا در سیستم ثبت شده است"); } if (!model.Password.IsSafePasword()) { this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است"); } if (!ModelState.IsValid) { return(View(model)); } #endregion var userId = await _userManager.CreateAsync(model); await SendConfirmationEmail(model.Email, userId); this.NotySuccess("حساب کاربری شما با موفقیت ایجاد شد. برای فعال سازی " + "حساب خود به صندوق پستی خود مراجعه کنید", isSticky: true); return(RedirectToAction(MVC.Home.ActionNames.Index, MVC.Home.Name)); }
public virtual JsonResult IsUserNameExist(string userName, Guid?id) { return(_userManager.CheckUserNameExist(userName, id) ? Json(false) : Json(true)); }
public virtual async Task <ActionResult> Register(RegisterViewModel model) { #region Validation var allRoles = await _roleManager.GetAllRolesAsync(); var isDefaultForRegister = allRoles.FirstOrDefault(q => q.IsDefaultForRegister); if (_userManager.CheckEmailExist(model.Email, null)) { this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است"); } if (_userManager.CheckUserNameExist(model.UserName, null)) { this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است"); } if (_userManager.CheckNameForShowExist(model.NameForShow, null)) { this.AddErrors("NameForShow", "این نام نمایشی قبلا در سیستم ثبت شده است"); } if (!model.Password.IsSafePasword()) { this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است"); } if (!model.Password.IsSafePasword()) { this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است"); } if (isDefaultForRegister == null) { this.AddErrors("Role", "نقشی برای کاربران ثبت نام شده تعیین نشده است"); } if (!ModelState.IsValid) { return(View(model)); } #endregion model.RegistrationIp = Network.GetClientIp(); model.RegisterDate = DateTime.Now; var userId = await _userManager.CreateAsync(model); await _userManager.AddToRolesAsync(userId, isDefaultForRegister.Name); //TODO // Send Confirmation Email await _emailService.SendEmailAsync(new IdentityMessage { Body = "<table style=\"background-color: #f6f6f6; width: 100%; font-family: calibri; font-size: 16px; direction: rtl; line-height: 18pt; text-align: right;\"> " + "<tbody> <tr> <td style=\"display: block !important; max-width: 600px !important; margin: 0 auto !important; clear: both !important;\" width=\"600\"> " + "<div style=\"max-width: 600px; margin: 0 auto; display: block; padding: 20px;\"> " + "<table style=\"background: #fff; border: 1px solid #e9e9e9; border-radius: 3px;\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"> " + "<tbody> <tr> <td style=\"padding: 20px;\"> <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"> " + "<tbody> <tr> <td style=\"padding: 0 0 20px; text-align: center\"> <img src=\"http://aminmohamadi.ir/content/images/logo.png\" alt=\"\" /> </td> </tr> <tr> " + "<td style=\"padding: 0 0 20px;\"> " + model.NameForShow + " عزیز </td> </tr> <tr> <td style=\"padding: 0 0 20px;\">" + " با عرض سلام و احترام <br />" + " از این پس میتوانید با استفاده از نام کاربری و رمز عبور زیر جهت ورود به حساب کاربری خود وارد شوید </td> </tr> <tr> " + "<td style=\"padding: 0 0 20px;\"> نام کاربری: " + model.UserName + " <br /> کلمه عبور: " + model.Password + " </td> </tr> <tr> " + "<td style=\"padding: 0 0 20px;\"> برای تغییر کلمه عبور باید کافیست به قسمت حساب کاربری سایت مراجعه کنید. </td> </tr> <tr> " + "<td style=\"padding: 20px; text-align: center\"> <a href=\"http://aminmohamadi.ir\" style=\"text-decoration: none; color: #FFF; font-size: 14px; background-color:" + " #348eda;border: solid #348eda; border-width: 10px 20px; line-height: 2; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize;\">" + "صفحه اصلی سایت</a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div> </td> <td></td> </tr> </tbody></table>", Destination = model.Email, Subject = "ایجاد حساب کاربری جدید - AminMohamadi.ir" }); ViewBag.Message = "حساب کاربری شما با موفقیت ایجاد شد. ایمیلی حاوی نام کاربری و رمز عبور شما برای شما فرستاده شد. " + "برای مشاهده اطلاعات کاربری به ایمیل خود مراجعه کنید."; return(View("RegisterSuccessfully")); }