using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using Zerolauncher.Manager;
namespace Zerolauncher.dialog
{
///
/// EditMember.xaml 的交互逻辑
///
public partial class EditMember : UserControl
{
private Dictionary _services;
public EditMember()
{
_services = new Dictionary();
int i = 0;
foreach (string serviceName in ServicesStaticInfo.ServicesName)
{
_services[i++] = serviceName;
}
InitializeComponent();
cb_pid.ItemsSource = _services;
if(EditMemberDialog.member != null)
{
int index = (int)EditMemberDialog.member;
var acc = AccountManager.accountsList[index];
cb_pid.SelectedIndex = acc.providerId;
edit_sid.Text = acc.serverId;
edit_acc.Text = acc.userName;
edit_pwd.Password = acc.userPWD;
edit_nick.Text = acc.nickName;
}
return;
// 私服用
if (ServicesStaticInfo.ServicesName.Length == 1)
{
cb_pid.SelectedIndex = 1;
edit_sid.Text = "1";
cb_pid.IsEditable = false;
edit_sid.IsEnabled = false;
}
}
private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
{
PasswordBox passwordBox = sender as PasswordBox;
VisualBrush helpBrush = passwordBox.Resources["HelpBrush"] as VisualBrush;
if (passwordBox.Password.Length > 0)
{
passwordBox.Background = new SolidColorBrush(Color.FromRgb(255, 255, 255));
}
else
{
passwordBox.Background = helpBrush;
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(cb_pid.Text) || string.IsNullOrEmpty(edit_sid.Text) || string.IsNullOrEmpty(edit_acc.Text) || string.IsNullOrEmpty(edit_pwd.Password) || string.IsNullOrEmpty(edit_nick.Text))
{
MessageBox.Show("所有选项均不能为空!", "提示");
return;
}
if (EditMemberDialog.member == null)
{
AccountManager.AddAccount(new Account { providerId = cb_pid.SelectedIndex, serverId = edit_sid.Text, userName = edit_acc.Text, userPWD = edit_pwd.Password, nickName = edit_nick.Text });
EditMemberDialog.Close();
return;
}
int index = (int)EditMemberDialog.member;
var acc = AccountManager.accountsList[index];
acc.providerId = cb_pid.SelectedIndex;
acc.serverId = edit_sid.Text;
acc.userName = edit_acc.Text;
acc.userPWD = edit_pwd.Password;
acc.nickName = edit_nick.Text;
AccountManager.saveEdit();
EditMemberDialog.Close();
return;
}
}
}