public int num = 0;
/// <summary>
/// 关闭背光
/// </summary>
public void CloseOtherBackLight()
{
string path = GFun.GetDataDir() + "CloseOtherBackLight.xml";
bool isok = true;
if (File.Exists(path))
isok = true;
else
isok = false;
if (num == 0)
{
isok = false;
}
if (isok == false)
{
FHost.CloseBackLight(0xFF, false);
XmlDocument CloseBackLight = new XmlDocument();
XmlNode node = CloseBackLight.CreateElement("CloseOtherBackLight");
CloseBackLight.AppendChild(node);
List<int> other = new List<int>();
string cmdStr = "Select EtnCode from Patient";
using (SqlCeCommand cmd = new SqlCeCommand(cmdStr, DbOprt.Conn))
{
using (SqlCeDataReader dr = cmd.ExecuteReader())
{
string txt = string.Empty;
while (dr.Read())
{
string BedNo = Convert.ToString(dr["EtnCode"]);
try
{
other.Add(Convert.ToInt16(BedNo));
}
catch (System.Exception ex)
{
Excp.WriteExcp(ex);
}
}
}
}
for (int i = 0; i < other.Count; i++)
{
XmlNode bedno = CloseBackLight.CreateNode(XmlNodeType.Element, "BedNo", null);
bedno.InnerText = other[i].ToString();
node.AppendChild(bedno);
}
CloseBackLight.Save(path);
foreach (int item in other)
{
FHost.OpenBackLight((short)item);
}
}
else
{
XmlDocument BedNo = new XmlDocument();
BedNo.Load(path);
XmlNode root = BedNo.DocumentElement;
List<int> XMLBedNo = new List<int>();
foreach (XmlNode xmlNode in root.ChildNodes)
{
XMLBedNo.Add(Convert.ToInt16(xmlNode.InnerText));
}
List<int> SQLBedNo = new List<int>();
string cmdStr = "Select EtnCode from Patient";
using (SqlCeCommand cmd = new SqlCeCommand(cmdStr, DbOprt.Conn))
{
using (SqlCeDataReader dr = cmd.ExecuteReader())
{
string txt = string.Empty;
while (dr.Read())
{
string BedID = Convert.ToString(dr["EtnCode"]);
try
{
SQLBedNo.Add(Convert.ToInt16(BedID));
}
catch (System.Exception ex)
{
Excp.WriteExcp(ex);
}
}
}
}
List<int> Open = new List<int>();
List<int> Close = new List<int>();
for (int i = 0; i < XMLBedNo.Count; i++)
{
if (!SQLBedNo.Contains(XMLBedNo[i]))
{
Close.Add(XMLBedNo[i]);
}
}
for (int i = 0; i < SQLBedNo.Count; i++)
{
if (!XMLBedNo.Contains(SQLBedNo[i]))
{
Open.Add(SQLBedNo[i]);
}
}
foreach (var item in Open)
{
FHost.OpenBackLight((short)item);
}
foreach (var item in Close)
{
FHost.CloseBackLight((short)item, false);
}
File.Delete(path);
XmlDocument CloseBackLight = new XmlDocument();
XmlNode node = CloseBackLight.CreateElement("CloseOtherBackLight");
CloseBackLight.AppendChild(node);
for (int i = 0; i < SQLBedNo.Count; i++)
{
XmlNode bedno = CloseBackLight.CreateNode(XmlNodeType.Element, "BedNo", null);
bedno.InnerText = SQLBedNo[i].ToString();
node.AppendChild(bedno);
}
CloseBackLight.Save(path);
}
num++;
}