using LCU.Library.Internal.ApiResponse.Models; using LCU.Library.Internal.FileOperationsModels.Models.NameSettings; using LCU.Library.Internal.FileOperationsModels.Shared; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace LCU.Library.Internal.FileOperationsModels.Models { public class DeleteDirectoryRequest : ReturnResponse { [Required(ErrorMessage = "Directory name is required.")] public string DirectoryName { get; set; } [Required(ErrorMessage = "Directory path is required")] public string DirectoryRootPath { get; set; } [Range(0, 25, ErrorMessage = "MaxAmountOfDirectories must be between {1} and {2}.")] public int MaxAmountOfDirectories { get; set; } = 0; public bool Recursive { get; set; } public DynamicNameSetting DirectoryNameSettings { get; set; } [NotMapped] public string FinalDirectoryName { get { return DynamicNameBuilder.BuildDynamicName(DirectoryName, DirectoryNameSettings); } } [NotMapped] public string FinalDirectoryPath { get { return $"{DirectoryRootPath}\\{FinalDirectoryName}"; } } } }