コード例 #1
0
        public override void Realizar(FileSystem fileSystem)
        {
            if (fileSystem.Info is FileInfo)
            {
                string rutaFinal = RutaDestino;

                if (rutaFinal[rutaFinal.Length - 1] == '\\')
                {
                    rutaFinal = rutaFinal.Substring(rutaFinal.Length - 2);
                }

                rutaFinal = string.Format(@"{0}\{1}.zip", rutaFinal, fileSystem.Info.Name.Replace(fileSystem.Info.Extension, ""));

                IMonitorArchivo monitor = MonitorArchivoFactory.ObtenerArchivo();
                monitor.PrepararDirectorio(rutaFinal);

                using (FileStream zipToOpen = new FileStream(rutaFinal, FileMode.OpenOrCreate))
                {
                    using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                    {
                        archive.CreateEntryFromFile(fileSystem.Info.FullName, fileSystem.Info.Name);
                    }
                }
                new Eliminar().Realizar(fileSystem);
            }
            else
            {
                throw new Exception("¡No se puede mover un directorio!");
            }
        }
コード例 #2
0
        public string ObtenerRuta(int numeroArchivo)
        {
            string retorno     = FileNameFormat;
            string fechaActual = string.Empty;

            if (!string.IsNullOrEmpty(DateTimeFormat) && !string.IsNullOrEmpty(DateTimeFormat.Trim()))
            {
                fechaActual = DateTime.Now.ToString(DateTimeFormat);
            }

            if (numeroArchivo > 1)
            {
                if (retorno.Contains("[FileNumber]"))
                {
                    retorno = retorno.Replace("[FileNumber]", numeroArchivo.ToString());
                }
                else
                {
                    if (retorno.LastIndexOf(".") != -1)
                    {
                        retorno = retorno.Substring(0, retorno.LastIndexOf(".")) + numeroArchivo + retorno.Substring(retorno.LastIndexOf("."));
                    }
                    else
                    {
                        retorno += numeroArchivo;
                    }
                }
            }
            else
            {
                retorno = retorno.Replace("[FileNumber]", string.Empty);
            }

            if (retorno.Contains("[DateTime]"))
            {
                retorno = retorno.Replace("[DateTime]", fechaActual);
            }

            IMonitorArchivo monitor = MonitorArchivoFactory.ObtenerArchivo();

            if (!Path.EndsWith(monitor.SEPARADOR_CARPETAS))
            {
                Path += monitor.SEPARADOR_CARPETAS;
            }

            monitor.PrepararDirectorio(Path);
            retorno = monitor.ObtenerRutaAbsoluta(Path + retorno);

            return(retorno);
        }
コード例 #3
0
 public override void Realizar(FileSystem fileSystem)
 {
     if (fileSystem.Info is FileInfo)
     {
         IMonitorArchivo monitor = MonitorArchivoFactory.ObtenerArchivo();
         monitor.PrepararDirectorio(RutaDestino);
         if (RutaDestino[RutaDestino.Length - 1] != '\\')
         {
             RutaDestino += "\\";
         }
         (fileSystem.Info as FileInfo).MoveTo(RutaDestino + fileSystem.Info.Name);
     }
     else
     {
         throw new Exception("¡No se puede mover un directorio!");
     }
 }