private static void ValidateAppSettings(FilePathSettings filePathSettings, PasswordHashSettings passwordHashSettings, MailSettings mailSettings) { var resultsValidation = new List <ValidationResult>(); Validator.TryValidateObject(filePathSettings, new ValidationContext(filePathSettings), resultsValidation, true); Validator.TryValidateObject(passwordHashSettings, new ValidationContext(passwordHashSettings), resultsValidation, true); Validator.TryValidateObject(mailSettings, new ValidationContext(mailSettings), resultsValidation, true); resultsValidation.ForEach(error => Console.WriteLine(error.ErrorMessage)); }
static void Main(string[] args) { #region Appsettings Configuration //Read file path from appsettings var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false); IConfiguration config = builder.Build(); FilePathSettings filePathSettings = config.GetSection("FilePathSettings").Get <FilePathSettings>(); #endregion #region Main Code //Store file name string filePath = filePathSettings.BasePath + "unsorted-names-list.txt"; //Init FileReader class FileReader fileReader = new FileReader(); //Get unsorted string list from file List <string> unsortedList = fileReader.ReadFileAsStringList(filePath); //Init validator Validator validator = new Validator(); if (!validator.IsValidName(unsortedList)) { Console.WriteLine("The file contains invalid name"); } else { //Get sorted result NameSorter nameSorter = new NameSorter(); List <string> resultList = nameSorter.ReverseName(unsortedList); Console.WriteLine("The sorted name list:"); foreach (string s in resultList) { Console.WriteLine(s); } //Write list to the file string path = filePathSettings.BasePath + "sorted-names-list.txt"; File.WriteAllLines(path, resultList, Encoding.UTF8); } #endregion }
public FilesController(ApplicationDbContext context, ILogger <FilesController> logger, FilePathSettings filePathSettings) { _context = context; _logger = logger; _filePathSettings = filePathSettings; }