namespace VisionBuilder.UI.Common; public static class PathSettingsUtils { public static string ConvertVariables( string text, DateTime imageTime, DateTime sessionTime, string recipeName = "", string defectName = "", string cameraName = "") { if (string.IsNullOrEmpty(text)) return text; var replacements = new Dictionary { ["$RECIPE_NAME"] = recipeName, ["$DEFECT_NAME"] = defectName, ["$CAMERA_NAME"] = cameraName, ["$HOUR"] = imageTime.Hour.ToString("D2"), ["$MINUTE"] = imageTime.Minute.ToString("D2"), ["$SECOND"] = imageTime.Second.ToString("D2"), ["$MS"] = imageTime.Millisecond.ToString("D3"), ["$DAY"] = imageTime.Day.ToString("D2"), ["$MONTH"] = imageTime.Month.ToString("D2"), ["$YEAR"] = imageTime.Year.ToString(), ["$SS_HOUR"] = sessionTime.Hour.ToString("D2"), ["$SS_MINUTE"] = sessionTime.Minute.ToString("D2"), ["$SS_SECOND"] = sessionTime.Second.ToString("D2"), ["$SS_DAY"] = sessionTime.Day.ToString("D2"), ["$SS_MONTH"] = sessionTime.ToString("MMMM"), ["$SS_YEAR"] = sessionTime.Year.ToString() }; foreach (var pair in replacements) { text = text.Replace(pair.Key, pair.Value); } return text; } }