Example #1
0
        public IHttpActionResult PutProfissionalMobile(long idProfissional, [FromBody] ProfissionalCompletoModel model)
        {
            // Busca Dados resumidos
            new ProfissionalRepositorio().AtualizaProfissionalSimples(new ProfissionalCompletoEntidade()
            {
                ID = idProfissional,
                TelefoneCelular     = model.TelefoneCelular,
                TelefoneResidencial = model.TelefoneResidencial,
                CelularWpp          = model.CelularWpp,
            });

            // Return
            return(Ok());
        }
Example #2
0
        public IHttpActionResult PutProfissional(long idProfissional, [FromBody] ProfissionalCompletoModel model)
        {
            // Busca Dados resumidos
            new ProfissionalRepositorio().AtualizaProfissional(new BHJet_Repositorio.Admin.Entidade.ProfissionalCompletoEntidade()
            {
                ID                  = idProfissional,
                NomeCompleto        = model.NomeCompleto,
                CPF                 = model.CPF,
                Email               = model.Email,
                Observacao          = model.Observacao,
                TipoCNH             = model.TipoCNH,
                CNH                 = model.CNH,
                TipoVeiculo         = string.Join(",", model.TipoVeiculos),
                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,
                Senha               = model.Senha,
                StatusUsuario       = model.Status,
                DocumentoRG         = model.DocumentoRG,
                Comissoes           = model.Comissoes != null ? model.Comissoes.Select(c => new ProfissionalComissaoEntidade()
                {
                    idComissaoColaboradorEmpresaSistema = c.ID,
                    decPercentualComissao = c.decPercentualComissao,
                    dtDataInicioVigencia  = c.dtDataInicioVigencia,
                    dtDataFimVigencia     = c.dtDataFimVigencia,
                    vcObservacoes         = c.Observacao
                }).ToArray() : new ProfissionalComissaoEntidade[] { }
            });

            // Return
            return(Ok());
        }
Example #3
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());
        }
Example #4
0
 /// <summary>
 /// Incluir um Profissional
 /// </summary>
 /// <returns>ResumoModel</returns>
 public void IncluirProfissional(ProfissionalCompletoModel proModel)
 {
     this.Post(new Uri($"{ServicoRotas.Base}{ServicoRotas.Profissional.PostProfissional}"), proModel);
 }
Example #5
0
 /// <summary>
 /// Atualiza dados de um Profissional especifico
 /// </summary>
 /// <returns>ResumoModel</returns>
 public void AtualizaDadosProfissional(ProfissionalCompletoModel proModel)
 {
     //return;
     this.Put(new Uri($"{ServicoRotas.Base}{string.Format(ServicoRotas.Profissional.PutProfissional, proModel.ID)}"), proModel);
 }
Example #6
0
        public ActionResult Novo(NovoMotoristaModel model)
        {
            try
            {
                // Validacoes
                //if (model.Comissao != null && model.Comissao.Any())
                //{
                //    model.Comissao.All(x =>
                //    {
                //        if (!DateTime.TryParse(x.VigenciaInicio, out DateTime ini) || !DateTime.TryParse(x.VigenciaFim, out DateTime fim))
                //            throw new Exception($"Preencha datá válida para vigência da comissão.");
                //        else if (DateTime.Parse(x.VigenciaFim) <= DateTime.Now.Date || DateTime.Parse(x.VigenciaFim) < DateTime.Parse(x.VigenciaInicio))
                //            throw new Exception($"A comissão {x.ID} está com a data de vigência final menor que a data atual ou que a vigência inicial, favor atualizar.");
                //        else if (x.ValorComissao == null || x.VigenciaInicio == null || x.VigenciaFim == null)
                //            throw new Exception($"Preencha ao menos uma comissão para o profissional.");
                //        return true;
                //    });
                //}
                //else
                //{
                //    model.Comissao = new NovoMotoristaComissaoModel[] { };
                //    throw new Exception($"Preencha ao menos uma comissão para o profissional.");
                //}
                if (model.VeiculoSelecionado == null || !model.VeiculoSelecionado.Any() || (model.VeiculoSelecionado.Count() == 1 && model.VeiculoSelecionado.FirstOrDefault() == 0))
                {
                    throw new Exception($"Preencha ao menos um tipo de veiculo que o motorista possui ou irá utilizar.");
                }

                // Modelo entidade
                var entidade = new ProfissionalCompletoModel()
                {
                    ID                                    = model.ID,
                    NomeCompleto                          = model.NomeCompleto,
                    Email                                 = model.Email,
                    CelularWpp                            = model.CelularWhatsapp,
                    CPF                                   = model.CpfCnpj,
                    TelefoneResidencial                   = model.TelefoneResidencial,
                    TipoVeiculos                          = model.VeiculoSelecionado.ToArray(),
                    TelefoneCelular                       = model.TelefoneCelular,
                    CNH                                   = model.CNH,
                    ContratoCLT                           = model.TipoRegimeContratacao == RegimeContratacao.CLT ? true : false,
                    Observacao                            = model.Observacao,
                    TipoCNH                               = model.TipoCarteiraMotorista,
                    TipoRegime                            = model.TipoRegimeContratacao,
                    Cep                                   = model.Cep,
                    Rua                                   = model.Rua,
                    Bairro                                = model.Bairro,
                    Cidade                                = model.Cidade,
                    Complemento                           = model.Complemento,
                    EnderecoPrincipal                     = model.EnderecoPrincipal,
                    PontoReferencia                       = model.PontoReferencia,
                    RuaNumero                             = model.RuaNumero,
                    UF                                    = model.UF,
                    DocumentoRG                           = model.DocumentoRG,
                    Senha                                 = model.Senha != null?CriptografiaUtil.Criptografa(model.Senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r") : null,
                                                Status    = model.Situacao,
                                                Comissoes = new ProfissionalComissaoModel[]
                    {
                        new ProfissionalComissaoModel()
                        {
                            ID                    = 1,
                            Observacao            = "",
                            decPercentualComissao = model.ValorComissao.ToDecimalCurrency(),
                            dtDataFimVigencia     = DateTime.Now,
                            dtDataInicioVigencia  = DateTime.Now.AddYears(3000)
                        }
                    }
                };

                // Alteração
                if (model.EdicaoCadastro)
                {
                    profissionalServico.AtualizaDadosProfissional(entidade); // Atualiza dados do profissional
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(model.Senha))
                    {
                        throw new Exception($"Na inclusão de um motorista, o campo SENHA é de preenchimento obrigatório.");
                    }
                    profissionalServico.IncluirProfissional(entidade); // Atualiza dados do profissional
                }

                this.MensagemSucesso("Profissional atualizado com sucesso.");

                // Return
                return(View(new NovoMotoristaModel()
                {
                    EdicaoCadastro = false,
                    ID = 0,
                    Bairro = "",
                    Senha = "",
                    Email = "",
                    Comissao = new NovoMotoristaComissaoModel[]
                    {
                        MontaComissaoPadrao()
                    }
                }));
            }
            catch (Exception e)
            {
                this.TrataErro(e);
                return(View(model));
            }
        }