using ReCodeIt.Utils; namespace ReCodeIt.Models; public class CrossCompilerProjectModel { #region REQUIRED_ON_CREATION /// /// The path of the original assembly /// /// (Required on creation) /// public string OriginalAssemblyPath { get; set; } /// /// Remapped output path /// /// (Required on creation) /// public string RemappedAssemblyPath { get; set; } /// /// The path to the working directory vs project /// /// (Required on creation) /// public string VisualStudioSolutionPath { get; set; } /// /// The path to the working directory vs project /// public string VisualStudioSolutionDirectoryPath => Path.GetDirectoryName(VisualStudioSolutionPath)!; /// /// The path the the cloned solution /// public string VisualStudioClonedSolutionPath => Path.Combine( DataProvider.ReCodeItProjectsPath, SolutionName, SolutionName + ".sln"); public string VisualStudioClonedSolutionDirectory => Path.Combine( DataProvider.ReCodeItProjectsPath, SolutionName); public string ProjectDllName => SolutionName + ".dll"; public string OriginalAssemblyDllName => Path.GetFileName(OriginalAssemblyPath); /// /// This is where the final dll is built to /// /// (Required on creation) /// public string BuildDirectory { get; set; } #endregion REQUIRED_ON_CREATION /// /// Name of the solution /// public string SolutionName { get; set; } /// /// The ReCodeIt.json path /// public string ReCodeItProjectPath { get; set; } /// /// Remapped output hash /// public string OriginalAssemblyHash { get; set; } /// /// Remapped output hash /// public string RemappedAssemblyHash { get; set; } /// /// Key: Remapped name, value: old name /// public Dictionary ChangedTypes { get; set; } = []; /// /// Remap models used on this project /// public List RemapModels { get; set; } = []; }