StableVersion4.3/HL_FristAidPlatform_Base/Form_VideoEquipmentMain.cs

552 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Base
{
public partial class Form_VideoEquipmentMain : XtraForm
{
#region 变量
/// <summary>
/// 操作标志 1:新增 2:修改
/// </summary>
public int Flag = 1;
#endregion
public Form_VideoEquipmentMain()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_VideoEquipmentMain_Load(object sender, EventArgs e)
{
//详情控件初始化
PublicClass.EnabledControl(group_Detail, true, false);
PublicClass.EnabledControl(group_Detail2, true, false);
BindList();
}
private void txt_Key_TextChanged(object sender, EventArgs e)
{
BindList();
}
/// <summary>
/// 切换列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void xTab_VideoEquipment_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
{
BindList();
}
/// <summary>
/// 查询事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BindList();
}
/// <summary>
/// 新增事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//服务器端
if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoDeviceServer)
{
PublicClass.EnabledControl(group_Detail, false, true);
ckb_DeleteFlag.Checked = true;
}
//客户端
else if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoEquipment)
{
BindData();
PublicClass.EnabledControl(group_Detail2, false, true);
ckb_GroupDeleteFlag.Checked = true;
comboBoxEdit_EquipmentType.SelectedIndex = 0;
}
Flag = 1;
}
/// <summary>
/// 修改事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoDeviceServer)
{
BindServerDetail();
PublicClass.EnabledControl(group_Detail, false, false);
}
else if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoEquipment)
{
BindData();
BindEquipmentDetail();
PublicClass.EnabledControl(group_Detail2, false, false);
}
}
/// <summary>
/// 保存事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Save_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoDeviceServer)
{
SaveVideoDeviceServer();
}
else if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoEquipment)
{
SaveVideoEquipment();
}
}
/// <summary>
/// 保存服务器端信息
/// </summary>
private void SaveVideoDeviceServer()
{
try
{
#region 保存服务器端信息
if (string.IsNullOrEmpty(txt_UserName.Text.ToString().Trim()))
{
XtraMessageBox.Show("监控平台用户名不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_UserName.Focus();
return;
}
if (string.IsNullOrEmpty(txt_Password.Text.ToString().Trim()))
{
XtraMessageBox.Show("监控平台密码不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_Password.Focus();
return;
}
if (string.IsNullOrEmpty(txt_ServerName.Text.ToString().Trim()))
{
XtraMessageBox.Show("设备名称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_ServerName.Focus();
return;
}
if (PublicClass.ToInt32(comboBoxEdit_ServerType.SelectedIndex, 0) == 0)
{
XtraMessageBox.Show("请选择服务器类型!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
comboBoxEdit_ServerType.Focus();
return;
}
if (string.IsNullOrEmpty(txt_ServerIP.Text.ToString().Trim()))
{
XtraMessageBox.Show("云平台地址(即IP地址)不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_ServerIP.Focus();
return;
}
if (string.IsNullOrEmpty(txt_CommunicationPort.Text.ToString().Trim()))
{
XtraMessageBox.Show("通讯端口不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_CommunicationPort.Focus();
return;
}
List<T_Base_VideoDeviceServerDTO> list = new List<T_Base_VideoDeviceServerDTO>();
T_Base_VideoDeviceServerDTO model = new T_Base_VideoDeviceServerDTO();
string Url = string.Empty;
if (Flag == 1)
{
Url = "api/base/T_Base_VideoDeviceServer";
model.GUID = Guid.NewGuid().ToString();
}
else
{
Url = "api/base/T_Base_VideoDeviceServer/Update";
model.ID = Convert.ToInt32(txt_ServerName.Tag.ToString());
model.GUID = txt_ServerIP.Tag.ToString();
}
model.CreationDate = PublicClass.DateTimeNow();//修改时不更新
model.CreatorID = Information.User.ID;//修改时不更新
model.Creator = Information.User.FullName;//修改时不更新
model.UserName = txt_UserName.Text.ToString();
model.Password = txt_Password.Text.ToString();
model.ServerName = txt_ServerName.Text.ToString();
model.ServerType = PublicClass.ToInt32(comboBoxEdit_ServerType.SelectedIndex, 0);
model.ServerIP = txt_ServerIP.Text.ToString().Trim();
model.CommunicationPort = txt_CommunicationPort.Text.ToString().Trim();
model.QueryPort = txt_QueryPort.Text.ToString();
model.DeleteFlag = ckb_DeleteFlag.Checked == true ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_VideoDeviceServerDTO> httpClient = new HttpClientFactory<T_Base_VideoDeviceServerDTO>();
Client<T_Base_VideoDeviceServerDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_VideoDeviceServerDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("保存视频监控服务器端信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PublicClass.EnabledControl(this.group_Detail, true, false);
Flag = 0;
BindList();
//定位
PublicClass.LocationForGridView(grv_VideoDeviceServer, model.GUID, 1);
}
else
{
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "保存服务器端信息:\r\n" + ex);
}
}
/// <summary>
/// 保存客户端信息
/// </summary>
private void SaveVideoEquipment()
{
try
{
#region 保存客户端信息
if (PublicClass.ToString(lookUpEdit_RegistrationServerGuid.EditValue, "-1") == "-1")
{
XtraMessageBox.Show("请选择注册服务器!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
lookUpEdit_RegistrationServerGuid.Focus();
return;
}
if (string.IsNullOrEmpty(txt_EquipmentName.Text.ToString().Trim()))
{
XtraMessageBox.Show("设备名称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_EquipmentName.Focus();
return;
}
if (string.IsNullOrEmpty(comboBoxEdit_EquipmentType.Text.ToString().Trim()))
{
XtraMessageBox.Show("请选择设备类型!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
comboBoxEdit_ServerType.Focus();
return;
}
if (string.IsNullOrEmpty(txt_EquipmentCode.Text.ToString().Trim()))
{
XtraMessageBox.Show("设备ID不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_EquipmentCode.Focus();
return;
}
List<T_Base_VideoEquipmentDTO> list = new List<T_Base_VideoEquipmentDTO>();
T_Base_VideoEquipmentDTO model = new T_Base_VideoEquipmentDTO();
string Url = string.Empty;
if (Flag == 1)
{
Url = "api/base/T_Base_VideoEquipment";
model.GUID = Guid.NewGuid().ToString();
}
else
{
Url = "/api/base/T_Base_VideoEquipment/Update";
model.ID = Convert.ToInt32(txt_EquipmentName.Tag.ToString());
model.GUID = txt_EquipmentCode.Tag.ToString();
}
model.CreationDate = PublicClass.DateTimeNow();//修改时不更新
model.CreatorID = Information.User.ID;//修改时不更新
model.Creator = Information.User.FullName;//修改时不更新
model.RegistrationServerGuid = lookUpEdit_RegistrationServerGuid.EditValue.ToString();
model.StreamingMediaServerGuid = lookUpEdit_StreamingMediaServerGuid.EditValue.ToString();
model.AlarmServerGuid = lookUpEdit_AlarmServerGuid.EditValue.ToString();
model.DecodingServerGuid = lookUpEdit_DecodingServerGuid.EditValue.ToString();
model.EquipmentName = txt_EquipmentName.Text.ToString().Trim();
if (comboBoxEdit_EquipmentType.Text == "车载设备")
model.EquipmentType = 1;
else if (comboBoxEdit_EquipmentType.Text == "单兵设备")
model.EquipmentType = 2;
else if (comboBoxEdit_EquipmentType.Text == "取证设备")
model.EquipmentType = 3;
else if (comboBoxEdit_EquipmentType.Text == "5070设备")
model.EquipmentType = 4;
else if (comboBoxEdit_EquipmentType.Text == "其他设备")
model.EquipmentType = 5;
model.EquipmentCode = txt_EquipmentCode.Text.ToString().Trim();
model.ChannelsNumber = PublicClass.ToInt32(txt_ChannelsNumber.Text.ToString().Trim(), 0);
model.DeleteFlag = ckb_GroupDeleteFlag.Checked == true ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_VideoEquipmentDTO> httpClient = new HttpClientFactory<T_Base_VideoEquipmentDTO>();
Client<T_Base_VideoEquipmentDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_VideoEquipmentDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("保存客户端信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PublicClass.EnabledControl(group_Detail2, true, false);
Flag = 0;
BindList();
//定位
PublicClass.LocationForGridView(grv_VideoEquipment, model.GUID, 1);
}
else
{
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "保存客户端信息:\r\n" + ex);
}
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Close();
}
#region 方法
/// <summary>
/// 绑定列表
/// </summary>
private void BindList()
{
if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoDeviceServer)
{
//列表分页数据绑定--节点
BindServerList();
}
else if (xTab_VideoEquipment.SelectedTabPage == xTabP_VideoEquipment)
{
BindEquipmentList();
}
}
/// <summary>
/// 绑定服务器端列表
/// </summary>
private void BindServerList()
{
try
{
DataTable ResultDT = DBHelpClass.Get(string.Format("api/base/T_Base_VideoDeviceServer?keyWord={0}", txt_Key.Text.ToString().Trim()));
grid_VideoDeviceServer.DataSource = ResultDT;//显示分页结果
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定服务器端列表:\r\n" + ex);
}
}
/// <summary>
/// 绑定客户端列表
/// </summary>
private void BindEquipmentList()
{
try
{
DataTable ResultDT = DBHelpClass.Get(string.Format("api/base/T_Base_VideoEquipment?keyWord={0}", txt_Key.Text.ToString().Trim()));
grid_VideoEquipment.DataSource = ResultDT;//显示分页结果
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定客户端列表:\r\n" + ex);
}
}
/// <summary>
/// 查询绑定
/// </summary>
private void BindData()
{
BindServerByType(lookUpEdit_RegistrationServerGuid, 1);
BindServerByType(lookUpEdit_StreamingMediaServerGuid, 2);
BindServerByType(lookUpEdit_AlarmServerGuid, 3);
BindServerByType(lookUpEdit_DecodingServerGuid, 4);
}
/// <summary>
/// 绑定服务器类型
/// </summary>
private void BindServerByType(LookUpEdit lookUpEdit, int type)
{
try
{
DataTable ResultDT = DBHelpClass.Get(string.Format("/api/base/T_Base_VideoDeviceServer/GetListByType?type={0}", type));
PublicClass.SetLookUpList(lookUpEdit, ResultDT, "GUID", "ServerName", true);
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定服务器类型:\r\n" + ex);
}
}
/// <summary>
/// 绑定服务器端详情
/// </summary>
private void BindServerDetail()
{
try
{
if (grv_VideoDeviceServer.DataRowCount > 0)
{
int selectRow = grv_VideoDeviceServer.GetSelectedRows()[0];
string TimeAxisID = grv_VideoDeviceServer.GetRowCellValue(selectRow, "ID").ToString();
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/base/T_Base_VideoDeviceServer/{0}", TimeAxisID));
if (DetailDT != null && DetailDT.Rows.Count > 0)
{
Flag = 2;//修改标识
txt_ServerName.Tag = DetailDT.Rows[0]["ID"].ToString();
txt_ServerIP.Tag = DetailDT.Rows[0]["GUID"].ToString();
txt_UserName.Text = DetailDT.Rows[0]["UserName"].ToString();
txt_Password.Text = DetailDT.Rows[0]["Password"].ToString();
txt_ServerName.Text = DetailDT.Rows[0]["ServerName"].ToString();
comboBoxEdit_ServerType.SelectedIndex = PublicClass.ToInt32(DetailDT.Rows[0]["ServerType"], 0);
txt_ServerIP.Text = DetailDT.Rows[0]["ServerIP"].ToString();
txt_CommunicationPort.Text = DetailDT.Rows[0]["CommunicationPort"].ToString();
txt_QueryPort.Text = DetailDT.Rows[0]["QueryPort"].ToString();
ckb_DeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false;
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定服务器端详情:\r\n" + ex);
}
}
/// <summary>
/// 绑定客户端详情
/// </summary>
private void BindEquipmentDetail()
{
try
{
if (grv_VideoEquipment.DataRowCount > 0)
{
int selectRow = grv_VideoEquipment.GetSelectedRows()[0];
string TimeAxisGroupGuid = grv_VideoEquipment.GetRowCellValue(selectRow, "GUID").ToString();
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/base/T_Base_VideoEquipment/{0}", TimeAxisGroupGuid));
if (DetailDT != null && DetailDT.Rows.Count > 0)
{
Flag = 2;//修改标识
lookUpEdit_RegistrationServerGuid.EditValue = DetailDT.Rows[0]["RegistrationServerGuid"].ToString();
lookUpEdit_StreamingMediaServerGuid.EditValue = DetailDT.Rows[0]["StreamingMediaServerGuid"].ToString();
lookUpEdit_AlarmServerGuid.EditValue = DetailDT.Rows[0]["AlarmServerGuid"].ToString();
lookUpEdit_DecodingServerGuid.EditValue = DetailDT.Rows[0]["DecodingServerGuid"].ToString();
txt_EquipmentName.Text = DetailDT.Rows[0]["EquipmentName"].ToString();
txt_EquipmentCode.Text = DetailDT.Rows[0]["EquipmentCode"].ToString();
txt_ChannelsNumber.Text = DetailDT.Rows[0]["ChannelsNumber"].ToString();
comboBoxEdit_EquipmentType.SelectedIndex = PublicClass.ToInt32(DetailDT.Rows[0]["EquipmentType"], 0);
txt_EquipmentName.Tag = DetailDT.Rows[0]["ID"].ToString();
txt_EquipmentCode.Tag = DetailDT.Rows[0]["GUID"].ToString();
ckb_GroupDeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false;
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定客户端详情:\r\n" + ex);
}
}
#endregion
/// <summary>
/// 双击服务器列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void grid_VideoDeviceServer_MouseClick(object sender, MouseEventArgs e)
{
try
{
GridHitInfo hi = grv_VideoDeviceServer.CalcHitInfo(new Point(e.X, e.Y));
//单击数据行
if (hi.InRow)//单击的是列头 hi.InColumn
{
PublicClass.EnabledControl(group_Detail, true, false);
BindServerDetail();
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "双击服务器列表:\r\n" + ex);
}
}
/// <summary>
/// 双击客户端列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void grid_VideoEquipment_MouseClick(object sender, MouseEventArgs e)
{
try
{
GridHitInfo hi = grv_VideoEquipment.CalcHitInfo(new Point(e.X, e.Y));
//单击数据行
if (hi.InRow)//单击的是列头 hi.InColumn
{
PublicClass.EnabledControl(group_Detail2, true, false);
BindData();
BindEquipmentDetail();
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "双击客户端列表:\r\n" + ex);
}
}
private void xTab_VideoEquipment_Selected(object sender, DevExpress.XtraTab.TabPageEventArgs e)
{
BindList();
}
}
}