using System; using System.IO; using System.Collections.Generic; using Aurora.Api; namespace VisionCommon { public class CsvPathManager { private static Logger _Logger = new Logger("CsvPathManager"); private static readonly object _Lock = new object(); public static CsvPathManager _Instance; public static CsvPathManager Instance { get { lock (_Lock) { if (_Instance == null) { _Instance = new CsvPathManager(); } return _Instance; } } } private CsvPathManager() { } public static string GetRootDirPath() { try { var rootDirPath = Path.Combine(VisionSettingManager.VisionSetting.RootDirPath, "Csv"); if (!Directory.Exists(rootDirPath)) { Directory.CreateDirectory(rootDirPath); } return rootDirPath; } catch (Exception e) { _Logger.FuncE(e.Message); } return string.Empty; } public List GetUnitDirNames(SubSysInfo subSysInfo) { try { var subDirNames = new List(); subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId)); subDirNames.Add(DateTime.Now.ToString("yyMM")); return subDirNames; } catch (Exception e) { _Logger.FuncE(e.Message); } return null; } public List GetSubDirNames(SubSysInfo subSysInfo) { try { var subDirNames = new List(); subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId)); subDirNames.Add(subSysInfo.SubSysName); subDirNames.Add(DateTime.Now.ToString("yyMM")); return subDirNames; } catch (Exception e) { _Logger.FuncE(e.Message); } return null; } public List GetSubDirNames(SubSysInfo subSysInfo, DateTime dateTime) { try { var subDirNames = new List(); subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId)); subDirNames.Add(subSysInfo.SubSysName); subDirNames.Add(dateTime.ToString("yyMM")); return subDirNames; } catch (Exception e) { _Logger.FuncE(e.Message); } return null; } public string GetDirPath(List subDirNames) { try { string dirPath = GetRootDirPath(); foreach (string subDirName in subDirNames) { dirPath = Path.Combine(dirPath, subDirName); } return dirPath; } catch (Exception e) { _Logger.FuncE(e.Message); } return string.Empty; } public string GetFileNameWithDateTime(string fileName) { try { string date = DateTime.Now.ToString("yyMMdd"); string time = DateTime.Now.ToString("HHmmss"); return date + "_" + time + "_" + fileName; } catch (Exception e) { _Logger.FuncE(e.Message); } return string.Empty; } public string GetFileNameWithDate(string fileName) { try { string date = DateTime.Now.ToString("yyMMdd"); return date + "_" + fileName; } catch (Exception e) { _Logger.FuncE(e.Message); } return string.Empty; } public string GetFileNameWithDate(string fileName, DateTime dateTime) { try { string date = dateTime.ToString("yyMMdd"); return date + "_" + fileName; } catch (Exception e) { _Logger.FuncE(e.Message); } return string.Empty; } } }