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.

330 lines
11 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DBFactory;
using Microsoft.VisualBasic;
namespace wcfControlMonitorClient
{
/// <summary>
/// Creator:Richard.liu
/// 路径状态维护
/// </summary>
public partial class FrmRouteEdit : Form
{
//DBOperator dbo = CStaticClass.dbo;
//DBOperator dboMan = new DBOperator("ManConnString", "ManDBFactory");
DBOperator dbo = CommonClassLib.AppSettings.dbo;
DBOperator dboMan = CommonClassLib.AppSettings.dboM;
private static FrmRouteEdit _formInstance;
string CommSQL = "SELECT F_RouteID AS 路径索引, F_RouteKind AS 路径类型," +
" F_RouteName AS 路径名称,F_StartDevice as 起点设备,F_EndDevice as 终点设备,"+
"F_OutsideAltDevice as 巷道外可变向设备索引,F_InsideAltDevice as 巷道内可变向设备索引,f_status as 路径状态 FROM T_Base_Route ";
public static FrmRouteEdit FormInstance
{
get
{
if (_formInstance==null)
{
_formInstance = new FrmRouteEdit();
}
return FrmRouteEdit._formInstance;
}
set { FrmRouteEdit._formInstance = value; }
}
public FrmRouteEdit()
{
InitializeComponent();
_formInstance = this;
dbo.Open();
DataSet ds1;
ds1 = dbo.ExceSQL("select * from t_base_device order by F_DeviceIndex");
if (ds1.Tables[0].DefaultView.Count > 0)
{
//cbstartposition
cbstartposition.ValueMember = "F_DeviceIndex";
cbstartposition.DisplayMember = "F_DeviceName";
cbstartposition.DataSource = ds1.Tables[0].DefaultView;
}
DataSet ds2;
ds2 = dbo.ExceSQL("select * from t_base_device order by f_deviceindex");
if (ds2.Tables[0].DefaultView.Count > 0)
{
//cbendposition
cbendposition.ValueMember = "F_DeviceIndex";
cbendposition.DisplayMember = "F_DeviceName";
cbendposition.DataSource = ds2.Tables[0].DefaultView;
}
DataSet ds3;
ds3 = dbo.ExceSQL("select * from t_base_device order by f_deviceindex");
if (ds3.Tables[0].DefaultView.Count > 0)
{
//comboBox1
comboBox1.ValueMember = "F_DeviceIndex";
comboBox1.DisplayMember = "F_DeviceName";
comboBox1.DataSource = ds3.Tables[0].DefaultView;
}
}
private void btQuery_Click(object sender, EventArgs e)
{
if (tbContent.Text.Trim() == "") return;
try
{
string df;
string sql = "";
switch (this.cbField.Text)
{
case "路径索引":
df = "F_RouteID";
break;
case "路径类型":
df = "F_RouteKind";
break;
case "路径名称":
df = "F_RouteName";
break;
default:
return;
}
sql =CommSQL+ " WHERE " + df + " = '" + this.tbContent.Text + "'";
DataSet ds = dbo.ExceSQL(sql);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
throw ex;
}
}
private void btSave_Click(object sender, EventArgs e)
{
int a = 0;
if (MessageBox.Show("您确认要保存路径信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
{
return;
}
if (int.TryParse(this.tbRouteKindIndex.Text,out a) == false)
{
MessageBox.Show("路径索引只能是数字类型!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.tbRouteKindIndex.Focus();
return;
}
if (this.cbRouteKind.Text.Trim().Length ==0)
{
MessageBox.Show("路径类型不能输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.cbRouteKind.Focus();
return;
}
string sql;
DataSet ds;
Model.MRoute mr=new Model.MRoute();
mr.RouteID=Convert.ToInt32(this.tbRouteKindIndex.Text);
mr.Status=Convert.ToInt32(tbStatus.Text);
CStaticClass.WcfControl.BeginSetRouteState(mr, new AsyncCallback(SetRouteStateCallBack), null);
sql = CommSQL + " WHERE F_RouteID =" + Convert.ToInt32(this.tbRouteKindIndex.Text);
ds = dbo.ExceSQL(sql);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
private void btBack_Click(object sender, EventArgs e)
{
this.Close();
}
private void btSelectOK_Click(object sender, EventArgs e)
{
}
private void tsmEdit_Click(object sender, EventArgs e)
{
if (dataGridView1.RowCount <= 0)
{
return;
}
this.tabControl1.SelectTab("tabPage1");
this.tbRouteKindIndex.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "";
if (this.dataGridView1.CurrentRow.Cells[1].Value.ToString() == "1")
{
this.cbRouteKind.SelectedIndex = 0;
}
else if (this.dataGridView1.CurrentRow.Cells[1].Value.ToString() == "2")
{
this.cbRouteKind.SelectedIndex = 1;
}
else
{
this.cbRouteKind.SelectedIndex = 2;
}
this.tbRouteName.Text = this.dataGridView1.CurrentRow.Cells[2].Value.ToString() + "";
this.cbstartposition.SelectedValue = this.dataGridView1.CurrentRow.Cells[3].Value.ToString() + "";
this.cbendposition.SelectedValue = this.dataGridView1.CurrentRow.Cells[4].Value.ToString() + "";
//20100208
this.tbOutsideAltDevice.Text = this.dataGridView1.CurrentRow.Cells[5].Value.ToString() + "";
this.tbInsideAltDevice.Text = this.dataGridView1.CurrentRow.Cells[6].Value.ToString() + "";
this.tbStatus.Text = this.dataGridView1.CurrentRow.Cells[7].Value.ToString() + "";
}
private void tsmDel_Click(object sender, EventArgs e)
{
if (dataGridView1.RowCount <= 0)
{
return;
}
if (MessageBox.Show("您确认要删除选中行的“路径索引:" + this.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "”信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
{
return;
}
dbo.ExceSQL("delete from T_Base_Route where F_RouteID =" + Convert.ToInt32(this.dataGridView1.CurrentRow.Cells[0].Value));
button2_Click(sender, e);
}
private void button2_Click(object sender, EventArgs e)
{
string sql = CommSQL + "";
DataSet ds = dbo.ExceSQL(sql);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
private void FrmRouteEdit_Load(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
int status = 0;
string cap = string.Empty;
if (this.radioButton1.Checked == true)
{
status = 0;
cap = radioButton1.Text;
}
else
{
status = 1;
cap = radioButton2.Text;
}
//20100208设置设备所属路径是否可用
if (MessageBox.Show("您确认要设置设备"+this.comboBox1.SelectedValue.ToString()+cap +"吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
{
return;
}
try
{
Model.MRoute mr=new Model.MRoute();
string errtext = string.Empty;
DataView dv = dbo.ExceSQL("select distinct F_RouteID from T_Base_Route_Device where F_DeviceIndex=" + this.comboBox1.SelectedValue).Tables[0].DefaultView;
for (int i = 0; i < dv.Count; i++)
{
mr.RouteID=Convert.ToInt32(dv[i]["F_RouteID"]);
mr.Status=status;
CStaticClass.WcfControl.BeginSetRouteState(mr, new AsyncCallback( SetRouteStateCallBack),null );//20120513
}
}
catch (Exception ex)
{
throw ex;
}
}
private void cbField_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
string df;
string sql = "";
switch (this.cbField.Text)
{
case "路径索引":
df = "F_RouteID";
break;
case "路径类型":
df = "F_RouteKind";
break;
case "路径名称":
df = "F_RouteName";
break;
default:
return;
}
sql = " select distinct " + df + " from T_Base_Route";
DataView dv = dbo.ExceSQL(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
tbContent.DataSource = null;
tbContent.DisplayMember = df;
tbContent.ValueMember=df;
tbContent.DataSource = dv;
}
}
catch (Exception ex)
{
throw ex;
}
}
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if ((e.ColumnIndex >= 0) && (e.RowIndex >= 0) && (e.Button == MouseButtons.Right))//20110309
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
}
void SetRouteStateCallBack(IAsyncResult ar)
{
string errtext = string.Empty;
if (CStaticClass.WcfControl.EndSetRouteState(out errtext, ar) == false)
{
MessageBox.Show(errtext, "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void FrmRouteEdit_FormClosing(object sender, FormClosingEventArgs e)
{
_formInstance = null;
}
}
}