Example #1
0
        /// <summary>
        /// метод редактирует данные в задаче
        /// </summary>
        /// <param name="dataId">id задачи</param>
        /// <param name="newDatas">новые данные</param>
        /// <param name="number">номер атрибута для замены</param>
        public void EditTaskData(string dataId, string newDatas, EnumEditTask number)
        {
            //ищем узел по тегу <tasks> такой у нас должен быть 1 в документе
            XmlNodeList xmlNodeList = Document.GetElementsByTagName(tasksTag);

            //перебираем элементы
            foreach (XmlNode node in xmlNodeList)
            {
                //приводим найденный узел к элементу
                XmlElement child = node as XmlElement;

                //ищим в узлы по тэгу <task>
                XmlNodeList list = child.GetElementsByTagName(taskTag);

                //перебираем узлы
                foreach (XmlNode childnode in list)
                {
                    //приводим узел у элементу
                    XmlElement task = childnode as XmlElement;

                    //если у задачи соответствующий id
                    if (task.Attributes[0].Value.CompareTo(dataId) == 0)
                    {
                        task.ChildNodes[(int)number - 1].Attributes[0].Value = newDatas;
                        break;
                    }
                }
            }
            Document.Save(pathFileXml);
        }
Example #2
0
        /// <summary>
        /// удаление задач по id категории
        /// </summary>
        /// <param name="id">id категории</param>
        private void DeleteTaskByCategoryId(string id, EnumEditTask editTask)
        {
            //ищем узел по тегу <tasks> такой у нас должен быть 1 в документе
            XmlNodeList xmlNodeList = Document.GetElementsByTagName(tasksTag);

            //перебираем элементы
            foreach (XmlNode node in xmlNodeList)
            {
                //приводим найденный узел к элементу
                XmlElement child = node as XmlElement;

                //ищим в узлы по тэгу <task>
                XmlNodeList list = child.GetElementsByTagName(taskTag);

                if (list != null)
                {
                    List <XmlElement> listDelete = new List <XmlElement>();

                    //перебираем узлы
                    foreach (XmlNode childnode in list)
                    {
                        //приводим узел у элементу
                        XmlElement task = childnode as XmlElement;

                        if ((task.ChildNodes[(int)editTask - 1] as XmlElement).Attributes[0].Value.CompareTo(id) == 0)//если у категории задачи искомый id
                        {
                            //node.RemoveChild(task);
                            listDelete.Add(task);
                        }
                    }

                    if (listDelete.Count > 0)
                    {
                        foreach (XmlElement element in listDelete)
                        {
                            node.RemoveChild(element);
                        }
                    }
                }
            }
        }