using ReCodeItLib.Utils; namespace ReCodeItLib.Models; /// /// All settings container /// public class Settings { private AppSettings? _appSettings; public AppSettings? AppSettings { get { return _appSettings; } set { _appSettings = value; Save(); } } private RemapperSettings? _remapper; public RemapperSettings? Remapper { get { return _remapper; } set { _remapper = value; Save(); } } private void Save() { DataProvider.SaveAppSettings(); } } /// /// These are settings for the application /// public class AppSettings { private bool _debug; public bool Debug { get { return _debug; } set { _debug = value; Save(); } } private bool _silentMode; public bool SilentMode { get { return _silentMode; } set { _silentMode = value; Save(); } } private void Save() { DataProvider.SaveAppSettings(); } } /// /// These are settings for the manual remapper /// public class RemapperSettings { private string _assemblyPath = string.Empty; /// /// Path to the assembly we want to remap /// public string AssemblyPath { get { return _assemblyPath; } set { _assemblyPath = value; Save(); } } private string _outputPath = string.Empty; /// /// Path including the filename and extension we want to write the changes to /// public string OutputPath { get { return _outputPath; } set { _outputPath = value; Save(); } } private string _mappingPath = string.Empty; /// /// Path to the mapping file /// public string MappingPath { get { return _mappingPath; } set { _mappingPath = value; Save(); } } private bool _useProjectMappings; /// /// Use the projects mappings instead of a standalone file /// public bool UseProjectMappings { get { return _useProjectMappings; } set { _useProjectMappings = value; Save(); } } private MappingSettings? _mappingSettings; public MappingSettings? MappingSettings { get { return _mappingSettings; } set { _mappingSettings = value; Save(); } } private List _tokensToMatch = []; /// /// The re-mapper will look for these tokens in class names, otherwise they will be skipped /// public List TokensToMatch { get { return _tokensToMatch; } set { _tokensToMatch = value; Save(); } } private void Save() { DataProvider.SaveAppSettings(); } } /// /// These are settings that all versions of the remappers use /// public class MappingSettings { private bool _renameFields; /// /// Names of fields of the matched type will be renamed to the type name with approproiate convention /// public bool RenameFields { get { return _renameFields; } set { _renameFields = value; Save(); } } private bool _renameProps; /// /// Names of properties of the matched type will be renamed to the type name with approproiate convention /// public bool RenameProperties { get { return _renameProps; } set { _renameProps = value; Save(); } } private bool _publicize; /// /// Publicize all types, methods, and properties : NOTE: Not run until after the remap has completed /// public bool Publicize { get { return _publicize; } set { _publicize = value; Save(); } } private bool _unseal; /// /// Unseal all types : NOTE: Not run until after the remap has completed /// public bool Unseal { get { return _unseal; } set { _unseal = value; Save(); } } private void Save() { DataProvider.SaveAppSettings(); } }