コード例 #1
0
ファイル: EmergencyPhoneBLL.cs プロジェクト: zpzpp/School.CSM
 // <?xml version = "1.0" encoding="utf-8" ?>
 //<Root>
 //  <Group Name = "公用电话" >
 //    <TelePhone Name="火警电话" >119</TelePhone>
 //    <TelePhone Name="报警电话" >110</TelePhone>
 //  </Group>
 //  <Group Name = "校内电话" >
 //    <TelePhone Name="中控室" >89534606</TelePhone>
 //    <TelePhone Name="中控室" >89534606</TelePhone>
 //  </Group>
 //</Root>
 #endregion
 /// <summary>
 /// 将xml文件解析为对象
 /// </summary>
 /// <param name="xml"></param>
 /// <returns></returns>
 public List <EmergencyPhoneCustom> TranXMLToObj(string xml)
 {
     try
     {
         List <EmergencyPhoneCustom> list   = new List <EmergencyPhoneCustom>();
         EmergencyPhoneCustom        custom = null;
         XmlDocument myXmlDoc = new XmlDocument();
         myXmlDoc.LoadXml(xml);
         XmlNodeList childNodes = myXmlDoc.SelectNodes("Root/Group");
         for (int i = 0; i < childNodes.Count; i++)
         {
             custom           = new EmergencyPhoneCustom();
             custom.phoneList = new List <PhoneGroup>();
             PhoneGroup phone = null;
             custom.groupName = ((XmlElement)childNodes[i]).GetAttribute("Name");
             XmlNodeList nodes = childNodes[i].SelectNodes("TelePhone");
             for (int j = 0; j < nodes.Count; j++)
             {
                 phone           = new PhoneGroup();
                 phone.phoneName = ((XmlElement)nodes[j]).GetAttribute("Name");
                 phone.phoneNum  = nodes[j].InnerText;
                 custom.phoneList.Add(phone);
             }
             list.Add(custom);
         }
         return(list);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #2
0
        /// <summary>
        /// Загрузить телефонный справочник из файла
        /// </summary>
        public bool Load(string fileName, out string errMsg)
        {
            try
            {
                // очистка справочника
                PhoneGroups.Clear();

                // загрузка справочника
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(fileName);

                XmlNodeList phoneGroupNodes = xmlDoc.DocumentElement.SelectNodes("PhoneGroup");

                foreach (XmlElement phoneGroupElem in phoneGroupNodes)
                {
                    PhoneGroup phoneGroup = new PhoneGroup(phoneGroupElem.GetAttribute("name"));
                    if (!PhoneGroups.ContainsKey(phoneGroup.Name))
                    {
                        PhoneGroups.Add(phoneGroup.Name, phoneGroup);
                    }

                    XmlNodeList      phoneNumberNodes = phoneGroupElem.SelectNodes("PhoneNumber");
                    HashSet <string> phoneNumberSet   = new HashSet <string>(); // контроль уникальности номеров в группе

                    foreach (XmlElement phoneNumberElem in phoneNumberNodes)
                    {
                        PhoneNumber phoneNumber = new PhoneNumber(phoneNumberElem.GetAttribute("number"),
                                                                  phoneNumberElem.GetAttribute("name"));
                        if (!phoneNumberSet.Contains(phoneNumber.Number))
                        {
                            phoneGroup.PhoneNumbers.Add(phoneNumber);
                            phoneNumberSet.Add(phoneNumber.Number);
                        }
                    }

                    phoneGroup.PhoneNumbers.Sort(PhoneNumber.ByNameComparer);
                }

                errMsg = "";
                return(true);
            }
            catch (Exception ex)
            {
                errMsg = CommPhrases.LoadKpDllSettingsError + ":" + Environment.NewLine + ex.Message;
                return(false);
            }
        }
コード例 #3
0
 /// <summary>
 /// Определить, равна ли группа телефонных номеров заданной группе
 /// </summary>
 public bool Equals(PhoneGroup other)
 {
     return(other != null && string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase));
 }
コード例 #4
0
ファイル: EmergencyPhoneBLL.cs プロジェクト: zpzpp/School.CSM
 /// <summary>
 /// 新增电话配置
 /// </summary>
 /// <param name="regionId"></param>
 /// <param name="groupName"></param>
 /// <param name="telePhoneName"></param>
 /// <param name="telePhoneNum"></param>
 /// <returns></returns>
 public EventRet AddTelePhoneByGroupName(int regionId, string groupName, string telePhoneName, string telePhoneNum)
 {
     try
     {
         int      configId = -1;
         EventRet ret      = new EventRet();
         List <EmergencyPhoneCustom> list = GetEmergencyConfig(regionId, out configId);
         if (list != null && list.Count > 0)
         {
             var entity = list.Where(n => n.groupName == groupName).FirstOrDefault();
             if (entity != null)
             {
                 if (entity.phoneList != null && entity.phoneList.Count > 0)
                 {
                     #region  新增加判断
                     var phoneEntity = entity.phoneList.Where(n => n.phoneName == telePhoneName).FirstOrDefault();
                     if (phoneEntity == null)
                     {
                         PhoneGroup group = new PhoneGroup();
                         group.phoneName = telePhoneName;
                         group.phoneNum  = telePhoneNum;
                         list.Where(n => n.groupName == groupName).FirstOrDefault().phoneList.Add(group);
                         string xml = TranObjToXml(list);
                         int    res = UpdateEmergencyConfig(configId, regionId, xml);
                         if (res > 0)
                         {
                             ret.message = "新增电话名称成功";
                             ret.state   = 0;
                         }
                         else
                         {
                             ret.message = "新增电话名称失败";
                             ret.state   = 1;
                         }
                     }
                     else
                     {
                         ret.message = "电话名称重复";
                         ret.state   = 1;
                     }
                     #endregion
                 }
                 else
                 {
                     List <PhoneGroup> phoneList = new List <PhoneGroup>();
                     PhoneGroup        group     = new PhoneGroup();
                     group.phoneName = telePhoneName;
                     group.phoneNum  = telePhoneNum;
                     phoneList.Add(group);
                     list.Where(n => n.groupName == groupName).FirstOrDefault().phoneList = phoneList;
                     string xml = TranObjToXml(list);
                     int    res = UpdateEmergencyConfig(configId, regionId, xml);
                     if (res > 0)
                     {
                         ret.message = "新增电话成功";
                         ret.state   = 0;
                     }
                     else
                     {
                         ret.message = "新增电话失败";
                         ret.state   = 1;
                     }
                 }
             }
             else
             {
                 ret.message = "未找到该园区应急电话组为" + groupName + "的配置";
                 ret.state   = 1;
             }
         }
         else
         {
             ret.message = "未找到该园区应急电话配置";
             ret.state   = 1;
         }
         return(ret);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }