Added File Data Model

- Stores the components of a full file path
- Larger components (FullName, Path) can both be retrieved and set
- Stores all of the initial values for comparison, displaying before and after using a single list property, and reverting changes
This commit is contained in:
adroslice 2019-11-14 15:14:21 +01:00
parent 014bbdbf2e
commit cade3fdfaa

39
DataModels/FileModel.cs Normal file
View File

@ -0,0 +1,39 @@
namespace BulkFileRenamer.DataModels
{
public class FileModel
{
public string OldName { get; }
public string OldFullName { get; }
public string OldExtension { get; }
public string OldDirectory { get; }
public string OldPath { get; }
public string Name { get; set; }
public string Extension { get; set; }
public string Directory { get; set; }
public string FullName
{
get => Extension != "" ? $"{Name}.{Extension}" : Name;
set
{
Name = value.LastIndexOf('.') >= 0 ? value.Substring(0, value.LastIndexOf('.')) : value;
Extension = value.LastIndexOf('.') >= 0 ? value.Substring(value.LastIndexOf('.') + 1, value.Length - value.LastIndexOf('.') - 1) : "";
}
}
public string Path
{
get => $"{Directory}{FullName}";
set
{
FullName = value.Substring(value.LastIndexOf('\\') + 1);
Directory = value.Substring(0, value.LastIndexOf('\\') + 1);
}
}
public FileModel(string path) =>
(OldPath, OldExtension, OldFullName, OldDirectory, OldName) =
(Path = path, Extension, FullName, Directory, Name);
}
}