async internal Task <PRVJTConfig> ToPRVJTConfig(ICachedRouteService routeService, GASettings settings)
        {
            var dataLimite = DateTime.Parse(DhLimite);
            var dataSaida  = DateTime.Parse(DhSaida);

            var config = new PRVJTConfig
            {
                Map      = new Roteiro(routeService, Origem.Endereco, Origem.Endereco, dataSaida, dataLimite),
                Settings = settings
            };

            config.Map.DataSaida = dataSaida;

            config.DtLimite = dataLimite;
            config.Settings.NumberOfTrucks  = NumeroEntregadores == 0 ? int.MaxValue : NumeroEntregadores;
            config.Settings.Mutation        = Mutation;
            config.Settings.GenerationLimit = Generations;
            config.Settings.PopulationSize  = Population;


            foreach (var item in Destinos)
            {
                var map = new Local(item.Endereco, item.Endereco)
                {
                    Period = new Period(item.DhInicial, item.DhFinal, item.MinutosEspera)
                };
                await config.Map.AddDestination(map);
            }

            return(config);
        }
 public RouteController(ICachedRouteService routeService)
 {
     this.routeService = routeService;
 }