Ejemplo n.º 1
0
        public ActionResult Register([Bind(Include = "UserName,Email,Password,PasswordConfirmation")] RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (db.AccountRepository.ExistCheck(register.Email) == false)
                {
                    ModelState.AddModelError("Email", "ایمیل قبلا در سیستم ثبت شده است.");
                    return(View(register));
                }

                var user = new Users
                {
                    UserName      = register.UserName.Trim(),
                    Email         = register.Email.Trim().ToLower(),
                    Password      = register.Password.HashPassword(),
                    ActiveCode    = Guid.NewGuid().ToString(),
                    IsActive      = false,
                    RegisterDate  = DateTime.Now,
                    RoleId        = 1,
                    LastLoginDate = DateTime.Now,
                    LastLoginIp   = AccountsUtilities.GetUserIp(),
                };
                db.UsersRepository.Insert(user);
                db.Save();

                var body = PartialToStringClass.RenderPartialView("ManageEmails", "ActivationEmail", user);

                SendEmail.Send(user.Email, "فعالسازی حساب کاربری فروشگاه بامیلو", body);

                return(View("SuccessRegister", user));
            }
            return(View(register));
        }
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (!userRepository.IsValidEmail(register.Email))
                {
                    Users user = new Users()
                    {
                        Email        = register.Email.Trim().ToLower(),
                        Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                        ActiveCode   = Guid.NewGuid().ToString(),
                        IsActive     = false,
                        RegisterDate = DateTime.Now,
                        RoleID       = 1,
                        UserName     = register.UserName
                    };
                    string Body = PartialToStringClass.RenderPartialView("ManageEmails", "ActivationEmail", user);
                    SendEmail.Send(user.Email, "ایمیل فعال سازی", Body);
                    userRepository.InsertUser(user);
                    userRepository.save();

                    return(View("SuccessRegister", user));
                }
                else
                {
                    ModelState.AddModelError("Email", "این ایمیل قبلا استفاده شده است.");
                }
            }
            return(View(register));
        }
Ejemplo n.º 3
0
 public ActionResult ForgetPassword(ForgetPasswordViewModel forget)
 {
     if (ModelState.IsValid)
     {
         var user = db.Users.SingleOrDefault(u => u.Email == forget.Email);
         if (user != null)
         {
             if (user.IsActive)
             {
                 string bodyEmail =
                     PartialToStringClass.RenderPartialView("ManageEmail", "RecoveryPassword", user);
                 SendEmail.Send(user.Email, "بازیابی کلمه عبور", bodyEmail);
                 return(View("SuccessForgetPasword", user));
             }
             else
             {
                 ModelState.AddModelError("Email", "حساب کاربری شما فعال نیست");
             }
         }
         else
         {
             ModelState.AddModelError("Email", "کاربری یافت نشد");
         }
     }
     {
     }
     return(View());
 }
Ejemplo n.º 4
0
 public ActionResult ForgotPassword(ForgotPasswordViewModel forgot)
 {
     if (ModelState.IsValid)
     {
         var user = db.UserRepository.Get(u => u.Email == forgot.Email.Trim().ToLower()).SingleOrDefault();
         if (user != null)
         {
             if (user.IsActive)
             {
                 string body = PartialToStringClass.RenderPartialView("ManageEmails", "RecoveryPassword", user);
                 SendEmail.Send(forgot.Email, "بازیابی کلمه عبور آمازون", body);
                 return(View("SuccessForgotPassword", user));
             }
             else
             {
                 ModelState.AddModelError("Email", "حساب کاربری شما فعال نیست");
             }
         }
         else
         {
             ModelState.AddModelError("Email", "کاربری با ایمیل وارد شده یافت نشد");
         }
     }
     return(View());
 }
Ejemplo n.º 5
0
 public ActionResult Register(RegisterViewModel register)
 {
     if (ModelState.IsValid)
     {
         if (!db.UserRepository.Get(u => u.Email == register.Email.Trim().ToLower()).Any())
         {
             Users user = new Users()
             {
                 Email        = register.Email.Trim().ToLower(),
                 UserName     = register.UserName,
                 ActiveCode   = Guid.NewGuid().ToString(),
                 IsActive     = false,
                 RegisterDate = DateTime.Now,
                 Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                 RoleID       = 1
             };
             string body = PartialToStringClass.RenderPartialView("ManageEmails", "ActivationEmail", user);
             SendEmail.Send(user.Email, "Amazon", body);
             db.UserRepository.Insert(user);
             db.Save();
             return(View("RegisterSuccess", user));
         }
         else
         {
             ModelState.AddModelError("Email", "ایمیل وارد شده قبلا استفاده شده است");
         }
     }
     return(View());
 }
Ejemplo n.º 6
0
        public ActionResult ForgotPassword(ForgetPasswordViewModel forgetPassword)
        {
            if (ModelState.IsValid)
            {
                Users user = db.UserRepository.GetByEmail(forgetPassword.Email);
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        string body = PartialToStringClass.RenderPartialView("ManageEmail", "RecoveryPassword", user);
                        SendEmail.Send(user.Email, "بازیابی کلمه عبور", body);
                        return(View("SuccessForgotPassword", user));
                    }
                    else
                    {
                        ModelState.AddModelError("Email", "حساب کاربری شما فعال نمی باشد");
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری با این ایمیل یافت نشد");
                }
            }

            return(View(forgetPassword));
        }
Ejemplo n.º 7
0
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (!db.UserRepository.IsDuplicatedUser(register))
                {
                    Users user = new Users()
                    {
                        RoleID       = 1,
                        Email        = register.Email.Trim().ToLower(),
                        UserName     = register.UserName.Trim().ToLower(),
                        Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                        ActiveCode   = Guid.NewGuid().ToString(),
                        IsActive     = false,
                        RegisterDate = DateTime.Now
                    };

                    db.AccountRepository.Insert(user);
                    db.Save();

                    string body = PartialToStringClass.RenderPartialView("ManageEmail", "ActivationEmail", user);
                    SendEmail.Send(user.Email, "فعالسازی حساب کاربری", body);
                    return(View("SuccessRegister", user));
                }
                else
                {
                    ModelState.AddModelError("Email", "ایمیل وارد شده تکراری است");
                    ModelState.AddModelError("UserName", "نام کاربری وارد شده تکراری است");
                }
            }

            return(View(register));
        }
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (!db.Users.Any(u => u.Email == register.Email.Trim().ToLower()))
                {
                    Users user = new Users()
                    {
                        Email        = register.Email.Trim().ToLower(),
                        Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                        ActiveCode   = Guid.NewGuid().ToString(),
                        IsActive     = false,
                        RegisterDate = DateTime.Now,
                        RoleID       = 1,
                        UserName     = register.UserName
                    };
                    db.Users.Add(user);
                    db.SaveChanges();

                    // فعال کردن ایمیل فعال سازی
                    string body = PartialToStringClass.RenderPartialView("ManageEmails", "ActivationEmails", user);
                    SendEmail.Send(user.Email, "ایمیل فعال سازی", body);
                    //  فعال کردن ایمیل فعال سازی.پایان

                    return(View("SuccessRegister", user));
                }

                else
                {
                    ModelState.AddModelError("Email", "ایمیل وارد شده تکراری است");
                }
            }
            return(View(register));
        }
Ejemplo n.º 9
0
        public ViewResult Register(ViewModels.RegisterViewModel registerViewModel)
        {
            if (ModelState.IsValid)
            {
                if (!DatabaseContext.Users.Any(current => current.EmailAddress == registerViewModel.EmailAddress.Trim().ToLower()))
                {
                    Models.User user = new Models.User
                    {
                        RoleId       = 1,
                        Username     = registerViewModel.Username,
                        EmailAddress = registerViewModel.EmailAddress.Trim().ToLower(),
                        Password     = registerViewModel.Password,
                        ActiveCode   = System.Guid.NewGuid().ToString(),
                        IsActive     = true,
                        RegisterDate = System.DateTime.Now,
                    };

                    DatabaseContext.Users.Add(user);
                    DatabaseContext.SaveChanges();

                    #region Send Active EmailAddress
                    string body = PartialToStringClass.RenderPartialView("ManageEmails", "_ActivationEmailPartialView", user);
                    SendEmail.Send(user.EmailAddress, "ایمیل فعالسازی", body);
                    #endregion

                    return(View("SuccessRegister", user));
                }
                else
                {
                    ModelState.AddModelError(registerViewModel.EmailAddress, "ایمیل وارد شده تکراری می باشد");
                }
            }
            return(View(registerViewModel));
        }
Ejemplo n.º 10
0
        public ViewResult ForgotPassword(ViewModels.ForgotPasswordViewModel forgotPasswordViewModel)
        {
            if (ModelState.IsValid)
            {
                var user = DatabaseContext.Users.Where(current => current.EmailAddress == forgotPasswordViewModel.EmailAddress.Trim().ToLower()).First();
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        #region Send Recovery Password with EmailAddress
                        string bodyEmailAddress = PartialToStringClass.RenderPartialView("ManageEmails", "_RecoveryPasswordPartialVeiw", user);
                        SendEmail.Send(forgotPasswordViewModel.EmailAddress, "بازیابی کلمه رمز عبور", bodyEmailAddress);
                        #endregion

                        return(View("SuccessSendEmailAddressForRecoveryPassword", user));
                    }
                    else
                    {
                        ModelState.AddModelError(forgotPasswordViewModel.EmailAddress, "حساب کاربری شما فعال نمی باشد");
                    }
                }
                else
                {
                    ModelState.AddModelError(forgotPasswordViewModel.EmailAddress, "ایمیلی با این آدرس موجود نمی باشد لطفا مجددا تلاش نمایید");
                }
            }

            return(View(forgotPasswordViewModel));
        }
Ejemplo n.º 11
0
        public ActionResult Login(LoginViewModel login, string returnUrl, string captcha)
        {
            string result = googlecaptcha(null);

            //// validate the response from Google reCaptcha
            var captChaesponse = JsonConvert.DeserializeObject <reCaptchaResponse>(result);

            if (!captChaesponse.Success)
            {
                ViewBag.Message = "لطفا ابتدا کادر تایید هویتی را علامت بزنید!";
                return(View());
            }

            // go ahead and write code to validate mobile password against database
            var Qlogin = _userService.LogIn(login.UserName, login.password);

            if (Qlogin != null)
            {
                if (Qlogin.ISActive == true)
                {
                    FormsAuthentication.SetAuthCookie(login.UserName, login.Remember);
                    if (returnUrl != null)
                    {
                        return(Redirect(returnUrl));
                    }
                    return(Redirect("/"));
                }
                else
                {
                    long activecode = LongRandom(min: 123456, max: 654321, rand: new Random());
                    Qlogin.ActiveCode     = activecode.ToString();
                    Qlogin.activecodeDate = DateTime.Now;
                    _userService.Edit(Qlogin);
                    ///send SMS to number
                    SendEmailSMS send = new SendEmailSMS();
                    try
                    {
                        string bodySms = "کد تایید شما : " + activecode.ToString();
                        send.SendSMS(new[] { Qlogin.moblie }, bodySms);
                    }
                    catch { }
                    try
                    {
                        string bodyemail = PartialToStringClass.RenderPartialView("Email", "ActiveUser", Qlogin);
                        send.SendEmail(new[] { Qlogin.Email }, "کد تاییدیه حساب", bodyemail);
                    }
                    catch { }
                    RegisterViewModel register = new RegisterViewModel();
                    register.UserName = Qlogin.UserName;
                    ViewBag.status    = "حساب شما غیر فعال است";
                    return(View("RegisteredActivate", register));
                }
            }
            else
            {
                ModelState.AddModelError("UserName", "نام کاربری  یا رمز عبور اشتباه میباشد!");
            }
            return(View());
        }
Ejemplo n.º 12
0
        public virtual ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (!db.Users.Any(u => u.Email == register.Email.Trim().ToLower()))
                {
                    if (db.Humans.Any(u => u.MobileNumber == register.MobileNumber.Trim().ToLower()))
                    {
                        ModelState.AddModelError("MobileNumber", "شماره موبایل وارد شده تکراری است");
                        return(View("register", register));
                    }
                    if (db.Humans.Any(u => u.NationalCode == register.NationalNumber.Trim().ToLower()))
                    {
                        ModelState.AddModelError("NationalNumber", "کد ملی وارد شده تکراری است");
                        return(View("register", register));
                    }

                    var human = new Human()
                    {
                        FirstName    = register.FirstName,
                        LastName     = register.LastName,
                        MobileNumber = register.MobileNumber,
                        NationalCode = register.NationalNumber,
                        Users        = new List <User>()
                    };
                    User user = new User()
                    {
                        Email        = register.Email.Trim().ToLower(),
                        Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                        ActiveCode   = Guid.NewGuid().ToString(),
                        Active       = false,
                        RegisterDate = DateTime.Now,
                        RoleId       = 1,
                        UserName     = register.UserName
                    };
                    human.Users.Add(user);

                    db.Humans.Add(human);

                    db.SaveChanges();

                    //Send Active Email
                    string body = PartialToStringClass.RenderPartialView("Account", "ActiviationEmail", user);
                    SendEmail.Send(user.Email, "ایمیل فعالسازی", body);
                    //End Send Active Email

                    return(View("SuccessRegister", user));
                }
                else
                {
                    ModelState.AddModelError("Email", "ایمیل وارد شده تکراری است");
                }
            }

            return(View("register", register));
        }
        public ActionResult CreateNewsLetter(NewsLetters model, List <string> ckselect, string timesend, string datesend)
        {
            if (ModelState.IsValid)
            {
                if (ckselect != null)
                {
                    foreach (var iten in ckselect)
                    {
                        model.Days += iten + ",";
                    }
                }
                if (!string.IsNullOrEmpty(timesend))
                {
                    if (string.IsNullOrEmpty(datesend))
                    {
                        timesend       = Convert.ToDateTime(timesend).ToShortTimeString();
                        model.DateTime = Convert.ToDateTime(Convert.ToDateTime("1380/01/01").ToShortDateString() + " " + timesend);
                        db.NewsLetterses.Add(model);
                        db.SaveChanges();
                    }
                    else
                    {
                        datesend       = Convert.ToDateTime(datesend).ToShortDateString();
                        timesend       = Convert.ToDateTime(timesend).ToShortTimeString();
                        model.DateTime = Convert.ToDateTime(datesend + " " + timesend);
                        db.NewsLetterses.Add(model);
                        db.SaveChanges();
                    }
                }
                else
                {
                    model.DateTime = DateTime.Now;
                    model.IsActive = true;
                    db.NewsLetterses.Add(model);
                    db.SaveChanges();
                    foreach (var item in db.NewsLetterMembers.Where(p => p.NewsLetterListId == model.NewsLetterListId))
                    {
                        string to   = item.NewsLettersMail.Email;
                        string sub  = "خبرنامه  " + "-" + xml.loadline("siteSetting/siteName");
                        string body = PartialToStringClass.urltostring(ConfigurationManager.AppSettings["MyDomain"] + "/ManageEmails/NewsLetter?activecode=" + item.NewsLettersMail.DeActivatCode + "&bodyid=" + model.NewsLetterId);
                        SendEmail.Send(to, sub, body);
                    }
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Ejemplo n.º 14
0
        public ActionResult Login(LoginViewModel login, string ReturnUrl = "/")
        {
            if (ModelState.IsValid)
            {
                string hashpassword = FormsAuthentication.HashPasswordForStoringInConfigFile(login.Password, "MD5");
                var    userLogin    = db.Users.SingleOrDefault(l => l.UserName == login.UserName && l.Password == hashpassword);
                if (userLogin != null)
                {
                    if (userLogin.IsActive)
                    {
                        FormsAuthentication.SetAuthCookie(userLogin.UserName, login.RememberMe);
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        ViewBag.LoginError = "حساب شما فعال نمی باشد";
                    }
                }
                else
                {
                    var CheckUser = db.Users.SingleOrDefault(c => c.UserName == login.UserName);
                    {
                        if (CheckUser == null)
                        {
                            ViewBag.LoginError = "کاربر یافت نشد";
                        }
                    }

                    var blockUser = db.Users.SingleOrDefault(b => b.UserName == login.UserName && b.Password != hashpassword);
                    if (blockUser != null)
                    {
                        if (blockUser.FailedLogin == 5)
                        {
                            blockUser.IsActive = false;
                            db.SaveChanges();
                            string ReactiveEmail = PartialToStringClass.RenderPartialView("ManageEmails", "ReActivation", blockUser);
                            SendEmail.Send(blockUser.Email, "مسدودی حساب کاربری", ReactiveEmail);
                            ViewBag.LoginError = "حساب شما مسدود شد لطفا ایمیل ثبت نام شده را چک کنید";
                        }
                        else
                        {
                            blockUser.FailedLogin = blockUser.FailedLogin + 1;
                            db.SaveChanges();
                            ViewBag.LoginError = " کلمه عبور صحیح نمی باشد";
                        }
                    }
                }
            }
            return(View(login));
        }
Ejemplo n.º 15
0
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (this.IsCaptchaValid("Captcha is not valid"))
                {
                    if (!IsUserNameExist(register.UserName))
                    {
                        if (!IsEmailExist(register.Email))
                        {
                            User user = new User()
                            {
                                Email        = register.Email.Trim().ToLower(),
                                IsActive     = false,
                                ActiveCode   = Guid.NewGuid().ToString(),
                                Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                                RoleID       = 2,
                                RegisterDate = DateTime.Now,
                                UserName     = register.UserName
                            };
                            db.Users.Add(user);
                            db.SaveChanges();

                            string Body = PartialToStringClass.RenderPartialView("EmailSender", "ActiveAccount", user);

                            SendEmailGmail.Send(user.Email, "فعال سازی", Body);


                            ViewBag.IsSuccess = true;
                        }
                        else
                        {
                            ModelState.AddModelError("Email", "ایمیل معتبر نمی باشد");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("UserName", "نام کاربری معتبر نمی باشد");
                    }
                }
                else
                {
                    ModelState.AddModelError("CaptchaInputText", "Captcha is not valid");
                }
            }
            return(View(register));
        }
Ejemplo n.º 16
0
 public ActionResult Forget(ForgotPasswordViewModel forget)
 {
     if (ModelState.IsValid)
     {
         var user = db.Users.SingleOrDefault(f => f.Email == forget.Email.Trim().ToLower());
         if (user != null)
         {
             string bodyEmail = PartialToStringClass.RenderPartialView("ManageEmails", "RecoverPassword", user);
             SendEmail.Send(user.Email, "بازیابی کلمه عبور", bodyEmail);
             ViewBag.successforgot = "ایمیل  بازیابی برای شما ارسال شد";
         }
         else
         {
             ViewBag.forgetError = "کاربری یافت نشد.";
         }
     }
     return(View());
 }
Ejemplo n.º 17
0
        public ActionResult RecoveryPass(RecoveryPasswordViewModel recovery)
        {
            //اول بررسی می کند کاربری با این ایمیل وجود دارد یا خیر
            var user = db.UserLogin.FirstOrDefault(u => u.Email == recovery.Email);

            if (user != null)
            {
                string body = PartialToStringClass.RenderPartialView("ManageEmail", "ResetPass", user);
                SendEmailGmail.Send(user.Email, "بازیابی کلمه عبور", body);
                ViewBag.SendEmail = true;
            }
            //اگر کاربری وجود نداشت
            else
            {
                ModelState.AddModelError("Email", "کاربری با ایمیل وارد شده وجود ندارد");
            }
            return(View());
        }
Ejemplo n.º 18
0
        public ActionResult Recover(string id, RecoveryPasswordViewModel recovery)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.SingleOrDefault(u => u.ActiveCode == id);
                if (user == null)
                {
                    return(HttpNotFound());
                }
                user.Password    = FormsAuthentication.HashPasswordForStoringInConfigFile(recovery.Password, "MD5");
                user.ActiveCode  = Guid.NewGuid().ToString();
                user.IsActive    = true;
                user.FailedLogin = 0;
                db.SaveChanges();
                string bodyEmail = PartialToStringClass.RenderPartialView("ManageEmails", "PasswordChanged", user);
                SendEmail.Send(user.Email, "تغیر موفقیت آمیر کلمه عبور", bodyEmail);

                return(View("Login"));
            }
            return(View());
        }
Ejemplo n.º 19
0
 public ActionResult Register(RegisterViewModel register)
 {
     if (ModelState.IsValid)
     {
         if (!db.Users.Any(u => u.UserName == register.UserName.Trim().ToLower()))
         {
             if (!db.Users.Any(e => e.Email == register.Email.Trim().ToLower()))
             {
                 Users user = new Users()
                 {
                     Name         = register.Name,
                     UserName     = register.UserName,
                     Email        = register.Email,
                     Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                     ActiveCode   = Guid.NewGuid().ToString(),
                     IsActive     = false,
                     RegisterDate = DateTime.Now,
                     RoleID       = 2,
                     FailedLogin  = 0,
                     Phone        = register.Phone
                 };
                 db.Users.Add(user);
                 db.SaveChanges();
                 string body = PartialToStringClass.RenderPartialView("ManageEmails", "ActivationEmail", user);
                 SendEmail.Send(register.Email, "فعالسازی حساب کاربری", body);
                 ViewBag.UserMsg = "باتشکر از ثبت نام شما، ایمیل حاوی لینک فعالسازی برای شما ارسال شد.لطفا جهت فعالسازی حساب کاربری ایمیل وارد شده را چک کنید.";
             }
             else
             {
                 ViewBag.ErrorMessage = "ایمیل وارد شده تکراری می باشد";
             }
         }
         else
         {
             ViewBag.ErrorMessage = "نام کاریری وارد شده تکراری می باشد";
         }
     }
     return(View(register));
 }
Ejemplo n.º 20
0
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                if (this.IsCaptchaValid("کد تصویر امنیتی وارد شده اشتباه است"))
                {
                    Users user = new Users()
                    {
                        UserName   = register.username.Trim().ToLower(),
                        Password   = register.pass,
                        Email      = register.email.Trim().ToLower(),
                        RoleID     = 2,
                        CreateDate = DateTime.Now,
                        ActiveCode = Guid.NewGuid().ToString().Replace("-", ""),
                        IsActive   = false
                    };
                    database.Users.Add(user);
                    try
                    {
                        string body = PartialToStringClass.RenderPartialView("EmailSend", "ActiveUser", user);
                        SendEmailGmail.Send(user.Email, "لینک فعال سازی", body);
                    }
                    catch
                    {
                    }

                    database.SaveChanges();
                    return(View("RegisterSuccess"));
                }
                else
                {
                    ModelState.AddModelError("CaptchaInputText", "کد تصویر امنیتی وارد شده اشتباه است");
                    return(View(register));
                }
            }

            return(View(register));
        }
Ejemplo n.º 21
0
        public ActionResult SendForgotPass(string userName)
        {
            var          user = _userService.GetByUserName(userName);
            SendEmailSMS send = new SendEmailSMS();

            if (user != null)
            {
                DateTime till = DateTime.Now.AddMinutes(-2);
                if (user.activecodeDate > till)
                {
                    return(Json("Time", JsonRequestBehavior.AllowGet));
                }
                string[] linkgenerate = Guid.NewGuid().ToString().Split('-');
                user.ActiveCode     = linkgenerate[0];
                user.activecodeDate = DateTime.Now;
                _userService.Edit(user);
                // // send SMS to number
                try
                {
                    string bodySms = Request.Url.GetLeftPart(UriPartial.Authority) + "/Account/changePass/" + user.ActiveCode;
                    send.SendSMS(new[] { user.moblie }, bodySms);
                }
                catch { }
                try
                {
                    string bodyemail = PartialToStringClass.RenderPartialView("Email", "ForgotPass", user);
                    send.SendEmail(new[] { user.Email }, "بازیابی رمز عبور", bodyemail);
                }
                catch { }

                return(Json("<div class=\"alert alert-success rtl\" role=\"alert\">لینک تغییر رمز عبور به موبایل و ایمیل شما ارسال شد</div>", JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("<div class=\"alert alert-danger rtl\" role=\"alert\"> <strong>خطا </strong> کاربری یافت نشد</div>", JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 22
0
        public ActionResult RecoveryPassword(RecoveryPasswordViewModel recovery)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.SingleOrDefault(u => u.Email == recovery.Email);
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        string Body = PartialToStringClass.RenderPartialView("EmailSender", "RecoveryPassword", user);

                        SendEmailGmail.Send(user.Email, "بازیابی کلمه عبور ", Body);


                        ViewBag.IsSuccess = true;
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری یافت نشد");
                }
            }
            return(View(recovery));
        }
Ejemplo n.º 23
0
        public ActionResult ForgotPassword([Bind(Include = "Email")] ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = db.AccountRepository.GetUserByEmail(model.Email);
                if (user == null)
                {
                    ModelState.AddModelError("Email", "کاربری با این مشخصات یافت نشد");
                    return(View());
                }

                if (user.IsActive == false)
                {
                    ModelState.AddModelError("Email", "حساب کاربری وارد شده فعال نیست.");
                    return(View());
                }

                var body = PartialToStringClass.RenderPartialView("ManageEmails", "RecoveryPassword", user);
                SendEmail.Send(user.Email, "بازیابی رمز عبور", body);
                ViewBag.IsSuccess = true;
                return(View());
            }
            return(View());
        }
Ejemplo n.º 24
0
        public JsonResult SendAgain(string userName)
        {
            DateTime     till = DateTime.Now.AddMinutes(-2);
            var          user = _userService.GetByUserName(userName);
            SendEmailSMS send = new SendEmailSMS();

            if (user != null)
            {
                if (user.activecodeDate > till)
                {
                    return(Json("Time", JsonRequestBehavior.AllowGet));
                }
                long activecode = LongRandom(min: 123456, max: 654321, rand: new Random());
                user.ActiveCode     = activecode.ToString();
                user.activecodeDate = DateTime.Now;
                _userService.Edit(user);
                ///send SMS to number
                try
                {
                    string bodySms = "کد تایید شما : " + activecode.ToString();
                    send.SendSMS(new[] { user.moblie }, bodySms);
                }
                catch { }
                try
                {
                    string bodyemail = PartialToStringClass.RenderPartialView("Email", "ActiveUser", user);
                    send.SendEmail(new[] { user.Email }, "کد تاییدیه حساب", bodyemail);
                }
                catch { }
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 25
0
        public ActionResult Register(RegisterViewModel register)
        {
            if (register.Moblie == null || register.Email == null)
            {
                ModelState.AddModelError("", "لطفا ایمیل و شماره تلفن را برای فعالسازی حسابتان وارد کنید!");
            }

            string       result = googlecaptcha(null);
            SendEmailSMS send   = new SendEmailSMS();

            //// validate the response from Google reCaptcha
            var captChaesponse = JsonConvert.DeserializeObject <reCaptchaResponse>(result);

            if (!captChaesponse.Success)
            {
                ViewBag.Message = "لطفا ابتدا کادر تایید هویتی را علامت بزنید!";
                return(View());
            }


            long activeCode = LongRandom(min: 123456, max: 654321, rand: new Random());


            if (ModelState.IsValid)
            {
                User user = new User()
                {
                    UserName       = register.UserName.Trim(),
                    Name           = register.FirstName + " " + register.LastName,
                    Password       = register.Pass.Trim(),
                    moblie         = register.Moblie.Trim(),
                    Email          = register.Email.Trim(),
                    AddedDate      = DateTime.Now,
                    Profile        = "no-photo.jpg",
                    RoleId         = 2,
                    IP             = ServiceLayer.AddressIpClass.GetPublicIPAddress(),
                    ActiveCode     = activeCode.ToString(),
                    activecodeDate = DateTime.Now,
                    ISActive       = false
                };

                try
                {
                    string bodySms = "کد تایید شما : " + activeCode.ToString();
                    send.SendSMS(new[] { register.Moblie }, bodySms);
                }
                catch { }
                try
                {
                    string bodyemail = PartialToStringClass.RenderPartialView("Email", "ActiveUser", register);
                    send.SendEmail(new[] { register.Email }, "کد تاییدیه حساب", bodyemail);
                }
                catch { }

                _userService.Add(user);
                ViewBag.status = "برای فعال کردن حسابتان کد تائیدیه را وارد کنید!";
                return(View("RegisteredActivate", register));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "خطایی وجود دارد");
            }
            return(View());
        }
Ejemplo n.º 26
0
        public ActionResult Register(RegisterViewModel register, FormCollection form)
        {
            string urlToPost          = "https://www.google.com/recaptcha/api/siteverify";
            string secretKey          = ConfigurationManager.AppSettings["recaptchaPrivateKey"]; // change this
            string gRecaptchaResponse = form["g-recaptcha-response"];

            var postData = "secret=" + secretKey + "&response=" + gRecaptchaResponse;

            // send post data
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToPost);

            request.Method        = "POST";
            request.ContentLength = postData.Length;
            request.ContentType   = "application/x-www-form-urlencoded";

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(postData);
            }

            // receive the response now
            string result = string.Empty;

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (var reader = new StreamReader(response.GetResponseStream()))
                {
                    result = reader.ReadToEnd();
                }
            }

            // validate the response from Google reCaptcha
            var captChaesponse = JsonConvert.DeserializeObject <reCaptchaResponse>(result);

            if (!captChaesponse.Success)
            {
                ViewBag.Message = "لطفا هویت خود را تایید کنید ";
                return(View());
            }

            //Start Register Code
            if (ModelState.IsValid)
            {
                if (!db.Users.Any(u => u.Email == register.Email.Trim().ToLower()))
                {
                    if (!db.Users.Any(u => u.UserName == register.UserName))
                    {
                        Users user = new Users()
                        {
                            Email        = register.Email.Trim().ToLower(),
                            Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                            ActiveCode   = Guid.NewGuid().ToString(),
                            IsActive     = false,
                            UserName     = register.UserName,
                            Address      = register.Address,
                            PhoneNumber  = register.PhoneNumber,
                            RoleID       = 1,
                            RegisterDate = DateTime.Now
                        };
                        db.Users.Add(user);
                        db.SaveChanges();

                        //Send Active Email

                        string body = PartialToStringClass.RenderPartialView("ManageEmail", "ActivationEmail", user);
                        SendEmail.Send(user.Email, "فعالسازی حساب کاربری", body);

                        //End Send Active Email


                        return(View("SuccessRegister", user));
                    }
                    else
                    {
                        ModelState.AddModelError("UserName", "نام کاربری وارد شده قبلا توسط شخص دیگری ثبت شده است !");
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "ایمیل وارد شده قبلا توسط شخص دیگری ثبت شده است! ");
                }
            }
            ViewBag.AccountText = "با ثبت نام در سایت ، از مزایای کاربران سایت بهره مند شوید";
            ViewBag.AccountName = "ثبت نام ";
            return(View(register));
        }
Ejemplo n.º 27
0
        public ActionResult ForgotPassword(ForgotPasswordViewModel forgot, FormCollection form)
        {
            string urlToPost          = "https://www.google.com/recaptcha/api/siteverify";
            string secretKey          = ConfigurationManager.AppSettings["recaptchaPrivateKey"]; // change this
            string gRecaptchaResponse = form["g-recaptcha-response"];

            var postData = "secret=" + secretKey + "&response=" + gRecaptchaResponse;

            // send post data
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToPost);

            request.Method        = "POST";
            request.ContentLength = postData.Length;
            request.ContentType   = "application/x-www-form-urlencoded";

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(postData);
            }

            // receive the response now
            string result = string.Empty;

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (var reader = new StreamReader(response.GetResponseStream()))
                {
                    result = reader.ReadToEnd();
                }
            }

            // validate the response from Google reCaptcha
            var captChaesponse = JsonConvert.DeserializeObject <reCaptchaResponse>(result);

            if (!captChaesponse.Success)
            {
                ViewBag.Message = "لطفا هویت خود را تایید کنید ";
                return(View());
            }

            //Start ForgetPasswords code
            if (ModelState.IsValid)
            {
                var user = db.Users.SingleOrDefault(u => u.Email == forgot.Email);
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        //Send Email

                        string bodyEmail = PartialToStringClass.RenderPartialView("ManageEmail", "RecoveryPassword", user);
                        SendEmail.Send(user.Email, "بازیابی گذرواژه", bodyEmail);
                        //End Send Email
                        return(View("SuccesForgotPassword", user));
                    }
                    else
                    {
                        ModelState.AddModelError("Email", "متاسفانه حساب کاربری شما فعان نشده است");
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری با اطلاعات وارد شده یافت نشد !");
                }
            }
            ViewBag.AccountText = "پس از وارد کردن ایمیل خود لینک تغییر گذرواژه به ایمیل شما ارسال می شود.";
            ViewBag.AccountName = "بازیابی گذرواژه";
            return(View());
        }
Ejemplo n.º 28
0
        public ActionResult Register(RegisterViewModel register, HttpPostedFileBase UserPic)
        {
            if (ModelState.IsValid)
            {
                if (!db.UserLogin.Any(u => u.UserName == register.UserName))
                {
                    if (UserPic != null && UserPic.ContentLength > 0)
                    {
                        if (UserPic.ContentLength / 1024 <= 3072)
                        {
                            if (UserPic.ContentType == "image/jpeg" || UserPic.ContentType == "image/png")
                            {
                                string Picname = Guid.NewGuid().ToString().Replace("-", "") + System.IO.Path.GetExtension(UserPic.FileName);
                                string path    = System.IO.Path.Combine(Server.MapPath("~/images/Userimages/" + Picname));
                                UserPic.SaveAs(path);
                                register.ImageUser = Picname;
                            }
                            else
                            {
                                TempData["msg"] = "پسوند فایل یکی از موارد ذیل باشد.1-png,2-jpg";
                                return(RedirectToAction("register"));
                            }
                        }
                        else
                        {
                            TempData["msg"] = "حجم فایل شما باید کمتر از 3 مگابایت باشد";
                            return(RedirectToAction("register"));
                        }
                    }
                    else if (UserPic == null)
                    {
                        register.ImageUser = "******";
                    }

                    UserLogin users = new UserLogin()
                    {
                        UserName     = register.UserName,
                        Email        = register.Email.ToLower(),
                        IsActive     = false,
                        ActiveCode   = Guid.NewGuid().ToString().Replace("-", ""),
                        Password     = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"),
                        RegisterDate = ShamsiDate(),
                        RoleID       = 2,
                        ImageUser    = register.ImageUser
                    };
                    db.UserLogin.Add(users);
                    db.SaveChanges();
                    string body = PartialToStringClass.RenderPartialView("ManageEmail", "ActiveAccount", users);
                    SendEmailGmail.Send(users.Email, "Active Email", body);
                    //کد زیر باعث می شود که وقتی ثبت نام با موفقیت انجام شد به صفحه زیر برود و حالت یک پیغام دارد
                    return(View("SuccessRegister", users));
                }
                //از تمپ دیتا زمانی تستفاده می کنیم که بخواهیم پیغام موفقیت آمیز را در همان صفحه نمایش دهیم
                //TempData["msg"] = "ثبت نام شما با موفقیت انجام شد"[email protected] +"کاربر گرامی";
                //   return RedirectToAction("register");
                else
                {
                    TempData["msg"] = "کاریری با این نام موجود است";
                    return(RedirectToAction("register"));
                }
            }

            return(View());
        }