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!"); } }
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); }
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!"); } }