Files
2024-06-26 10:30:00 +09:00

327 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DataBaseConnection.Control;
using DevExpress.XtraBars.Docking;
using DevExpress.XtraEditors;
using SystemX.Product.ALIS.Interface;
using static SystemX.Product.CP.TRA.Commons;
namespace SystemX.Product.ALIS.UI.Subs
{
public partial class ConnectForm : DevExpress.XtraEditors.XtraForm
{
private enum eCehckType
{
TestListServer = 1,
DataLogServer1 = 2,
DataLogServer2 = 3
}
private IDataController ctrlDB;
//TL Server
public string strInputTextTL;
private string strSetIPAddressTL;
public string strGetIPAddressTL { get { return strSetIPAddressTL; } private set { strSetIPAddressTL = value; } }
private int nSetConnPortTL;
public int nGetConnPortTL { get { return nSetConnPortTL; } private set { nSetConnPortTL = value; } }
//DT Server 1
public string strInputTextDT1;
private string strSetIPAddressDT1;
public string strGetIPAddressDT1 { get { return strSetIPAddressDT1; } private set { strSetIPAddressDT1 = value; } }
private int nSetConnPortDT1;
public int nGetConnPortDT1 { get { return nSetConnPortDT1; } private set { nSetConnPortDT1 = value; } }
//
//DT Server 2
public bool bSelectUseDataServer2;
public string strInputTextDT2;
private string strSetIPAddressDT2;
public string strGetIPAddressDT2 { get { return strSetIPAddressDT2; } private set { strSetIPAddressDT2 = value; } }
private int nSetConnPortDT2;
public int nGetConnPortDT2 { get { return nSetConnPortDT2; } private set { nSetConnPortDT2 = value; } }
//
public int nOverviewModelC1;
public int nOverviewModelC2;
public DialogResult TestListServerCheckResult;
public DialogResult DataServerCheckResult1;
public DialogResult DataServerCheckResult2;
public ConnectForm(IDataController ctrlDB)
{
InitializeComponent();
//this.MinimumSize = new Size(400, 250);
//this.MaximumSize = new Size(400, 250);
this.ctrlDB = ctrlDB;
//maskedTextBoxIP.Mask = "###.###.###.###";
//maskedTextBoxIP.ValidatingType = typeof(System.Net.IPAddress);
this.BringToFront();
this.Focus();
DialogResult = DialogResult.None;
comboBoxOverviewModel1.SelectedIndex = 0;
comboBoxOverviewModel2.SelectedIndex = 1;
ConnectInfoINICtrl CCtrl = new ConnectInfoINICtrl();
string strGetConnectInfo1 = CCtrl.GetValue("LastestConnect", "Info1", "");
string strGetConnectInfo2 = CCtrl.GetValue("LastestConnect", "Info2", "");
string strGetConnectInfo3 = CCtrl.GetValue("LastestConnect", "Info3", "");
string strGetConnectInfo4 = CCtrl.GetValue("LastestConnect", "UseDataServer2", "False");
string strGetConnectInfo5 = CCtrl.GetValue("LastestConnect", "OverviewModelInfoC1", "0");
string strGetConnectInfo6 = CCtrl.GetValue("LastestConnect", "OverviewModelInfoC2", "1");
int nOverInfoC1 = 0;
int nOverInfoC2 = 1;
if(int.TryParse(strGetConnectInfo5, out nOverInfoC1))
comboBoxOverviewModel1.SelectedIndex = nOverInfoC1;
if(int.TryParse(strGetConnectInfo6, out nOverInfoC2))
comboBoxOverviewModel2.SelectedIndex = nOverInfoC2;
if (strGetConnectInfo1.Length > 0)
maskedTextBoxTLIP.Text = strGetConnectInfo1;
if (strGetConnectInfo2.Length > 0)
maskedTextBoxDT1IP.Text = strGetConnectInfo2;
if (strGetConnectInfo3.Length > 0)
maskedTextBoxDT2IP.Text = strGetConnectInfo3;
if (strGetConnectInfo4.Length > 0)
{
bool bGetUseState = false;
if (bool.TryParse(strGetConnectInfo4, out bGetUseState))
checkBoxUseDT2.Checked = bGetUseState;
else
checkBoxUseDT2.Checked = false;
}
for (int i = 0; i < INICtrl.MAX_INFORMATION; i++)
{
string strGetInfo1 = CCtrl.GetValue("HistoryConnect" + i.ToString(), "Info1", "");
string strGetInfo2 = CCtrl.GetValue("HistoryConnect" + i.ToString(), "Info2", "");
string strGetInfo3 = CCtrl.GetValue("HistoryConnect" + i.ToString(), "Info3", "");
if (strGetInfo1.Length > 0)
maskedTextBoxTLIP.Properties.Items.Add(strGetInfo1);
if (strGetInfo2.Length > 0)
maskedTextBoxDT1IP.Properties.Items.Add(strGetInfo2);
if (strGetInfo3.Length > 0)
maskedTextBoxDT2IP.Properties.Items.Add(strGetInfo3);
}
}
private void InvaildIPAlarm()
{
MessageBox.Show("Invalid IP. Enter it in the normal format. (An empty string or [localhost] will attempt to connect to the local server.)", "[SystemX.Product.ALIS.UI]", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
private DialogResult CheckInformation(eCehckType ChkTyp, object sender, string strText)
{
DialogResult CheckResult = DialogResult.None;
IPAddress getIPAddress = null;
string strGetText = strText;
string[] strGetSplitCommaText = strGetText.Split(',');
string[] strGetSplitDotText = strGetText.Split('.');
if (ChkTyp == eCehckType.TestListServer)
{
strGetIPAddressTL = string.Empty;
nGetConnPortTL = DatabaseConnControl.CatalogConnPort;
strInputTextTL = strText;
}
else if (ChkTyp == eCehckType.DataLogServer1)
{
strGetIPAddressDT1 = string.Empty;
nGetConnPortDT1 = DatabaseConnControl.CatalogConnPort;
strInputTextDT1 = strText;
}
else if (ChkTyp == eCehckType.DataLogServer2)
{
strGetIPAddressDT2 = string.Empty;
nGetConnPortDT2 = DatabaseConnControl.CatalogConnPort;
strInputTextDT2 = strText;
}
if (IPAddress.TryParse(strText, out getIPAddress) == false)
{
if (strGetSplitCommaText.Length == 2)
{
string strGetIP = strGetSplitCommaText[0];
string strGetPort = strGetSplitCommaText[1];
int nGetPort = int.MaxValue;
if (IPAddress.TryParse(strGetIP, out getIPAddress) &&
int.TryParse(strGetPort, out nGetPort))
{
if (ChkTyp == eCehckType.TestListServer)
{
strGetIPAddressTL = strGetIP;
nGetConnPortTL = nGetPort;
}
else if (ChkTyp == eCehckType.DataLogServer1)
{
strGetIPAddressDT1 = strGetIP;
nGetConnPortDT1 = nGetPort;
}
else if (ChkTyp == eCehckType.DataLogServer2)
{
strGetIPAddressDT2 = strGetIP;
nGetConnPortDT2 = nGetPort;
}
CheckResult = DialogResult.OK;
return CheckResult;
}
}
string strGetUpperText = strText.ToUpper();
if (strText.Length == 0)
CheckResult = DialogResult.Ignore;
else if (strGetUpperText.CompareTo("LOCALHOST") == 0)
CheckResult = DialogResult.Ignore;
else if (strText.CompareTo("If you do not enter the ip, will be connected to the local area.") == 0)
CheckResult = DialogResult.Ignore;
else
{
((ComboBoxEdit)sender).Text = "";
InvaildIPAlarm();
}
}
else
{
if (strGetSplitDotText.Length == 4)
{
if (ChkTyp == eCehckType.TestListServer)
strGetIPAddressTL = strText;
else if (ChkTyp == eCehckType.DataLogServer1)
strGetIPAddressDT1 = strText;
else if (ChkTyp == eCehckType.DataLogServer2)
strGetIPAddressDT2 = strText;
CheckResult = DialogResult.OK;
}
else
{
((ComboBoxEdit)sender).Text = "";
InvaildIPAlarm();
}
}
return CheckResult;
}
private void simpleButtonOK_Click(object sender, EventArgs e)
{
bSelectUseDataServer2 = checkBoxUseDT2.Checked;
//
nOverviewModelC1 = comboBoxOverviewModel1.SelectedIndex;
nOverviewModelC2 = comboBoxOverviewModel2.SelectedIndex;
TestListServerCheckResult = DialogResult.None;
DataServerCheckResult1 = DialogResult.None;
TestListServerCheckResult = CheckInformation(eCehckType.TestListServer, maskedTextBoxTLIP, maskedTextBoxTLIP.Text);
DataServerCheckResult1 = CheckInformation(eCehckType.DataLogServer1, maskedTextBoxDT1IP, maskedTextBoxDT1IP.Text);
if (bSelectUseDataServer2)
DataServerCheckResult2 = CheckInformation(eCehckType.DataLogServer2, maskedTextBoxDT2IP, maskedTextBoxDT2IP.Text);
else
DataServerCheckResult2 = DialogResult.Ignore;
if ((TestListServerCheckResult.HasFlag(DialogResult.OK) || TestListServerCheckResult.HasFlag(DialogResult.Ignore)) &&
(DataServerCheckResult1.HasFlag(DialogResult.OK) || DataServerCheckResult1.HasFlag(DialogResult.Ignore)) &&
(DataServerCheckResult2.HasFlag(DialogResult.OK) || DataServerCheckResult2.HasFlag(DialogResult.Ignore)))
DialogResult = DialogResult.OK;
}
private void ConnectForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult == DialogResult.None)
DialogResult = DialogResult.Abort;
/*if (maskedTextBoxIP.Text.Length == 0)
DialogResult = DialogResult.Cancel;
else if (maskedTextBoxIP.Text.CompareTo("localhost") == 0)
DialogResult = DialogResult.Cancel;
else if (maskedTextBoxIP.Text.CompareTo("If you do not enter the ip, will be connected to the local area.") == 0)
DialogResult = DialogResult.Cancel;
else
{
e.Cancel = true;
if (IPAddress.TryParse(maskedTextBoxIP.Text, out IPAddress))
e.Cancel = false;
}*/
}
private void maskedTextBoxIP_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (((ComboBoxEdit)sender).Text.CompareTo("If you do not enter the ip, will be connected to the local area.") == 0)
((ComboBoxEdit)sender).Text = string.Empty;
}
private void simpleButtonReset_Click(object sender, EventArgs e)
{
maskedTextBoxTLIP.Text = "If you do not enter the ip, will be connected to the local area.";
maskedTextBoxDT1IP.Text = "If you do not enter the ip, will be connected to the local area.";
maskedTextBoxDT2IP.Text = "If you do not enter the ip, will be connected to the local area.";
checkBoxUseDT2.Checked = false;
}
private void label1_DoubleClick(object sender, EventArgs e)
{
comboBoxOverviewModel1.Visible = !comboBoxOverviewModel1.Visible;
}
private void label3_DoubleClick(object sender, EventArgs e)
{
comboBoxOverviewModel2.Visible = !comboBoxOverviewModel2.Visible;
}
}
}