bfr/DataModels/FileModel.cs
adroslice cade3fdfaa 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
2019-11-14 15:14:21 +01:00

40 lines
1.3 KiB
C#

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);
}
}