Beispiel #1
0
        public IHttpActionResult PostCorrida([FromBody] IncluirCorridaDTO model)
        {
            // Busca Comissao
            var comissao = new ProfissionalRepositorio().BuscaComissaoProfissional(model.IDProfissional ?? 0);

            // Calculo Valor Estimado
            var valorEstimado = CalculaPrecoCorrida(new CalculoCorridaDTO()
            {
                IDCliente   = model.IDCliente ?? 0,
                TipoVeiculo = model.TipoProfissional ?? 0,
                Localizacao = model.Enderecos.Select(c => new CalculoCorridaLocalidadeDTO()
                {
                    Latitude  = Double.Parse(c.Latitude.Replace(".", ",")),
                    Longitude = Double.Parse(c.Longitude.Replace(".", ","))
                }).ToArray()
            });

#if DEBUG
            var usuario = 55;
#else
            var usuario = long.Parse(UsuarioAutenticado.LoginID);
#endif

            // Busca tarifa cliente
            var idCorrida = new CorridaRepositorio().IncluirCorrida(new BHJet_Repositorio.Admin.Filtro.CorridaFiltro()
            {
                IDCliente        = model.IDCliente,
                IDProfissional   = model.IDProfissional,
                Comissao         = comissao != null ? comissao.decPercentualComissao : (decimal?)null,
                TipoProfissional = model.TipoProfissional,
                ValorEstimado    = valorEstimado.Preco,
                Enderecos        = model.Enderecos.Select(c => new EnderecoModel()
                {
                    Descricao      = c.Descricao,
                    Latitude       = c.Latitude,
                    Longitude      = c.Longitude,
                    Observacao     = c.Observacao,
                    ProcurarPessoa = c.ProcurarPessoa,
                    TipoOcorrencia = c.TipoOcorrencia
                }).ToList()
            }, usuario);

            // Return
            return(Ok(idCorrida));
        }
Beispiel #2
0
 public long IncluirCorrida(IncluirCorridaDTO filtro)
 {
     return(this.Post <IncluirCorridaDTO, long>(new Uri($"{ServicoRotas.Base}{ServicoRotas.Corrida.PostCorrida}"), filtro));
 }