private void _button修改_Click(object sender, RoutedEventArgs e) { bool changed = false; using (StatementContext statement = new StatementContext(typeof(User))) { // if (string.IsNullOrEmpty(_textBox用户名.Text) || _textBox用户名.Text.Length > 20) { MessageBox.Show("用户名必须1-20个字符!"); return; } if (statement.Users.FirstOrDefault(model => model.Id != user.Id && model.UserName.Equals(_textBox用户名.Text)) != null) { MessageBox.Show("用户名已被占用!"); return; } if (string.IsNullOrEmpty(_textBox用户密码.Password) || _textBox用户密码.Password.Length < 6 || _textBox用户密码.Password.Length > 20) { MessageBox.Show("密码必须6-20个字符!"); return; } if (!_textBox用户密码.Password.Equals(_textBox用户密码2.Password)) { MessageBox.Show("两次密码不一致!"); return; } var oldUser = statement.Users.FirstOrDefault(model => model.Id == user.Id); if (!_textBox用户名.Text.Trim().Equals(user.UserName)) { changed = true; oldUser.UserName = _textBox用户名.Text.Trim(); } if (!_textBox用户密码.Password.Trim().Equals(user.UserPassword._RSADecrypt())) { changed = true; oldUser.UserPassword = _textBox用户密码.Password._RSAEcrypt(); } if (!_textBox邮箱.Text.Trim().Equals(user.Email)) { changed = true; oldUser.Email = _textBox邮箱.Text.Trim(); } if (changed) { statement.EditUser(oldUser); statement.SaveChanged(); MessageBox.Show("信息修改成功!"); } Close(); } }
private void _linkLabel忘记密码_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { try { using (StatementContext statement = new StatementContext(typeof(User))) { var user = statement.Users.FirstOrDefault(model => model.UserName.Equals(_comboBox用户列表.Text.Trim())); // if (MessageBox.Show(string.Format("是否向用户<{0}>的密保邮箱发送新密码?", user.UserName), "发送新密码确认", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { //确定smtp服务器地址。实例化一个Smtp客户端 SmtpClient client = new SmtpClient("smtp.163.com"); //构造一个发件人地址对象 MailAddress from = new MailAddress("*****@*****.**", "期货助手", Encoding.UTF8); //构造一个收件人地址对象 MailAddress to = new MailAddress(user.Email, _comboBox用户列表.Text.Trim(), Encoding.UTF8); //构造一个Email的Message对 MailMessage message = new MailMessage(from, to); Random random = new Random(); string newPassword = string.Format("{0}{1}{2}{3}{4}{5}", random.Next(10), random.Next(10), random.Next(10), random.Next(10), random.Next(10), random.Next(10)); //添加邮件主题和内容 message.Subject = "期货助手 - 新密码"; message.SubjectEncoding = Encoding.UTF8; message.Body = string.Format("您的新密码是:{0}", newPassword); message.BodyEncoding = Encoding.UTF8; //设置邮件的信息 client.DeliveryMethod = SmtpDeliveryMethod.Network; message.BodyEncoding = System.Text.Encoding.UTF8; message.IsBodyHtml = false; //设置用户名和密码。 client.UseDefaultCredentials = false; string username = "******"; string passwd = "mail351489"; //用户登陆信息 NetworkCredential myCredentials = new NetworkCredential(username, passwd); client.Credentials = myCredentials; //发送邮件 client.Send(message); // user.UserPassword = newPassword._RSAEcrypt(); statement.EditUser(user); statement.SaveChanged(); //提示发送成功 MessageBox.Show("新密码已经发送到您的邮箱中,请及时查收!"); } } } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } }