Beispiel #1
0
        public IHttpActionResult GetLocalizacaoMotoristasDisponiveis(int tipoProfissional)
        {
            // Tipo profissional desejado
            TipoProfissional tipo;

            if (!Enum.TryParse(tipoProfissional.ToString(), out tipo))
            {
                BadRequest(Mensagem.Validacao.TipoProfissionalInvalido);
            }

            // Busca Dados resumidos
            var entidade = new ProfissionalRepositorio().BuscaLocalizacaoProfissionaisDisponiveis(tipo);

            // Validacao
            if (entidade == null || !entidade.Any())
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(entidade.Select(pf => new LocalizacaoProfissionalModel()
            {
                idColaboradorEmpresaSistema = pf.idColaboradorEmpresaSistema,
                geoPosicao = $"{pf.vcLatitude};{pf.vcLongitude}",
                TipoColaborador = tipo,
                NomeColaborador = pf.vcNomeCompleto
            })));
        }
Beispiel #2
0
        public ActionResult ConsultarProfissionais()
        {
            _repositorio = new ProfissionalRepositorio();

            _repositorio.ObterProfissional();
            ModelState.Clear();
            return(View(_repositorio.ObterProfissional()));
        }
Beispiel #3
0
        public IHttpActionResult PostLiberarOS(long idCorrida)
        {
            // Busca profissional
            var perfil = new ProfissionalRepositorio().BuscaPerfilProfissional(UsuarioAutenticado.LoginID);

            // Instancia
            new CorridaRepositorio().LiberarOrdemServico(idCorrida, perfil.idColaboradorEmpresaSistema);

            // Return
            return(Ok());
        }
Beispiel #4
0
        public IHttpActionResult GetTurnoAberto()
        {
            // Variaveis
            var id = long.Parse(UsuarioAutenticado.LoginID);

            // Busca ID Profissional
            var idProfissional = new ProfissionalRepositorio().BuscaIDProfissional(id);

            // Busca verificação
            var diariaAberta = new DiariaRepositorio().VerificaDiariaAberta(idProfissional);

            // Retorna
            return(Ok(diariaAberta));
        }
Beispiel #5
0
        public IHttpActionResult GetProfissional(long idProfissional)
        {
            // Busca Dados resumidos
            var entidade = new ProfissionalRepositorio().BuscaProfissional(idProfissional);

            // Validacao
            if (entidade == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(new ProfissionalCompletoModel()
            {
                ID = entidade.ID,
                NomeCompleto = entidade.NomeCompleto,
                CelularWpp = entidade.CelularWpp,
                CNH = entidade.CNH,
                ContratoCLT = entidade.ContratoCLT,
                TipoVeiculos = entidade.TipoVeiculo.Split(',').Select(v => int.Parse(v)).ToArray(),
                CPF = entidade.CPF,
                Email = entidade.Email,
                Rua = entidade.Rua,
                Bairro = entidade.Bairro,
                Cidade = entidade.Cidade,
                Complemento = entidade.Complemento,
                PontoReferencia = entidade.PontoReferencia,
                UF = entidade.UF,
                Cep = entidade.Cep,
                EnderecoPrincipal = entidade.EnderecoPrincipal,
                RuaNumero = entidade.RuaNumero,
                Observacao = entidade.Observacao,
                TelefoneCelular = entidade.TelefoneCelular,
                TelefoneResidencial = entidade.TelefoneResidencial,
                TipoCNH = entidade.TipoCNH,
                Status = entidade.StatusUsuario,
                TipoRegime = entidade.TipoRegime,
                TipoProfissional = entidade.TipoProfissional,
                DocumentoRG = entidade.DocumentoRG,
                Comissoes = entidade.Comissoes.Select(c => new ProfissionalComissaoModel()
                {
                    ID = c.idComissaoColaboradorEmpresaSistema,
                    decPercentualComissao = c.decPercentualComissao,
                    dtDataInicioVigencia = c.dtDataInicioVigencia,
                    dtDataFimVigencia = c.dtDataFimVigencia,
                    Observacao = c.vcObservacoes
                }).ToArray()
            }));
        }
        public ActionResult AtualizarProfissional(int id, Profissionals profissionalObj)
        {
            try
            {
                _repositorio = new ProfissionalRepositorio();
                _repositorio.AtualizarProfissional(profissionalObj);

                return(RedirectToAction("ObterProfissional"));
            }
            catch (Exception e)
            {
                var ja = e.Message;
                return(View("ObterProfissional"));
            }
        }
        public ActionResult ExcluirProfissional(int id)
        {
            try
            {
                _repositorio = new ProfissionalRepositorio();
                if (_repositorio.ExcluirProfissional(id))
                {
                    ViewBag.Mensagem = "O profissional retirado do sistema com sucesso";
                }

                return(RedirectToAction("ObterProfissional"));
            }
            catch (Exception)
            {
                return(View("ObterProfissional"));
            }
        }
Beispiel #8
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 #9
0
        public IHttpActionResult GetTipoVeiculo()
        {
            // Busca Dados resumidos
            var tipos = new ProfissionalRepositorio().BuscaTipoVeiculos();

            // Validacao
            if (tipos == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(tipos.Select(t => new TipoVeiculoDTO()
            {
                ID = t.idTipoVeiculo,
                Descricao = t.vcDescricaoTipoVeiculo
            })));
        }
Beispiel #10
0
        public IHttpActionResult GetListaProfissionaisDisponiveis([FromUri] int?tipoProfissional = null, [FromUri] string trecho = "")
        {
            // Busca Dados resumidos
            var entidade = new ProfissionalRepositorio().BuscaProfissionaisDisponiveis(trecho, tipoProfissional);

            // Validacao
            if (entidade == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(entidade.Select(pro => new ProfissionalModel()
            {
                ID = pro.ID,
                NomeCompleto = pro.NomeCompleto,
                TipoRegime = pro.TipoRegime,
                TipoProfissional = pro.TipoProfissional
            })));
        }
Beispiel #11
0
        public IHttpActionResult GetLocalizacaoMotoristaDisponivel(long idProfissional)
        {
            // Busca Dados resumidos
            var entidade = new ProfissionalRepositorio().BuscaLocalizacaoProfissionalDisponivel(idProfissional);

            // Validacao
            if (entidade == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(new LocalizacaoProfissionalModel()
            {
                idColaboradorEmpresaSistema = entidade.idColaboradorEmpresaSistema,
                geoPosicao = $"{entidade.vcLatitude};{entidade.vcLongitude}",
                NomeColaborador = entidade.vcNomeCompleto,
                TipoColaborador = (TipoProfissional)entidade.idTipoProfissional
            }));
        }
Beispiel #12
0
        public IHttpActionResult PutDisponibilidade([FromBody] DisponibilidadeFiltro filtro)
        {
            // Variaveis
            var rep = new ProfissionalRepositorio();

            // Busca Dados resumidos
            var perfil = rep.BuscaPerfilProfissional(UsuarioAutenticado.LoginID);

            // Validacao
            if (perfil == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Atualiza
            rep.AtualizaDisponibilidadeProfissional(perfil.idColaboradorEmpresaSistema, filtro);

            // Return
            return(Ok());
        }
        public ActionResult IncluirProfissional(Profissionals profissionalObj)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _repositorio = new ProfissionalRepositorio();

                    if (_repositorio.AdicionarProfissional(profissionalObj))
                    {
                        ViewBag.Mensagem = "O profissional foi cadastrado com sucesso!";
                    }
                }

                return(RedirectToAction("ObterProfissional"));
            }
            catch (Exception)
            {
                return(View("ObterProfissional"));
            }
        }
Beispiel #14
0
        public IHttpActionResult GetComissaoProfissional(long idProfissional)
        {
            // Busca Dados resumidos
            var comissao = new ProfissionalRepositorio().BuscaComissaoProfissional(idProfissional);

            // Validacao
            if (comissao == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Return
            return(Ok(new ComissaoModel()
            {
                idComissaoColaboradorEmpresaSistema = comissao.idComissaoColaboradorEmpresaSistema,
                idColaboradorEmpresaSistema = comissao.idColaboradorEmpresaSistema,
                bitAtivo = comissao.bitAtivo,
                decPercentualComissao = comissao.decPercentualComissao,
                dtDataInicioVigencia = comissao.dtDataInicioVigencia,
                dtDataFimVigencia = comissao.dtDataFimVigencia,
                vcObservacoes = comissao.vcObservacoes
            }));
        }
Beispiel #15
0
        public IHttpActionResult GetPerfil()
        {
            try
            {
                // Busca Dados resumidos
                var perfil = new ProfissionalRepositorio().BuscaPerfilProfissional(UsuarioAutenticado.LoginID);

                // Validacao
                if (perfil == null)
                {
                    return(StatusCode(System.Net.HttpStatusCode.NoContent));
                }

                // Return
                return(Ok(new PerfilModel()
                {
                    idUsuario = perfil.idUsuario,
                    idColaboradorEmpresaSistema = perfil.idColaboradorEmpresaSistema,
                    Email = perfil.vcEmail,
                    NomeCompleto = perfil.vcNomeCompleto,
                    idRegistroDiaria = perfil.idRegistroDiaria,
                    idCorrida = perfil.IDCorrida,
                    TipoProfissional = perfil.idTipoProfissional
                }));
            }
            catch (Exception e)
            {
                using (EventLog eventLog = new EventLog("Application"))
                {
                    eventLog.Source = "Application";
                    eventLog.WriteEntry(e.Message + e.StackTrace, EventLogEntryType.Error, 101, 1);
                }

                return(BadRequest("erro"));
            }
        }
Beispiel #16
0
 public ListaProfissionaisPageViewModel(INavigationService navigationService)
 {
     ListaProf           = ProfissionalRepositorio.ObterProfissionais();
     ProfissionalCommand = new DelegateCommand <Profissional>(ExecuteProfissionalCommand);
     _navigationService  = navigationService;
 }
 public ActionResult AtualizarProfissional(int id)
 {
     _repositorio = new ProfissionalRepositorio();
     return(View(_repositorio.ObterProfissional().Find(t => t.ProfissionalId == id)));
 }
Beispiel #18
0
        public IHttpActionResult PostProfissional([FromBody] ProfissionalCompletoModel model)
        {
            // Busca Dados resumidos
            var profRepositorio = new ProfissionalRepositorio();

            // Verifica existencia
            var entidade = profRepositorio.VerificaProfissionalExistente(model.Email, model.CPF);

            // VALIDACAO
            if (entidade.Any())
            {
                bool existeCPF   = entidade.Where(x => x.vcCPFCNPJ == model.CPF).Any();
                bool existeEmail = entidade.Where(x => x.vcEmail == model.Email).Any();

                string msg = "";
                if (existeCPF && existeEmail)
                {
                    msg = "CPF e Email.";
                }
                else if (existeCPF)
                {
                    msg = "mesmo CPF.";
                }
                else if (existeEmail)
                {
                    msg = "mesmo Email.";
                }

                return(BadRequest($"Existe um cadastro com este {msg}. Favor atualizar os dados corretamente"));
            }

            // Inclui profissional
            profRepositorio.IncluirProfissional(new BHJet_Repositorio.Admin.Entidade.ProfissionalCompletoEntidade()
            {
                IDGestor            = UsuarioAutenticado.LoginID.ToLong(),
                NomeCompleto        = model.NomeCompleto,
                CPF                 = model.CPF,
                Email               = model.Email,
                Observacao          = model.Observacao,
                TipoCNH             = model.TipoCNH,
                TipoVeiculo         = string.Join(",", model.Veiculos),
                CNH                 = model.CNH,
                TipoProfissional    = model.TipoProfissional,
                TipoRegime          = model.TipoRegime,
                ContratoCLT         = model.ContratoCLT,
                TelefoneCelular     = model.TelefoneCelular,
                TelefoneResidencial = model.TelefoneResidencial,
                CelularWpp          = model.CelularWpp,
                Cep                 = model.Cep,
                Rua                 = model.Rua,
                Bairro              = model.Bairro,
                Cidade              = model.Cidade,
                UF                = model.UF,
                RuaNumero         = model.RuaNumero,
                Complemento       = model.Complemento,
                EnderecoPrincipal = model.EnderecoPrincipal,
                PontoReferencia   = model.PontoReferencia,
                DocumentoRG       = model.DocumentoRG,
                Senha             = model.Senha,
                StatusUsuario     = model.Status,
                Comissoes         = model.Comissoes.Any() ? model.Comissoes.Select(x => new ProfissionalComissaoEntidade()
                {
                    decPercentualComissao = x.decPercentualComissao,
                    dtDataFimVigencia     = x.dtDataFimVigencia,
                    dtDataInicioVigencia  = x.dtDataInicioVigencia
                }).ToArray() : new ProfissionalComissaoEntidade[] { }
            });

            // Return
            return(Ok());
        }