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; } = [];
}