static void Main(string[] args) { TraceFactory.AddTraceConsole(); SplitArgs Args = new SplitArgs(args); string SourceDir = Args.GetValue("sourcedir", ""); Trace.WriteLine($"Source directory = {SourceDir}"); if (string.IsNullOrWhiteSpace(SourceDir) || !Directory.Exists(SourceDir)) { Usage($"Missing source directory : directory is missing or access is denied"); } InitTitle($"Processing {SourceDir}"); EProcessStatus ProcessStatus = ProcessDirectory(new DirectoryInfo(SourceDir)); if (ProcessStatus != EProcessStatus.Ok) { ConsoleExtension.Pause(); Environment.Exit(1); } //ConsoleExtension.Pause(); Environment.Exit(0); }
public Result FinishGrabRequest(DbSession session, TGrabRequest request, EResultCode code, string message) { EProcessStatus status = EProcessStatus.Ready; switch (code) { case EResultCode.Success: status = EProcessStatus.Success; break; case EResultCode.Failure: status = EProcessStatus.Failure; break; case EResultCode.Error: status = EProcessStatus.Error; break; default: ExceptionHelper.DoWhileResultCodeHandlerNotImplemented(); break; } return(new Result() { ResultCode = request.Settle(session, status, message) ? EResultCode.Success : EResultCode.Failure, Message = message }); }
public virtual void Load(ref FashionPositionInfo newFpi, HashSet <string> loadedPath) { if (loadedPath != null) { if (!string.IsNullOrEmpty(location) && !loadedPath.Contains(location)) { loadedPath.Add(location); } else { processStatus = EProcessStatus.EProcessed; } } }
public bool MakePath(ref FashionPositionInfo newFpi, HashSet <string> loadedPath) { fpi = newFpi; if (!string.IsNullOrEmpty(fpi.equipName)) { location = "Equipments/" + fpi.equipName; processStatus = EProcessStatus.EProcessing; } if (loadedPath != null) { if (!string.IsNullOrEmpty(location) && !loadedPath.Contains(location)) { loadedPath.Add(location); return(true); } else { processStatus = EProcessStatus.EProcessed; return(false); } } return(!string.IsNullOrEmpty(location)); }
static private EProcessStatus ProcessDirectory(DirectoryInfo directory) { try { Trace.WriteLine($"Processing {directory.FullName}"); Trace.Indent(); string CbzFilename = $"{directory.FullName}.cbz"; Trace.WriteLine($"Attempt to create {CbzFilename}"); try { if (directory == null || !Directory.Exists(directory.FullName)) { Trace.WriteLine($" => Unable to create {CbzFilename} file : source directory is missing or access is denied", Severity.Error); return(EProcessStatus.Error); } DirectoryInfo[] SubDirs = directory.GetDirectories("*", SearchOption.TopDirectoryOnly); if (SubDirs.Count() > 0) { Trace.WriteLine($" => ## Found {SubDirs.Count()} sub-directories ##"); EProcessStatus GlobalProcessStatus = EProcessStatus.Ok; foreach (DirectoryInfo DirectoryItem in SubDirs) { EProcessStatus ProcessStatus = ProcessDirectory(DirectoryItem); if (ProcessStatus != EProcessStatus.Ok) { GlobalProcessStatus = ProcessStatus; } } return(GlobalProcessStatus); } else { IEnumerable <FileInfo> ExcludedFiles = directory.GetFiles("*", SearchOption.TopDirectoryOnly).Where(x => ExcludedExtensions.Contains(x.Extension.ToLower())); if (ExcludedFiles.Count() > 0) { Trace.WriteLine($" => *** Skipping {CbzFilename} : Found excluded files in folder ***", Severity.Warning); foreach (string FileItem in ExcludedFiles.Select(x => x.Name)) { Trace.WriteLine($" {FileItem}"); } return(EProcessStatus.Warning); } if (File.Exists(CbzFilename)) { Trace.WriteLine($" => Unable to create {CbzFilename} : file already exists", Severity.Error); return(EProcessStatus.Error); } ChangeTitle($"Building {CbzFilename}"); Trace.WriteLine($" => Generate {CbzFilename}"); ZipFile.CreateFromDirectory(directory.FullName, CbzFilename, CompressionLevel.Fastest, false); directory.Delete(true); ChangeTitle(); return(EProcessStatus.Ok); } } catch (Exception ex) { Trace.WriteLine($" => Error while processing : {ex.Message}", Severity.Error); return(EProcessStatus.Error); } } finally { Trace.Unindent(); } }
public virtual void Reset() { processStatus = EProcessStatus.ENotProcess; location = ""; }
public bool Settle(DbSession session, EProcessStatus processStatus, string message = "") { ProcessStatus = processStatus; Message = message; return(this.DbUpdate(session, TGrabRequestProperties.ProcessStatus, TGrabRequestProperties.Message)); }