public ResultadoCalculoRotaEntity CalcularRota(IList<Coordenadas> p, TiposCalculoRota tp) { var r = new ResultadoCalculoRotaEntity(); RouteInfo ri = _route.GetRoute(new Point { x = p[0].X, y = p[0].Y }, new Point { x = p[1].X, y = p[1].Y }, (RouteWrapper.TipoRota)tp); r.CustoTotalCombustivel = (decimal)ri.routeTotals.totalfuelCost; r.CustoTotalPedagio = (decimal)ri.routeTotals.totaltollFeeCost; r.DistanciaTotalRota = (long)ri.routeTotals.totalDistance; //"PT11H40M" //"PT11H7M" r.TempoTotalRota = TimeSpan.ParseExact(ri.routeTotals.totalTime, @"\P\T%h\H%m\M", CultureInfo.InvariantCulture); return r; }
public ResultadoCalculoV1 CalcularRota(IList<DadosEntradaV1> entrada, TiposCalculoRota tc) { if (entrada.Count < 2) { throw new CalculoRotaBusinessException("entrada deve conter ao menos 2 registros!"); } var map = new MapperHelper<DadosEntradaV1, EnderecoEntity>(); var map2 = new MapperHelper<ResultadoCalculoRotaEntity, ResultadoCalculoV1>(); var enderecos = map.ConvertToList(entrada); var coordenadas = _data.ObterCoordenadas(enderecos); var r = _data.CalcularRota(coordenadas, tc); return map2.Convert(r); }