Files
Groupware/DBMigration/Forms/ConnectionForm.cs

132 lines
4.6 KiB
C#

using DBMigration.Models;
namespace DBMigration.Forms
{
public partial class ConnectionForm : Form
{
public ConnectionInfo ConnectionInfo { get; private set; }
public ConnectionForm()
{
InitializeComponent();
this.Load += ConnectionForm_Load;
}
private void ConnectionForm_Load(object? sender, EventArgs e)
{
UpdateCredentialsFields();
this.txtServer.Text = "10.131.15.18";
this.txtDatabase.Text = "EE";
this.txtUserId.Text = "eeuser";
this.txtPassword.Text = "Amkor123!";
this.chkWindowsAuth.Checked = false;
}
private void UpdateCredentialsFields()
{
bool isWindowsAuth = chkWindowsAuth.Checked;
txtUserId.Enabled = !isWindowsAuth;
txtPassword.Enabled = !isWindowsAuth;
}
private void InitializeComponent()
{
this.txtServer = new TextBox();
this.txtDatabase = new TextBox();
this.txtUserId = new TextBox();
this.txtPassword = new TextBox();
this.chkWindowsAuth = new CheckBox();
this.btnConnect = new Button();
this.btnCancel = new Button();
this.SuspendLayout();
// txtServer
this.txtServer.Location = new Point(12, 12);
this.txtServer.Size = new Size(200, 23);
this.txtServer.PlaceholderText = "서버 이름";
// txtDatabase
this.txtDatabase.Location = new Point(12, 41);
this.txtDatabase.Size = new Size(200, 23);
this.txtDatabase.PlaceholderText = "데이터베이스 이름";
// txtUserId
this.txtUserId.Location = new Point(12, 70);
this.txtUserId.Size = new Size(200, 23);
this.txtUserId.PlaceholderText = "사용자 ID";
// txtPassword
this.txtPassword.Location = new Point(12, 99);
this.txtPassword.Size = new Size(200, 23);
this.txtPassword.PasswordChar = '*';
this.txtPassword.PlaceholderText = "비밀번호";
// chkWindowsAuth
this.chkWindowsAuth.Location = new Point(12, 128);
this.chkWindowsAuth.Size = new Size(200, 23);
this.chkWindowsAuth.Text = "Windows 인증 사용";
this.chkWindowsAuth.CheckedChanged += (s, e) => UpdateCredentialsFields();
// btnConnect
this.btnConnect.Location = new Point(12, 157);
this.btnConnect.Size = new Size(95, 23);
this.btnConnect.Text = "연결";
this.btnConnect.Click += BtnConnect_Click;
// btnCancel
this.btnCancel.Location = new Point(117, 157);
this.btnCancel.Size = new Size(95, 23);
this.btnCancel.Text = "취소";
this.btnCancel.Click += BtnCancel_Click;
// ConnectionForm
this.ClientSize = new Size(224, 192);
this.Controls.AddRange(new Control[] {
this.txtServer,
this.txtDatabase,
this.txtUserId,
this.txtPassword,
this.chkWindowsAuth,
this.btnConnect,
this.btnCancel
});
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.StartPosition = FormStartPosition.CenterParent;
this.Text = "데이터베이스 연결";
this.ResumeLayout(false);
this.PerformLayout();
}
private void BtnConnect_Click(object? sender, EventArgs e)
{
ConnectionInfo = new ConnectionInfo
{
ServerName = txtServer.Text,
DatabaseName = txtDatabase.Text,
UserId = txtUserId.Text,
Password = txtPassword.Text,
UseWindowsAuthentication = chkWindowsAuth.Checked
};
DialogResult = DialogResult.OK;
Close();
}
private void BtnCancel_Click(object? sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
private TextBox txtServer;
private TextBox txtDatabase;
private TextBox txtUserId;
private TextBox txtPassword;
private CheckBox chkWindowsAuth;
private Button btnConnect;
private Button btnCancel;
}
}