添加项目文件。
This commit is contained in:
221
Epost.DAL/LabelDAL.cs
Normal file
221
Epost.DAL/LabelDAL.cs
Normal file
@ -0,0 +1,221 @@
|
||||
using Epost.Common;
|
||||
using Epost.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Epost.DAL
|
||||
{
|
||||
public class LabelDAL
|
||||
{
|
||||
string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["LabelXML"]);
|
||||
string nodename = "AddressStorage";
|
||||
#region 新增标签
|
||||
public bool CreateLabel(LabelModel model)
|
||||
{
|
||||
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XAttribute> elements = from ele in xe.Elements(nodename).Attributes().OrderByDescending(e => (string)e.Value)
|
||||
select ele;
|
||||
int maxNum = 0;
|
||||
if (elements.Any())
|
||||
{
|
||||
maxNum = Convert.ToInt32(elements.First().Value == null ? 0 : Convert.ToInt32(elements.First().Value));
|
||||
}
|
||||
XElement controlXE = new XElement(nodename, new XAttribute("name", maxNum + 1),
|
||||
new XElement("ControlIP", model.ControlIP),
|
||||
new XElement("LabelType", model.LabelType),
|
||||
new XElement("LabelAddress", model.LabelAddress));
|
||||
xe.Add(controlXE);
|
||||
xe.Save(path);
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 修改标签信息
|
||||
public bool UpdateLabel(LabelModel Model)
|
||||
{
|
||||
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Attribute("name").Value.Equals(Model.LabelID))
|
||||
select ele;
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
if (ele.FirstAttribute.Value == Model.LabelID)
|
||||
{
|
||||
ele.Element("ControlIP").SetValue(Model.ControlIP);
|
||||
ele.Element("LabelType").SetValue(Model.LabelType);
|
||||
ele.Element("LabelAddress").SetValue(Model.LabelAddress);
|
||||
xe.Save(path);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除标签
|
||||
public bool DeleteLabel(LabelModel Model)
|
||||
{
|
||||
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Attribute("name").Value.Equals(Model.LabelID))
|
||||
select ele;
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
if (ele.FirstAttribute.Value == Model.LabelID)
|
||||
{
|
||||
ele.Remove();
|
||||
xe.Save(path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool DeleteLabelByAddress(string ControlIP,string LabelAddress)
|
||||
{
|
||||
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Element("ControlIP").Value.Equals(ControlIP) && p.Element("LabelAddress").Value.Equals(LabelAddress))
|
||||
select ele;
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
if (ele.Element("ControlIP").Value.Equals(ControlIP) && ele.Element("LabelAddress").Value.Equals(LabelAddress))
|
||||
{
|
||||
ele.Remove();
|
||||
xe.Save(path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 标签列表
|
||||
public List<LabelModel> LabelList()
|
||||
{
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename)
|
||||
select ele;
|
||||
List<LabelModel> list = new List<LabelModel>();
|
||||
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
LabelModel model = new LabelModel();
|
||||
string labeltype = "";
|
||||
if (ele.Element("LabelType").Value == "2")
|
||||
{
|
||||
labeltype = "数字标签";
|
||||
}
|
||||
else {
|
||||
labeltype = "中文标签";
|
||||
|
||||
}
|
||||
|
||||
model.LabelAddress = ele.Element("LabelAddress").Value;
|
||||
model.LabelType = labeltype;
|
||||
model.ControlIP = ele.Element("ControlIP").Value;
|
||||
model.LabelID = ele.FirstAttribute.Value;
|
||||
list.Add(model);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<LabelModel> BindLabelList()
|
||||
{
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename)
|
||||
select ele;
|
||||
List<LabelModel> list = new List<LabelModel>();
|
||||
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
LabelModel model = new LabelModel();
|
||||
model.LabelAddress = ele.Element("LabelAddress").Value;
|
||||
model.LabelType = ele.Element("LabelType").Value;
|
||||
model.ControlIP = ele.Element("ControlIP").Value;
|
||||
model.LabelID = ele.FirstAttribute.Value;
|
||||
list.Add(model);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<LabelModel> LabelListByIP(string ControlIP)
|
||||
{
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Element("ControlIP").Value.Equals(ControlIP))
|
||||
select ele;
|
||||
List<LabelModel> list = new List<LabelModel>();
|
||||
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
LabelModel model = new LabelModel();
|
||||
model.LabelAddress = ele.Element("LabelAddress").Value;
|
||||
model.LabelType = ele.Element("LabelType").Value;
|
||||
model.ControlIP = ele.Element("ControlIP").Value;
|
||||
model.LabelID = ele.FirstAttribute.Value;
|
||||
list.Add(model);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据标签LabelID查询相关信息
|
||||
public LabelModel GetLabelByLabelID(string LabelID)
|
||||
{
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Attribute("name").Value.Equals(LabelID))
|
||||
select ele;
|
||||
LabelModel model = new LabelModel();
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
if (ele.FirstAttribute.Value == LabelID)
|
||||
{
|
||||
model.LabelAddress = ele.Element("LabelAddress").Value;
|
||||
model.LabelType = ele.Element("LabelType").Value;
|
||||
model.ControlIP = ele.Element("ControlIP").Value;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return model;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据标签LabelID查询相关信息
|
||||
public LabelModel updateLabel(string ControlIP,string LabelAddress)
|
||||
{
|
||||
|
||||
XElement xe = XElement.Load(path);
|
||||
IEnumerable<XElement> elements = from ele in xe.Elements(nodename).Where(p => p.Element("ControlIP").Value.Equals(ControlIP) && p.Element("LabelAddress").Equals(LabelAddress))
|
||||
select ele;
|
||||
LabelModel model = new LabelModel();
|
||||
foreach (var ele in elements)
|
||||
{
|
||||
if (ele.Element("ControlIP").Value.Equals(ControlIP) && ele.Element("LabelAddress").Value.Equals(LabelAddress))
|
||||
{
|
||||
|
||||
model.LabelAddress = ele.Element("LabelAddress").Value;
|
||||
model.LabelType = ele.Element("LabelType").Value;
|
||||
model.ControlIP = ele.Element("ControlIP").Value;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return model;
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user