Ejemplo n.º 1
0
 public BlackListRecordsInfo()
 {
     for (int i = -1; i < 9; i++)
     {
         ViolationInfo model = new ViolationInfo();
         model.Type = (SeatManage.EnumType.ViolationRecordsType)i;
         _ViolationRecords.Add(model.Type, model);
     }
 }
Ejemplo n.º 2
0
        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);
        }