public ActionResult RecoveryPassword(string emailAddress)
        {
            User user = _userService.GetAllUser(x => x.EmailAddress == emailAddress).FirstOrDefault();

            if (user != null)
            {
                using (MailMessage mail = new MailMessage())
                {
                    string newPassword = Membership.GeneratePassword(50, 0);
                    newPassword = Regex.Replace(newPassword, @"[^a-zA-Z0-9]", m => "");
                    newPassword = newPassword.Substring(0, 6);

                    mail.To.Add(emailAddress);
                    mail.IsBodyHtml = true;
                    mail.From       = new MailAddress("*****@*****.**");
                    mail.Subject    = "New Password";
                    mail.Body       = "Your New Password:"******"mail.capital.com.tr";
                        client.Port           = 587;
                        client.EnableSsl      = false;
                        client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        client.Credentials    = new System.Net.NetworkCredential("*****@*****.**", "capital123");
                        client.Timeout        = 100000;

                        try
                        {
                            client.Send(mail);                                                                         //try send mail
                            user.Password = MD5.Calculate(newPassword);                                                //if send mailupdate user password
                            _userService.UpdateUser(user);
                            ModelState.AddModelError("", "Check Out Your Email Address, For Login With New Password"); //show message to user
                        }
                        catch (Exception ex)
                        {
                            //show message to user
                            if (ex.InnerException != null && ex.InnerException.Message != null)
                            {
                                ModelState.AddModelError("", "Error:" + ex.Message + "Error Details :" + ex.InnerException.Message);
                            }
                            else
                            {
                                ModelState.AddModelError("", "Error:" + ex.Message);
                            }
                        }
                    } //using client
                }     //using mail

                return(View());
            }//if user not null
            else
            {
                ModelState.AddModelError("", "Check Out Your Email Address, This Email Address Is Not Exist");
                return(View());
            }
        }
        public ActionResult Register(User user)
        {
            if (ModelState.IsValid)
            {
                string userPassword = MD5.Calculate(user.Password);
                user.Password = userPassword;
                user.IsActive = true;
                user.UserRole = Entities.Models.User.UserRoles.Normal;
                _userService.AddUser(user);

                return(RedirectToRoute("Login", new User()));
            }

            return(View());
        }
 public ActionResult Login(User user)
 {
     if (ModelState.IsValid)
     {
         string md5Password = MD5.Calculate(user.Password);
         User   isLoginUser = _userService.GetAllUser(x => (x.EmailAddress == user.EmailAddress) && (x.Password == md5Password)).FirstOrDefault();
         if (isLoginUser != null)
         {
             Session["isLogin"] = isLoginUser;
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             ModelState.AddModelError("", "Please Check Out Your Email and Password!");
             return(View(new User()));
         }
     }
     return(View(new User()));
 }