public BlackListRecordsInfo() { for (int i = -1; i < 9; i++) { ViolationInfo model = new ViolationInfo(); model.Type = (SeatManage.EnumType.ViolationRecordsType)i; _ViolationRecords.Add(model.Type, model); } }
public static SMS_SeatUsage ToModel(string xml) { SMS_SeatUsage model = new SMS_SeatUsage(); if (string.IsNullOrEmpty(xml)) { return(null); } XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.LoadXml(xml); //查找根节点 XmlNode node = xmlDoc.SelectSingleNode("//Root"); model.SchoolNum = node.Attributes["SchoolNum"].Value; model.UploadDate = DateTime.Parse(node.Attributes["UploadDate"].Value); model.UserCount = int.Parse(node.Attributes["UserCount"].Value); model.SeatCount = int.Parse(node.Attributes["SeatCount"].Value); model.RushCardCount = int.Parse(node.Attributes["RushCardCount"].Value); node = xmlDoc.SelectSingleNode("//Root/SeatUsage"); model.SeatUeage.EnterOutVisitors = int.Parse(node.Attributes["EnterOutVisitors"].Value); //选座情况 node = xmlDoc.SelectSingleNode("//Root/SeatUsage/SelectSeat"); model.SeatUeage.SelectSeatCount = int.Parse(node.Attributes["SelectSeatCount"].Value); model.SeatUeage.SelectSeatCountByAdmin = int.Parse(node.Attributes["SelectSeatCountByAdmin"].Value); model.SeatUeage.ReselectSeatCount = int.Parse(node.Attributes["ReselectSeatCount"].Value); model.SeatUeage.WaitSeatCount = int.Parse(node.Attributes["WaitSeatCount"].Value); //预约情况 node = xmlDoc.SelectSingleNode("//Root/SeatUsage/BookingSeat"); model.SeatUeage.BookingCount = int.Parse(node.Attributes["BookingCount"].Value); model.SeatUeage.BookingCancelCount = int.Parse(node.Attributes["BookingCancelCount"].Value); model.SeatUeage.BookingConfirmCount = int.Parse(node.Attributes["BookingConfirmCount"].Value); model.SeatUeage.BookingOverTimeCount = int.Parse(node.Attributes["BookingOverTimeCount"].Value); //暂离情况 node = xmlDoc.SelectSingleNode("//Root/SeatUsage/ShortLeave"); model.SeatUeage.ShortLeaveCount = int.Parse(node.Attributes["ShortLeaveCount"].Value); model.SeatUeage.ShortLeaveCountByAdmin = int.Parse(node.Attributes["ShortLeaveCountByAdmin"].Value); model.SeatUeage.ShortLeaveCountByReader = int.Parse(node.Attributes["ShortLeaveCountByReader"].Value); model.SeatUeage.ShortLeaveCountByService = int.Parse(node.Attributes["ShortLeaveCountByService"].Value); model.SeatUeage.ShortLeaveCountByUser = int.Parse(node.Attributes["ShortLeaveCountByUser"].Value); //释放座位情况 node = xmlDoc.SelectSingleNode("//Root/SeatUsage/Leave"); model.SeatUeage.LeaveCountByAdmin = int.Parse(node.Attributes["LeaveCountByAdmin"].Value); model.SeatUeage.LeaveCountByService = int.Parse(node.Attributes["LeaveCountByService"].Value); model.SeatUeage.LeaveCountByUser = int.Parse(node.Attributes["LeaveCountByUser"].Value); //续时 node = xmlDoc.SelectSingleNode("//Root/SeatUsage/ContniueTime"); model.SeatUeage.ContniueTimeCount = int.Parse(node.Attributes["ContniueTimeCount"].Value); model.SeatUeage.ContniueTimeCountByAdmin = int.Parse(node.Attributes["ContniueTimeCountByAdmin"].Value); model.SeatUeage.ContniueTimeCountByService = int.Parse(node.Attributes["ContniueTimeCountByService"].Value); model.SeatUeage.ContniueTimeCountByUser = int.Parse(node.Attributes["ContniueTimeCountByUser"].Value); //设备使用情况 XmlNodeList nodeList = xmlDoc.SelectNodes("//Root/DeviceUsage/Device"); foreach (XmlNode nodeItem in nodeList) { DeviceUsageInfo device = new DeviceUsageInfo(); device.DeviceNum = nodeItem.Attributes["DeviceNum"].Value; device.DeviceName = nodeItem.Attributes["DeviceName"].Value; device.ContniueTimeCount = int.Parse(nodeItem.Attributes["ContniueTimeCount"].Value); device.LeaveCount = int.Parse(nodeItem.Attributes["LeaveCount"].Value); device.RushCardCount = int.Parse(nodeItem.Attributes["RushCardCount"].Value); device.SelectSeatCount = int.Parse(nodeItem.Attributes["SelectSeatCount"].Value); device.ShortLeaveCount = int.Parse(nodeItem.Attributes["ShortLeaveCount"].Value); device.BookingConfirmCount = int.Parse(nodeItem.Attributes["BookingConfirmCount"].Value); device.ComeBackCount = int.Parse(nodeItem.Attributes["ComeBackCount"].Value); model.DeviceUsage.Add(device.DeviceNum, device); } //黑名单 node = xmlDoc.SelectSingleNode("//Root/Blacklist"); model.BlackListRecords.BlackListCount = int.Parse(node.Attributes["BlackListCount"].Value); model.BlackListRecords.ViolationRecordsCount = int.Parse(node.Attributes["ViolationRecordsCount"].Value); //违规 nodeList = xmlDoc.SelectNodes("//Root/Blacklist/Violation"); foreach (XmlNode nodeItem in nodeList) { ViolationInfo violation = new ViolationInfo(); model.BlackListRecords.ViolationRecords[(SeatManage.EnumType.ViolationRecordsType)System.Enum.Parse(typeof(SeatManage.EnumType.ViolationRecordsType), nodeItem.Attributes["Type"].Value)].Count = int.Parse(nodeItem.Attributes["Count"].Value); } } catch { throw; } return(model); }