Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
            }
        }