public BexsTestController(IWriteDestinationFile writer, ITravelPathBusiness travelPathBusiness, IAirportBusiness airportBusiness, IReadDestinationFile fileReader, IConfiguration configuration) { this.airportBusiness = airportBusiness; this.fileReader = fileReader; this.configuration = configuration; this.travelPathBusiness = travelPathBusiness; this.fileWriter = writer; }
public void WriteNewRoute(string origin, string destination, string cost, string filePath, IWriteDestinationFile writer) { int costParam = 0; if (int.TryParse(cost, out costParam)) { if (ContainsRoute(origin, destination, filePath)) { List <string> fileList = destinationReader.ReadFile(filePath).ToList(); for (int i = 0; i < fileList.Count(); i++) { string item = fileList[i]; if (item.Contains($"{origin},{destination}")) { item = $"{origin},{destination},{cost}"; fileList[i] = item; } } writer.UpdateRoutes(filePath, fileList); } else { writer.WriteNewRoute(origin, destination, costParam, filePath); } RefreshCache(filePath, destinationReader); } else { throw new Exception("O Parâmetro custo deve ser numérico"); } }