예제 #1
0
        public void Dateihinzufuegen(MetadataItem mdI, bool loeschungAktiv)
        {
            var repoDir      = _repoService.getRepo();
            var docId        = Guid.NewGuid();
            var jahr         = mdI._datum.Year;
            var dateityp     = Path.GetExtension(mdI._pfadAlt);
            var zielDir      = Path.Combine(repoDir, jahr.ToString());
            var dateiName    = _dateiService.getDateiName(docId, dateityp);
            var mdIDateiname = _dateiService.getDateiNamenMetaFile(docId);


            var xmlSeri     = new XmlSerializer(typeof(MetadataItem));
            var streamWrite = new StreamWriter(Path.Combine(zielDir, mdIDateiname));

            xmlSeri.Serialize(streamWrite, mdI);
            streamWrite.Flush();
            streamWrite.Close();



            if (!Directory.Exists(zielDir))
            {
                System.IO.Directory.CreateDirectory(zielDir);
                File.Copy(mdI._pfadAlt, Path.Combine(zielDir, dateiName));
            }
            else
            {
                File.Copy(mdI._pfadAlt, Path.Combine(zielDir, dateiName));
            }



            if (loeschungAktiv)
            {
                var task = Task.Factory.StartNew(() =>
                {
                    Task.Delay(500);
                    File.Delete(mdI._pfadAlt);
                });
            }
        }
예제 #2
0
 public SuchService()
 {
     _repoService  = new RepoService();
     _dateiService = new DateiService();
     _zielPfad     = _repoService.getRepo();
 }