public virtual void DeleteExportProfile(ExportProfile profile, bool force = false) { if (profile == null) { throw new ArgumentNullException("profile"); } if (!force && profile.IsSystemProfile) { throw new SmartException(_localizationService.GetResource("Admin.DataExchange.Export.CannotDeleteSystemProfile")); } int scheduleTaskId = profile.SchedulingTaskId; var folder = profile.GetExportFolder(); var deployments = profile.Deployments.Where(x => !x.IsTransientRecord()).ToList(); if (deployments.Any()) { _exportDeploymentRepository.DeleteRange(deployments); _exportDeploymentRepository.Context.SaveChanges(); } _exportProfileRepository.Delete(profile); var scheduleTask = _scheduleTaskService.GetTaskById(scheduleTaskId); _scheduleTaskService.DeleteTask(scheduleTask); if (System.IO.Directory.Exists(folder)) { FileSystemHelper.ClearDirectory(folder, true); } }
public virtual void DeleteExportProfile(ExportProfile profile, bool force = false) { if (profile == null) { throw new ArgumentNullException("profile"); } if (!force && profile.IsSystemProfile) { throw new SmartException(_localizationService.GetResource("Admin.DataExchange.Export.CannotDeleteSystemProfile")); } int scheduleTaskId = profile.SchedulingTaskId; var folder = profile.GetExportFolder(); _exportProfileRepository.Delete(profile); var scheduleTask = _scheduleTaskService.GetTaskById(scheduleTaskId); _scheduleTaskService.DeleteTask(scheduleTask); _eventPublisher.EntityDeleted(profile); if (System.IO.Directory.Exists(folder)) { FileSystemHelper.ClearDirectory(folder, true); } }
/// <summary> /// Gets the ZIP path for an export profile. /// </summary> /// <param name="profile">Export profile.</param> /// <returns>ZIP file path.</returns> public static string GetExportZipPath(this ExportProfile profile) { Guard.NotNull(profile, nameof(profile)); var name = new DirectoryInfo(profile.FolderName).Name.NullEmpty() ?? "ExportData"; return(Path.Combine(profile.GetExportFolder(), name.ToValidFileName() + ".zip")); }
/// <summary> /// Gets the ZIP path for a profile /// </summary> /// <param name="profile">Export profile</param> /// <returns>ZIP file path</returns> public static string GetExportZipPath(this ExportProfile profile) { var name = (new DirectoryInfo(profile.FolderName)).Name; if (name.IsEmpty()) { name = "ExportData"; } return(Path.Combine(profile.GetExportFolder(), name.ToValidFileName() + ".zip")); }
/// <summary> /// Gets existing export files for an export profile /// </summary> /// <param name="profile">Export profile</param> /// <param name="provider">Export provider</param> /// <returns>List of file names</returns> public static IEnumerable <string> GetExportFiles(this ExportProfile profile, Provider <IExportProvider> provider) { var exportFolder = profile.GetExportFolder(true); if (System.IO.Directory.Exists(exportFolder) && provider.Value.FileExtension.HasValue()) { var filter = "*.{0}".FormatInvariant(provider.Value.FileExtension.ToLower()); return(System.IO.Directory.EnumerateFiles(exportFolder, filter, SearchOption.AllDirectories).OrderBy(x => x)); } return(Enumerable.Empty <string>()); }
/// <summary> /// Gets existing export files for an export profile /// </summary> /// <param name="profile">Export profile</param> /// <returns>List of file names</returns> public static List <string> GetExportFiles(this ExportProfile profile) { var exportFolder = profile.GetExportFolder(true); if (System.IO.Directory.Exists(exportFolder)) { return(System.IO.Directory.EnumerateFiles(exportFolder, "*", SearchOption.TopDirectoryOnly) .OrderBy(x => x) .ToList()); } return(new List <string>()); }
public virtual void DeleteExportProfile(ExportProfile profile, bool force = false) { if (profile == null) throw new ArgumentNullException("profile"); if (!force && profile.IsSystemProfile) throw new SmartException(_localizationService.GetResource("Admin.DataExchange.Export.CannotDeleteSystemProfile")); int scheduleTaskId = profile.SchedulingTaskId; var folder = profile.GetExportFolder(); _exportProfileRepository.Delete(profile); var scheduleTask = _scheduleTaskService.GetTaskById(scheduleTaskId); _scheduleTaskService.DeleteTask(scheduleTask); _eventPublisher.EntityDeleted(profile); if (System.IO.Directory.Exists(folder)) { FileSystemHelper.ClearDirectory(folder, true); } }
/// <summary> /// Get log file path for an export profile /// </summary> /// <param name="profile">Export profile</param> /// <returns>Log file path</returns> public static string GetExportLogPath(this ExportProfile profile) { return(Path.Combine(profile.GetExportFolder(), "log.txt")); }
/// <summary> /// Gets the ZIP path for a profile /// </summary> /// <param name="profile">Export profile</param> /// <returns>ZIP file path</returns> public static string GetExportZipPath(this ExportProfile profile) { return(Path.Combine(profile.GetExportFolder(), profile.FolderName + ".zip")); }