📄 index.cs
字号:
if (DataSourceConfig != null)
{
//根据DataSourceConfig.DataSourceId判断此数据源是否进行了详细配置
DataSet ParticularConfig = new DataSet();
ParticularConfig = Common.GetParticularConfigList("DataSourceId=" + DataSourceConfig.DataSourceId);
if (ParticularConfig != null)
{
if (ParticularConfig.Tables.Count > 0)
{
if (ParticularConfig.Tables[0].Rows.Count > 0)
{
DataEntity.Gather_Period Period = new Gather_Period();
Period = Common.GetPeriodModel(DataSourceConfig.PeriodId);
if (Period != null)
{
DataEntity.Entity_GatherThread GatherThread = new Entity_GatherThread();
GatherThread.MgId = int.Parse(this.treeView1.SelectedNode.Parent.Tag.ToString());
GatherThread.MgName = this.treeView1.SelectedNode.Parent.Text.ToString();
GatherThread.CourseManageId = DataSourceConfig.DataSourceId.ToString();
GatherThread.DataSourceId = DataSourceConfig.DataSourceId;
GatherThread.DataSourceName = DataSourceConfig.DataSourceName;
GatherThread.EndTime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + Period.EndTime);
GatherThread.NextTime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + Period.TimeGather);
GatherThread.OneFlag = true;
GatherThread.PeriodGather = Period.PeriodGather;
GatherThread.PeriodId = Period.PeriodId.ToString();
GatherThread.StartTime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + Period.StartTime);
GatherThread.StateId = "2";
GatherThread.StateName = "等待采集";
//将新增的数据源的采集加入采集队列
alMsgList.Add(GatherThread);
//更新采集列表
DataBindGridView();
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":没有找到该数据源的详细采集周期设置,可能已经被移除,请设置采集周期后重试!", "警告", MessageBoxButtons.OK);
}
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":没有找到该数据源的详细配置,可能已经被移除,请设置详细配置后重试!", "警告", MessageBoxButtons.OK);
}
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":没有找到该数据源的详细配置,可能已经被移除,请设置详细配置后重试!", "警告", MessageBoxButtons.OK);
}
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":没有找到该数据源的详细配置,可能已经被移除,请设置详细配置后重试!", "警告", MessageBoxButtons.OK);
}
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":该数据源没有设置采集周期,请设置采集周期后重试!", "警告", MessageBoxButtons.OK);
}
}
else
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":已加入采集队列!", "警告", MessageBoxButtons.OK);
}
}
}
/// <summary>
/// 判断DataSourceID是否已加入到采集队列
/// </summary>
/// <param name="DataSourceID">数据源ID</param>
/// <returns></returns>
private bool CheckDataSourceIDInMsgList(int DataSourceID)
{
bool Exist = false;
if (this.alMsgList != null)
{
foreach (object obj in alMsgList)
{
Entity_GatherThread GatherThread = new Entity_GatherThread();
GatherThread = (Entity_GatherThread)obj;
if (GatherThread.DataSourceId == DataSourceID)
{
Exist = true;
break;
}
}
}
return Exist;
}
#endregion
#region 退出系统或关闭系统事件
/// <summary>
/// 退出按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ExitApplication_Click(object sender, EventArgs e)
{
thread.Abort();
Application.Exit();
}
/// <summary>
/// 窗体关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Index_FormClosed(object sender, FormClosedEventArgs e)
{
thread.Abort();
}
#endregion
#region 菜单事件--信息类别相关
/// <summary>
/// 添加信息类别
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AddMessage_Click(object sender, EventArgs e)
{
MessageManage messageManage = new MessageManage("", this.treeView1.SelectedNode.Tag.ToString(), 0);
messageManage.ShowDialog();
}
private void EditMessage_Click(object sender, EventArgs e)
{
MessageManage messageManage = new MessageManage(this.treeView1.SelectedNode.Tag.ToString(), "", 1);
messageManage.ShowDialog();
}
/// <summary>
/// 删除信息类别(同时删除该信息类别的所有子类及子类信息配置的数据源)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeleteMessage_Click(object sender, EventArgs e)
{
int Num = Common.DeleteMessage(int.Parse(this.treeView1.SelectedNode.Tag.ToString()));
if (Num != 1)
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":该信息类别删除失败,请与系统管理员联系!", "警告", MessageBoxButtons.OK);
return;
}
//删除成功后,重新绑定左侧的树型控件
ReSetTreeView();
}
#endregion
#region 菜单事件--数据源相关
/// <summary>
/// 添加数据源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AddDataSource_Click(object sender, EventArgs e)
{
DataSourceManage datasourceManage = new DataSourceManage();
datasourceManage.MgID = int.Parse(this.treeView1.SelectedNode.Tag.ToString());
datasourceManage.ShowDialog();
}
/// <summary>
/// 编辑数据源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void EditDataSourceConfig_Click(object sender, EventArgs e)
{
DataSourceManage datasourceManage = new DataSourceManage();//("", this.treeView1.SelectedNode.Tag.ToString(), 0);
datasourceManage.DataSourceId = int.Parse(this.treeView1.SelectedNode.Tag.ToString());
datasourceManage.ShowDialog();
}
/// <summary>
/// 删除数据源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeleteDataSourceConfig_Click(object sender, EventArgs e)
{
int Num = Common.DeleteDataSourceConfig(int.Parse(this.treeView1.SelectedNode.Tag.ToString()));
if (Num != 1)
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":该数据源删除失败,请与系统管理员联系!", "警告", MessageBoxButtons.OK);
return;
}
//删除成功后,重新绑定左侧的树型控件
ReSetTreeView();
}
#endregion
#region 菜单事件--采集周期相关
/// <summary>
/// 编辑采集周期
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void EditPeriod_Click(object sender, EventArgs e)
{
Gather_DataSourceConfig DataSourceConfig = new Gather_DataSourceConfig();
DataSourceConfig = Common.GetDataSourceConfig(int.Parse(this.treeView1.SelectedNode.Tag.ToString()));
//将DataSourceConfig.PeriodId传至周期编辑窗体,以供编辑
PeriodManage periodManage = new PeriodManage();
periodManage.PeriodId = DataSourceConfig.PeriodId;
periodManage.DataSourceId = DataSourceConfig.DataSourceId;
periodManage.ShowDialog();
}
/// <summary>
/// 删除数据源的采集周期,这里只是将DataSourceConfig表中的Period字段置0,并不删除Period表中的数据,Period表中的数据在周期管理中,提供自动清除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeletePeriod_Click(object sender, EventArgs e)
{
Gather_DataSourceConfig DataSourceConfig = new Gather_DataSourceConfig();
DataSourceConfig = Common.GetDataSourceConfig(int.Parse(this.treeView1.SelectedNode.Tag.ToString()));
DataSourceConfig.PeriodId = 0;
int Num = Common.UpdateDataSourceConfig(DataSourceConfig);
if (Num != 1)
{
MessageBox.Show("\"" + this.treeView1.SelectedNode.Text + "\":该数据源的采集周期删除失败,请与系统管理员联系!", "警告", MessageBoxButtons.OK);
return;
}
}
/// <summary>
/// 为数据源新设置采集周期
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AddPeriod_Click(object sender, EventArgs e)
{
Gather_DataSourceConfig DataSourceConfig = new Gather_DataSourceConfig();
DataSourceConfig = Common.GetDataSourceConfig(int.Parse(this.treeView1.SelectedNode.Tag.ToString()));
//将DataSourceConfig.PeriodId传至周期编辑窗体,以供编辑
PeriodManage periodManage = new PeriodManage();
periodManage.DataSourceId = int.Parse(this.treeView1.SelectedNode.Tag.ToString());
periodManage.ShowDialog();
}
#endregion
#region 绑定采集状态列表GridView
/// <summary>
/// 监控采集状态
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{
DataBindGridView();
}
private void DataBindGridView()
{
DataTable dt = new DataTable("GatherState");
string[] ColumnName = {"信息编号","信息名称","数据源编号","数据源名称","下次采集时间","采集周期编号","采集状态"};
for (int i = 0; i < ColumnName.Length; i++)
{
dt.Columns.Add(ColumnName[i].ToString());
}
if (this.alMsgList != null)
{
foreach (object obj in alMsgList)
{
Entity_GatherThread GatherThread = new Entity_GatherThread();
GatherThread = (Entity_GatherThread)obj;
DataRow dr = dt.NewRow();
dr[0] = GatherThread.MgId;
dr[1] = GatherThread.MgName;
dr[2] = GatherThread.DataSourceId;
dr[3] = GatherThread.DataSourceName;
dr[4] = GatherThread.NextTime;
dr[5] = GatherThread.PeriodId;
dr[6] = GatherThread.StateName;
dt.Rows.Add(dr);
}
}
this.dataGridView1.DataSource = dt.DefaultView;
}
#endregion
#region 停止某类数据源的采集进程
/// <summary>
/// 停止某类数据源的采集进程:首先点击“停止监控”按钮,选择监控列表中需要停止采集的进程,点击“停止采集”按钮即可。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void StopGatherButton_Click(object sender, EventArgs e)
{
if (this.dataGridView1.CurrentRow != null)
{
int Index = this.dataGridView1.CurrentRow.Index;
this.alMsgList.RemoveAt(Index);
this.timer1.Enabled = true;
}
}
/// <summary>
/// 监控按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TimeControl_Click(object sender, EventArgs e)
{
if (this.timer1.Enabled)
{
this.timer1.Enabled = false;
this.TimeControl.Text = "开启监控";
}
else
{
this.timer1.Enabled = true;
this.TimeControl.Text = "停止监控";
}
}
#endregion
#region 刷新树控件
/// <summary>
/// 刷新树控件
/// </summary>
public void RefreshTreeView()
{
this.treeView1.Nodes.Clear();
BindNode(this.treeView1.Nodes, "0");
this.treeView1.ExpandAll();
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -