예제 #1
0
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            try
            {
                lblError.Visible = false;
                CalculoRotaWrapper cw = new CalculoRotaWrapper();

                var l = new List <DadosEntrada>();
                l.Add(new DadosEntrada {
                    Cep = txtOrigemCep.Text, Cidade = txtOrigemCidade.Text, Estado = ddlOrigemEstado.Text, Numero = txtOrigemNumero.Text, Rua = txtOrigemRua.Text
                });
                l.Add(new DadosEntrada {
                    Cep = txtDestinoCep.Text, Cidade = txtDestinoCidade.Text, Estado = ddlDestinoEstado.Text, Numero = txtDestinoNumero.Text, Rua = txtDestinoRua.Text
                });

                ResultadoCalculo r = ddlTipoCalculo.SelectedValue == "0" ? cw.CalcularRotaMaisRapida(l) : cw.CalcularRotaEvitandoTransito(l);

                pnlResultado.Visible          = true;
                lblCustoTotalCombustivel.Text = r.CustoTotalCombustivel.ToString(CultureInfo.InvariantCulture);
                lblCustoTotalPedagio.Text     = r.CustoTotalPedagio.ToString(CultureInfo.InvariantCulture);
                lblDistanciaTotal.Text        = r.DistanciaTotalRota.ToString(CultureInfo.InvariantCulture);
                lblTempoTotalRota.Text        = r.TempoTotalRota.ToString();
            }
            catch (Exception ex)
            {
                lblError.Visible = true;
                lblError.Text    = ex.Message;
            }
        }
예제 #2
0
        public ResultadoCalculoV1 CalcularRotaEvitandoTransito(string dadosOrigem, string dadosDestino)
        {
            var l  = new List <common.integration.CalculoRota.DadosEntrada>();
            var m2 = new MapperHelper <common.integration.CalculoRota.ResultadoCalculo, ResultadoCalculoV1>();

            if (dadosOrigem.Contains(",") == false || dadosDestino.Contains(",") == false)
            {
                throw WcfCalculoRotaFaultFactory.CreateWcfServiceFault(new ArgumentException("Você deve especificar corretamente os parametros: dadosOrigem=cep,estado,cidade,rua,numero&dadosDestino=cep,estado,cidade,rua,numero"));
            }

            string[] s  = dadosOrigem.Split(',');
            string[] sd = dadosDestino.Split(',');

            l.Add(new DadosEntrada {
                Cep = s[0], Estado = s[1], Cidade = s[2], Rua = s[3], Numero = s[4]
            });
            l.Add(new DadosEntrada {
                Cep = sd[0], Estado = sd[1], Cidade = sd[2], Rua = sd[3], Numero = sd[4]
            });

            _wrapper = new CalculoRotaWrapper();
            var r = _wrapper.CalcularRotaEvitandoTransito(l);

            return(m2.Convert(r));
        }
예제 #3
0
        public ResultadoCalculoV1 CalcularRotaEvitandoTransito(List <DadosEntradaV1> entrada)
        {
            var m  = new MapperHelper <DadosEntradaV1, common.integration.CalculoRota.DadosEntrada>();
            var m2 = new MapperHelper <common.integration.CalculoRota.ResultadoCalculo, ResultadoCalculoV1>();

            _wrapper = new CalculoRotaWrapper();
            var r = _wrapper.CalcularRotaEvitandoTransito(m.ConvertToList(entrada).ToList());

            return(m2.Convert(r));
        }
        public void CalcularRotaMaisRapidaTest()
        {
            CalculoRotaWrapper target = new CalculoRotaWrapper(); // TODO: Initialize to an appropriate value
            var d = new List <DadosEntrada>();

            d.Add(new DadosEntrada {
                Cidade = "Vila Velha", Estado = "ES", Numero = "613", Rua = "Mestre Gomes", Cep = "29122100"
            });
            d.Add(new DadosEntrada {
                Cidade = "São Paulo", Estado = "SP", Numero = "14", Rua = "Orissanga", Cep = "04052030"
            });

            var result = target.CalcularRotaMaisRapida(d);

            Assert.IsTrue(result.DistanciaTotalRota > 0);
        }