Example #1
0
        public void WriteFileInfo(string path, InfoFile infoFile)
        {
            if (infoFile == null)
            {
                return;
            }

            string fullpath = Path.Combine(path, "infoFiles.xml");

            mutexWriteObj.WaitOne();
            XDocument xdoc;
            XElement  root = new XElement("InfoFiles");

            // создаем элемент
            XElement infoFileElem = new XElement("InfoFile");
            //XElement idElem = new XElement("id", infoFile.id);
            XElement nameElem   = new XElement("Name", infoFile.Name);
            XElement lengthElem = new XElement("Length", infoFile.Length.ToString());

            //infoFileElem.Add(idElem);
            infoFileElem.Add(nameElem);
            infoFileElem.Add(lengthElem);

            FileInfo fileInf = new FileInfo(fullpath);

            if (!fileInf.Exists)
            {
                xdoc = new XDocument();
                root.Add(infoFileElem);
                xdoc.Add(root);
            }
            else
            {
                xdoc = XDocument.Load(fullpath);
                xdoc.Root.Add(infoFileElem);
            }
            infoFile.GetInfoAboutFile();
            try
            {
                xdoc.Save(fullpath);
            }
            catch (Exception)
            {
                Console.WriteLine($"\t* * * * * Нет доступа к папке по пути {path} * * * * *");
            }

            mutexWriteObj.ReleaseMutex();
        }