Exemple #1
0
        public KeyValuePair <bool, TipoContrato> BuscaCorrida()
        {
            try
            {
                // Busca perfil do usuario
                var perfil = new PerfilMotoristaModel();
                Task.Run(async() =>
                {
                    perfil = await BuscaPerfilMotorista();
                }).Wait();

                // Se existe diaria
                if (perfil != null && perfil.idRegistroDiaria != null)
                {
                    usuarioAutenticado.SetPerfil(perfil);
                    return(new KeyValuePair <bool, TipoContrato>(true, TipoContrato.ContratoLocacao));
                }
                else // Se nao - busca Corrida
                {
                    // Busca Corrida
                    var corrida = new CorridaAbertaModel();
                    Task.Run(async() =>
                    {
                        corrida = await BuscaCorridaAberta();
                    }).Wait();

                    // Corrida
                    if (corrida != null)
                    {
                        // ID Corrida
                        usuarioAutenticado.IDCorridaAtendimento = corrida.ID;

                        // Binding
                        chamadoItem = new ChamadoEncontradoItemViewModel()
                        {
                            NomeCliente    = corrida.NomeCliente,
                            Comissao       = corrida.Comissao.ToString("C"),
                            DestinoInicial = corrida.EnderecoCompleto
                        };
                        GlobalVariablesManager.SetApplicationCurrentProperty(GlobalVariablesManager.VariaveisGlobais.DadosCorridaPesquisada, chamadoItem);

                        // Return
                        return(new KeyValuePair <bool, TipoContrato>(true, TipoContrato.ChamadosAvulsos));
                    }
                    else
                    {
                        usuarioAutenticado.IDCorridaAtendimento = null;
                        return(new KeyValuePair <bool, TipoContrato>(false, TipoContrato.ChamadosAvulsos));
                    }
                }
            }
            finally
            {
            }
        }
        //public List<EsperaOcorrencia> TempoDeEspera { get; set; }

        public void SetPerfil(PerfilMotoristaModel perfil)
        {
            Instance.IDProfissional       = perfil.idColaboradorEmpresaSistema;
            Instance.Nome                 = perfil.NomeCompleto;
            Instance.Tipo                 = perfil.TipoProfissional;
            Instance.Contrato             = perfil.idRegistroDiaria == null ? BHJet_Enumeradores.TipoContrato.ChamadosAvulsos : BHJet_Enumeradores.TipoContrato.ContratoLocacao;
            Instance.IDDiaria             = perfil.idRegistroDiaria;
            Instance.IDCorridaAtendimento = perfil.idCorrida;

            if (Instance.Contrato == TipoContrato.ChamadosAvulsos && Instance.IDCorridaAtendimento != null)
            {
                Instance.StatusAplicatico = StatusAplicativoEnum.Atendimento;
            }
            else if (Instance.Contrato == TipoContrato.ContratoLocacao)
            {
                Instance.StatusAplicatico = StatusAplicativoEnum.Diarista;
            }
        }