using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MainShell.Filewritable
{
    public static class Paths
    {
        public static string BasePath => AppDomain.CurrentDomain.BaseDirectory;

        #region //算法标定文件路径
        public static string CalibPath => Path.Combine(BasePath, "CalibData");
        #endregion

        #region//配方文件路径
        public static string RecipeBasePath => Path.Combine(BasePath, "Recipe");
        public static string CarrierRecipe => Path.Combine(RecipeBasePath, "Carrier");
        public static string SubstrateRecipe=> Path.Combine(RecipeBasePath, "Substrate");
        public static string WaferRecipe => Path.Combine(RecipeBasePath, "Wafer");
        public static string ProcessRecipe => Path.Combine(RecipeBasePath, "Process");
        #endregion

        #region//模版路径
        /// <summary>
        /// 模版统一存放路径
        /// </summary>
        public static string TemplateBasePath => Path.Combine(BasePath, "VisionTemplate");

        #region //原点标定模板路径
        public const string OriginCalibDefaultTemplatePath = "Template/Default";
        public const string OriginCalibGantryX1Y1TemplatePath = "Template/OriginCalib/GantryX1Y1";
        public const string OriginCalibGantryX2TemplatePath = "Template/OriginCalib/GantryX2";
        public const string OriginCalibStageY2TemplatePath = "Template/OriginCalib/StageY2";
        public const string OriginCalibWSX3TemplatePath = "Template/OriginCalib/WSX3";
        #endregion
        #endregion

        #region //维护记录路径
        public const string MaintanceRecordDir = @"D:\RecordData\Maintance\";
        #endregion

        #region //过程结果路径
        public static string ProcessResultDir => Path.Combine(BasePath, "ProcessResult");
        #endregion

        #region //标定设置路径
        public static string CalibSettingPath => Path.Combine(BasePath, "Parameters");
        #endregion

        public static Dictionary<string, string> WaferFileNames => new Dictionary<string, string>
{
    { "Row", Path.Combine(BasePath,"Path", "row.txt") },
    { "Column", Path.Combine(BasePath,"Path", "Column.txt") },
    { "Angle", Path.Combine(BasePath,"Path", "angle.txt") },
    { "RowOverlap", Path.Combine(BasePath,"Path", "rowOverlap.txt") },
    { "ColumnOverlap", Path.Combine(BasePath,"Path", "ColumnOverlap.txt") },
    { "AngleOverlap", Path.Combine(BasePath,"Path", "angleOverlap.txt") }
};
    }
}
