public IActionResult Register(RegisterViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (_userService.IsExistUserName(register.UserName)) { ModelState.AddModelError("UserName", "نام کاربری معتبر نمی باشد"); return(View(register)); } if (_userService.IsExistEmail(FixedText.FixEmail(register.Email))) { ModelState.AddModelError("Email", "ایمیل معتبر نمی باشد"); return(View(register)); } DataLayer.Entities.User.User user = new User() { ActiveCode = NameGenerator.GenerateUniqCode(), Email = FixedText.FixEmail(register.Email), IsActive = false, Password = PasswordHelper.EncodePasswordMd5(register.Password), RegisterDate = DateTime.Now, UserAvatar = "Defult.jpg", UserName = register.UserName }; _userService.AddUser(user); return(View("SuccessRegister", user)); }
public IActionResult EditProfile(EditProfileViewModel profile) { if (!ModelState.IsValid) { return(View(profile)); } if (_userService.IsExistUserNameForEdit(profile.UserName, User.Identity.Name)) { ModelState.AddModelError("UserName", "نام کاربری قبلا ثبت شده است ."); return(View(profile)); } if (_userService.IsExistEmailForEdit(FixedText.FixEmail(profile.Email), User.Identity.Name)) { ModelState.AddModelError("Email", "ایمیل معتبر نمی باشد"); return(View(profile)); } _userService.EditProfile(User.Identity.Name, profile); //Log Out User HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); return(Redirect("/Login?EditProfile=true")); }
public User LoginUser(LoginViewModel login) { string hashPassword = PasswordHelper.EncodePasswordMd5(login.Password); string email = FixedText.FixEmail(login.Email); return(_context.Users.SingleOrDefault(u => u.Email == email && u.Password == hashPassword)); }
public IActionResult EditProfile(EditProfileViewModel info) { var user = _userService.GetUserByUserName(User.Identity.Name); if (!ModelState.IsValid) { return(View(info)); } if (_userService.IsExistUserName(info.UserName) && info.UserName != user.UserName) { ModelState.AddModelError("UserName", "این نام کاربری قبلا ثبت شده است."); } if (_userService.IsExistPhoneNumber(info.PhoneNumber) && info.PhoneNumber != user.PhoneNumber) { ModelState.AddModelError("PhoneNumber", "این شماره موبایل قبلا ثبت شده است."); return(View(info)); } if (info.Email != null) { if (_userService.IsExistEmail(FixedText.FixEmail(info.Email)) && info.Email != user.Email) { ModelState.AddModelError("Email", "این ایمیل قبلا ثبت شده است."); return(View(info)); } } _userService.EditProfile(User.Identity.Name, info); //Logout User HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); return(Redirect("/Login?EditProfile=true")); }
public IActionResult OnPost(List <int> selectedRoles) { if (!ModelState.IsValid) { EditUserViewModel = _userService.GetUserForShowInEditMode(EditUserViewModel.UserId); ViewData["Roles"] = _permissionService.GetRoles(); return(Page()); } if (_userService.IsExistEmailForEdit(FixedText.FixEmail(EditUserViewModel.Email), EditUserViewModel.OldUserName)) { EditUserViewModel = _userService.GetUserForShowInEditMode(EditUserViewModel.UserId); ViewData["Roles"] = _permissionService.GetRoles(); ViewData["IsExistEmail"] = true; return(Page()); } if (_userService.IsExistUserNameForEdit(EditUserViewModel.UserName, EditUserViewModel.OldUserName)) { EditUserViewModel = _userService.GetUserForShowInEditMode(EditUserViewModel.UserId); ViewData["Roles"] = _permissionService.GetRoles(); ViewData["IsExistUserName"] = true; return(Page()); } _userService.EditUserFromAdmin(EditUserViewModel); //Edit Roles _permissionService.EditRolesUser(EditUserViewModel.UserId, selectedRoles); return(RedirectToPage("Index")); }
public User Loginuser(LoginViewModel login) { string hashpassword = PasswordHelper.EncodePasswordMd5(login.Password); string email = FixedText.Fixemail(login.Email); return(_db.Users.SingleOrDefault(p => p.Email == email && p.Password == hashpassword)); }
public IActionResult Register(RegisterViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (_userService.IsExistUserName(register.UserName)) { ModelState.AddModelError("UserName", "نام کاربری معتبر نمی باشد"); return(View(register)); } if (_userService.IsExistEmail(FixedText.FixEmail(register.Email))) { ModelState.AddModelError("Email", "ایمیل معتبر نمی باشد"); return(View(register)); } User user = new User() { ActiveCode = NameGenerator.GenerateUniqCode(), Email = FixedText.FixEmail(register.Email), IsActive = false, Password = PasswordHelper.EncodePasswordMd5(register.Password), RegisterDate = DateTime.Now, UserAvatar = "Defult.jpg", UserName = register.UserName }; _userService.AddUser(user); #region SendEmail string body = _viewRender.RenderToStringAsync("_ActiveEmail", user); SendEmail.Send(user.Email, "فعالسازی", body); #endregion return(View("SuccessRegister", user)); }
public IActionResult OnPost(int id, List <int> SelectedRoles) { var user = _userService.GetUserByID(id); if (!ModelState.IsValid) { ViewData["Roles"] = _permissionService.GetRoles(); InfoForEditUser = _userService.GetUserInfoForEdit(id); return(Page()); } if (_userService.IsExistUserName(InfoForEditUser.UserName) && InfoForEditUser.UserName != user.UserName) { ModelState.AddModelError("InfoForEditUser.UserName", "نام کاربری تکراری است."); return(Page()); } if (_userService.IsExistPhoneNumber(InfoForEditUser.PhoneNumber) && InfoForEditUser.PhoneNumber != user.PhoneNumber) { ModelState.AddModelError("InfoForEditUser.PhoneNumber", "شماره موبایل تکراری است"); } if (InfoForEditUser.Email != null) { if (user.Email != null) { if (_userService.IsExistEmail(FixedText.FixEmail(InfoForEditUser.Email)) && InfoForEditUser.Email != user.Email) { ModelState.AddModelError("InfoForEditUser.Email", "ایمیل تکراری است."); } } } _userService.EditUserFromAdmin(InfoForEditUser); _permissionService.EditUserRoles(SelectedRoles, id); return(RedirectToPage("Index")); }
public About LoginUser(LoginViewModel login) { string email = FixedText.FixEmail(login.Email); string hashpass = PasswordHelper.EncodePasswordMd5(login.Password); return(db.Abouts.SingleOrDefault(u => u.Email == email && u.Password == hashpass)); }
public override Size MeasureOverride(Size pSize) { if (_fixed == null) { _fixed = _font.FixText(Text, pSize.Width); } return(_fixed.GetSize()); }
public async Task <User> LoginUser(string email, string password) { string Mail = FixedText.FixedEmail(email); string Pass = PasswordHelper.EncodePasswordMd5(password); User user = await _context.Users.Where(u => u.Email == Mail && u.Password == Pass).FirstOrDefaultAsync(); return(user); }
// post // api/developer public async Task <ActionResult <bool> > PostStaff(DeveloperViwModel model) { // چک کردن یونیک بودن یوزر نام if (await _personService.IsExistUserName(model.UserName)) { // ارسال بد ریکوست در صورت تکراری بودن نام کاربری return(BadRequest("نام کاربری تکراری میباشد")); } // چک کردن یونیک بودن شماره ملی if (await _personService.IsExistNationalId(model.PersonNationalId)) { // ارسال بد ریکوست در صورت تکراری بودن شماره ملی return(BadRequest("شماره ملی تکراری میباشد")); } // چک کردن تکراری نبودن ایمیل if (await _personService.IsExistEmail(model.Email)) { // ارسال بد ریکوست در صورت تکراری بودن ایمیل return(BadRequest("ایمیل وارد شده قبلا ثبت شده است")); } //ایجاد شی پرسن Person person = new Person() { PersonNational_ID = model.PersonNationalId, FirstName = model.FirstName, LastName = model.LastName, Email = FixedText.FixedEmail(model.Email), FatherName = model.FatherName, Gender = model.Gender, UserName = model.UserName, ShenasNum = model.ShenasNum, ShenasSerial = model.ShenasSerial, NationalCardSerial = model.NationalCardSerial, BirthDate = new DateTime(model.BirthDate, 1, 1), CreateTime = DateTime.Now, LastEditTime = DateTime.Now, IsActive = true, NeedChangePassword = true, Password = PasswordHasher.ComputeSha256Hash($"{model.UserName}seemsys{model.Password}") }; // ایجاد شی دولوپر Developer developer = new Developer() { MobileNumber = model.MobileNumber, CreateTime = DateTime.Now, LastEditTime = DateTime.Now, PersonNational_ID = await _personService.AddPerson(person), }; // ارسال شی دولوپر به سروریس و متد دولوپر return(await _developerService.AddDeveloper(developer)); }
public IActionResult Register(RegisterViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (_userService.IsExistMobile(FixedText.FixMobile(register.Mobile))) { ModelState.AddModelError("Mobile", "شما قبلا در سایت ثبت نام کرده اید ."); return(View(register)); } //TODO Add User return(View()); }
public IActionResult Register(RegisterViewModel register) { #region چک کردن اعتبار سنجی ها و عدم وجود نام کاربری و ایمیل if (!ModelState.IsValid) { return(View(register)); } if (_userService.isExistEmail(FixedText.FixEmail(register.Email))) { ModelState.AddModelError("Email", "این ایمیل موجود می باشد"); return(View(register)); } if (_userService.isExistUserName(FixedText.FixEmail(register.UserName))) { ModelState.AddModelError("UserName", "این نام کاربری معتبر نمی باشد"); return(View(register)); } #endregion #region ثبت کاربر DataLayer.Entities.User.User user = new DataLayer.Entities.User.User() { ActiveCode = NameGenerator.GenerateUniqCode(), Email = FixedText.FixEmail(register.Email), IsActive = false, Password = PasswordHelper.EncodePasswordMd5(register.Password), RegisterDate = DateTime.Now, UserAvatar = "Defult.jpg", UserName = register.UserName, }; _userService.AddUser(user); #endregion #region ارسال ایمیل فعال سازی string body = _ViewRender.RenderToStringAsync("_ActiveEmail", user); SendEmail.Send(user.Email, "فعالسازی", body); #endregion return(View("SuccessRegister", user)); }
public async Task <IActionResult> Register(AccountViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (await _UserService.IsExistMobileAsync(register.Mobile)) { ModelState.TryAddModelError("Mobile", "موبایل وارد شده تکراری می باشد"); return(View(register)); } if (_UserService.IsExistEmail(FixedText.FixedEmail(register.Email))) { ModelState.TryAddModelError("Email", "ایمیل وارد شده تکراری می باشد"); return(View(register)); } User user = new User() { FirstName = register.FirstName, LastName = register.LastName, Mobile = register.Mobile, Email = FixedText.FixedEmail(register.Email), IdDelete = false, AcrivationCode = GeneratorName.GenerateGUID(), IsActive = false, Password = PasswordHelper.EncodePasswordMd5(register.Password), UserAvatar = "default.png", CreateDate = DateTime.Now }; await _UserService.AddUserAsync(user); #region Sending Activation Email string body = _renderViewService.RenderToStringAsync("_ActiveEmail", user); SendEmail.Send(user.Email, "فعال سازی حساب کاربری در بافر شاپ", body); #endregion return(View("SuccessRegister", model: user)); }
public IActionResult ForgotPassword(ForgotPasswordViewModel forgotPassword) { if (!ModelState.IsValid) { return(View(forgotPassword)); } var fixEmail = FixedText.FixedEmail(forgotPassword.Email); User user = _userService.GetUserByEmail(fixEmail); if (user == null) { ModelState.AddModelError("Email", "کاربری یافت نشد"); return(View(forgotPassword)); } string bodyEmail = _viewRender.RenderToStringAsync("_ForgotPassword", user); SendEmail.Sendemail(user.Email, "بازیابی کلمه عبور", bodyEmail); ViewBag.IsSuccess = true; return(View()); }
public IActionResult Register(RegisterViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (_UserService.isExistUserName(register.UserName)) { ModelState.AddModelError("UserName", "نام کاربری م.جود نمی باشد"); return(View(register)); } if (_UserService.isExistEmail(FixedText.Fixemail(register.Email))) { ModelState.AddModelError("Email", "ایمیل تکراری می باشد"); return(View(register)); } User user = new User() { Activecode = Namegenerator.GenerateUniqcode(), Email = FixedText.Fixemail(register.Email), isActive = false, Password = PasswordHelper.EncodePasswordMd5(register.Password), Registerdate = DateTime.Now, UserName = register.UserName, UserAvatar = "Deafault.jpg", }; _UserService.adduser(user); #region send activison email string body = _viewRender.RenderToStringAsync("activisionemail", user); SendEmail.Send(user.Email, "فعال سازی", body); #endregion return(View("SuccessRegister", user)); }
public IActionResult ForgotPassword(ForgotPasswordViewModel forgot) { if (!ModelState.IsValid) { return(View(forgot)); } string fixedemail = FixedText.fixedemail(forgot.Email); User user = _userServices.getuserbyEmail(fixedemail); if (user == null) { ModelState.AddModelError("Email", "حسابی با این مشخصات یافت نسد"); return(View(forgot)); } string bodyemail = _viewrender.RenderToStringAsync("_ForgotPassword", user); SendEmail.Send(user.Email, "بازیابی کلمه عبوری", bodyemail); ViewBag.issuccess = true; return(View()); }
public IActionResult Register(RegisterViewModel register) { if (!ModelState.IsValid) { return(View(register)); } if (_userService.IsExistUserName(register.UserName)) { ModelState.AddModelError("UserName", "این نام کاربری قبلا ثبت شده است."); return(View(register)); } if (_userService.IsExistPhoneNumber(register.PhoneNumber)) { ModelState.AddModelError("PhoneNumber", "این شماره موبایل قبلا ثبت شده است."); return(View(register)); } if (register.Email != null) { if (_userService.IsExistEmail(FixedText.FixEmail(register.Email))) { ModelState.AddModelError("Email", "این ایمیل قبلا ثبت شده است."); return(View(register)); } } DataLayer.Entities.User.User user = new DataLayer.Entities.User.User() { UserName = register.UserName, PhoneNumber = register.PhoneNumber, Email = register.Email, Password = PasswordHelper.EncodePasswordMd5(register.Password), ActiveCode = NameGenerator.GenerateUniqCode(), RegisterDate = DateTime.Now, }; _userService.AddUser(user); return(View("SuccessRegister", user)); }
public IActionResult Register(RegisterViewModel registerViewModel) { if (!ModelState.IsValid) { return(View(registerViewModel)); } if (_userService.IsExistUserName(registerViewModel.UserName)) { ModelState.AddModelError("UserName", "نام کاربری معتبر نیست"); return(View(registerViewModel)); } if (_userService.IsExistEmail(FixedText.FixEmail(registerViewModel.UserEmail))) { ModelState.AddModelError("UserEmail", "ایمیل معتبر نیست"); return(View(registerViewModel)); } // TODO: REGISTER USER User user = new User() { UserActiveCode = NameGenerator.GenerateUniqueCode(), UserEmail = FixedText.FixEmail(registerViewModel.UserEmail), UserName = registerViewModel.UserName, UserIsActive = false, UserPassword = PasswordHelper.EncodePasswordMD5(registerViewModel.UserPassword), UserRegisterDate = DateTime.Now, UserAvatar = "Default.jpg" }; _userService.AddUser(user); return(View("SuccessRegister", user)); }
public ActionResult ForgotPassword(ForgotPasswordViewModel forgot) { if (!ModelState.IsValid) { return(View(forgot)); } string fixedEmail = FixedText.FixEmail(forgot.Email); DataLayer.Entities.User.User user = _userService.GetUserByEmail(fixedEmail); if (user == null) { ModelState.AddModelError("Email", "کاربری یافت نشد"); return(View(forgot)); } string bodyEmail = viewRender.RenderToStringAsync("_ForgotPassword", user); SendEmail.Send(user.Email, "بازیابی حساب کاربری", bodyEmail); ViewBag.IsSuccess = true; return(View()); }
public async Task <IActionResult> ForgotPassword(ForgotPassViewModel forgotModel) { if (!ModelState.IsValid) { return(View(forgotModel)); } var user = new User(); string userEmail = FixedText.FixedEmail(forgotModel.Email); if ((user = await _UserService.ForgotPassword(userEmail)) == null) { ModelState.AddModelError("Email", "ایمیل وارد شده یافت نشد"); return(View(forgotModel)); } else { string bodyEmail = _renderViewService.RenderToStringAsync("_ForgotPassword", user); SendEmail.Send(userEmail, "ایمیل تایید فراموشی رمز عبور", bodyEmail); ViewBag.IsSuccess = true; return(View()); // return View("ChangePassEmailConfirmation", model: user); } }
public IActionResult ForgotPassword(ForgotPasswordViewModel forgot) { if (!ModelState.IsValid) { return(View(forgot)); } string fixedemail = FixedText.Fixemail(forgot.Email); User user = _UserService.getuserbyemail(fixedemail); if (user == null) { ModelState.AddModelError("Email", "کاربری با این ایمیل یافت نشد"); return(View(forgot)); } string body = _viewRender.RenderToStringAsync("forgotpasswordemail", user); SendEmail.Send(forgot.Email, "بازیابی کلمه عبوری", body); ViewBag.issuccess = true; return(View()); }
public async Task <ActionResult <Person> > PostLandingPageStaff(LandingPageViewModel model) { //ایجاد یک شرط برای چک کردن اینکه اطلاعات کاربر داخل دیابیس وجود دارد یا خیر if (await _personService.IsExistNationalId(model.Id)) { //در صورت وجود اطلاعات فرد را به دست می اوریم Person a = await _context.People.SingleOrDefaultAsync(r => r.PersonNational_ID == model.Id); a.Email = model.Email; a.FirstName = model.Fname; a.LastName = model.Lname; a.PersonNational_ID = model.Id; //اطلاعات فرد درصورت بروز تغییرات ویرایش می شود _context.Entry(a).State = EntityState.Modified; await _context.SaveChangesAsync(); //ارسال توکن به مرورگر کاربر Person user = await _context.People.SingleOrDefaultAsync(r => r.PersonNational_ID == model.Id); var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim("seemsys", model.Id) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); user.Token = tokenHandler.WriteToken(token); user.Password = null; return(user); } else { //اگر اطلاعات فرد مورد نظر در دخل دیتابیس وجود نداشت عملیات درج اطلاعات در دیتابیس آغاز می شود Person person = new Person() { PersonNational_ID = model.Id, FirstName = model.Fname, LastName = model.Lname, Email = FixedText.FixedEmail(model.Email), FatherName = null, Gender = false, UserName = FixedText.FixedEmail(model.Email), ShenasNum = null, ShenasSerial = null, NationalCardSerial = null, CreateTime = DateTime.Now, LastEditTime = DateTime.Now, IsActive = true, NeedChangePassword = false, Password = PasswordHasher.ComputeSha256Hash($"{FixedText.FixedEmail(model.Email)}seemsys123456") }; if (model.type == "Customer") { person.Role1 = 3; } else if (model.type == "") { person.Role1 = 2; person.Role2 = 1; } else { person.Role1 = 2; person.Role2 = 2; } if (model.type == "Customer") { await _personService.AddPerson(person); } else { Staff staff = new Staff() { Address = null, EduDegree = null, EduField = null, PersonNational_ID = await _personService.AddPerson(person), PositionId = null, StaffNumber = model.Id, TeleNumber = null }; await _staffService.AddStaff(staff); } //ارسال توکن به مرورگر کاربر var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim("seemsys", model.Id) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); person.Token = tokenHandler.WriteToken(token); person.Password = null; return(person); } }
//post // api/staff public async Task <ActionResult <bool> > PostStaff(RegisterStaffViewModel model) { // چک کردن معتبر بودن مدل if (!ModelState.IsValid) { // ارسال خطا return(BadRequest("لطفاً فیلد های مشخص شده را تکمیل نمایید")); } // چک کردن یونیک بودن نام کاربری if (await _personService.IsExistUserName(model.UserName)) { // ارسال خطای تکراری بودن نام کاربری در صورت یونیک نبودن return(BadRequest("نام کاربری تکراری میباشد")); } // چک کردن یونیک بودن شماره ملی if (await _personService.IsExistNationalId(model.PersonNationalId)) { // ارسال خطا در صورت تکراری بودن شماره ملی return(BadRequest("شماره ملی تکراری میباشد")); } // چک کردن یونیک بودن ایمیل if (await _personService.IsExistEmail(model.Email)) { // ارسال خطا در صورت یونیک نبودن ایمیل کاربر return(BadRequest("ایمیل وارد شده قبلا ثبت شده است")); } // ایجاد شی از پرسن Person person = new Person() { PersonNational_ID = model.PersonNationalId, FirstName = model.FirstName, LastName = model.LastName, Email = FixedText.FixedEmail(model.Email), FatherName = model.FatherName, Gender = model.Gender, UserName = model.UserName, ShenasNum = model.ShenasNum, ShenasSerial = model.ShenasSerial, NationalCardSerial = model.NationalCardSerial, BirthDate = new DateTime(model.BirthDate, 1, 1), CreateTime = DateTime.Now, LastEditTime = DateTime.Now, IsActive = true, NeedChangePassword = true, Password = PasswordHasher.ComputeSha256Hash($"{model.UserName}seemsys123456") }; // قرار دادن رول 2 برای کاربران خاشع person.Role1 = 2; // اگر مقدار ادمین خاشع برابر ترو باشد if (model.IsAdmin == true) { // رول کاربر برابر یک میشود person.Role2 = 1; } else { person.Role2 = 2; } // ایجاد شی جدید از اسف Staff staff = new Staff() { Address = model.Address, EduDegree = model.EduDegree, EduField = model.EduField, PersonNational_ID = await _personService.AddPerson(person), PositionId = model.PositionId, StaffNumber = model.StaffNumber, TeleNumber = model.TeleNumber }; // ارسال استف به سرویس و متد اد اسف برای ذخیره سازی return(await _staffService.AddStaff(staff)); }