You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

155 lines
6.0 KiB

using Tiobon.Core.OPS.Tool.OPS.Tool.Helper;
using Tiobon.Core.OPS.Tool.OPS.Tool.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Tiobon.Core.OPS.Tool.OPS.Tool.View
{
public partial class Frm_MultiItem : Form
{
MultiEnvInfo item;
bool b_update = false;
public Frm_MultiItem(string name = null)
{
InitializeComponent();
if (!string.IsNullOrEmpty(name))
{
b_update = true;
this.Text = $"编辑 - {name}";
item = Const.MultiEnvs.Where(o => o.Ip == Const.config.ip && o.Name == name).FirstOrDefault();
if (!(item is null))
{
this.txt_Name.Text = item.Name;
this.txt_FileName.Text = item.FileName;
this.txt_DefaultPort.Text = item.DefaultPort;
this.txt_DefaultMask.Text = item.DefaultMask;
}
}
}
private void btn_Ok_Click(object sender, EventArgs e)
{
foreach (var control in gb_main.Controls)
{
if (control is TextBox)
{
var textBox = control as TextBox;
if (string.IsNullOrEmpty(textBox.Text.Trim()))
{
MessageBox.Show($"{textBox.Name},不允许为空!", "提示");
return;
}
}
}
int.TryParse(this.txt_DefaultPort.Text.Trim(), out int port);
if (port < 100 || port > 655)
{
MessageBox.Show($"端口配置不正确,取值范围[100,655)!", "提示");
return;
}
int.TryParse(this.txt_DefaultMask.Text.Trim(), out int mask);
if (mask < 1 || mask > 255)
{
MessageBox.Show($"掩码配置不正确,取值范围[1,255)!", "提示");
return;
}
var multiEnv = new MultiEnvInfo
{
Name = this.txt_Name.Text.Trim(),
FileName = this.txt_FileName.Text.Trim(),
Ip = Const.config.ip,
DefaultPort = this.txt_DefaultPort.Text.Trim(),
DefaultMask = this.txt_DefaultMask.Text.Trim()
};
if (b_update)
{
if (item.Name != multiEnv.Name)
{
//新增
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.Name == multiEnv.Name))
{
MessageBox.Show($"环境名称已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.FileName == multiEnv.FileName))
{
MessageBox.Show($"文件名称已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.DefaultPort == multiEnv.DefaultPort))
{
MessageBox.Show($"端口已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.DefaultMask == multiEnv.DefaultMask))
{
MessageBox.Show($"子网掩码已存在!", "提示");
return;
}
Const.MultiEnvs.Add(multiEnv);
}
else
{
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.Name != multiEnv.Name && o.FileName == multiEnv.FileName))
{
MessageBox.Show($"文件名称已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.Name != multiEnv.Name && o.DefaultPort == multiEnv.DefaultPort))
{
MessageBox.Show($"端口已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.Name != multiEnv.Name && o.DefaultMask == multiEnv.DefaultMask))
{
MessageBox.Show($"子网掩码已存在!", "提示");
return;
}
//编辑
Const.MultiEnvs.Remove(item);
Const.MultiEnvs.Add(multiEnv);
}
}
else
{
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.Name == multiEnv.Name))
{
MessageBox.Show($"环境名称已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.FileName == multiEnv.FileName))
{
MessageBox.Show($"文件名称已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.DefaultPort == multiEnv.DefaultPort))
{
MessageBox.Show($"端口已存在!", "提示");
return;
}
if (Const.MultiEnvs.Any(o => o.Ip == Const.config.ip && o.DefaultMask == multiEnv.DefaultMask))
{
MessageBox.Show($"子网掩码已存在!", "提示");
return;
}
Const.MultiEnvs.Add(multiEnv);
}
Const.SaveMultiEnv();
this.Close();
}
private void btn_Cancel_Click(object sender, EventArgs e)
{
this.Close();
}
}
}