Ejemplo n.º 1
0
        public ActionResult Registrar(RegistrarUsuarioModel model)
        {
            // Cadastra Cliente Externo
            if (ModelState.IsValid)
            {
                try
                {
                    ViewBag.ErroLogin = "";
                    // Verifica Senha
                    if (model.Senha != model.SenhaConfirm)
                    {
                        ViewBag.ErroLogin  = "******";
                        model.Senha        = "";
                        model.SenhaConfirm = "";
                        return(View(model));
                    }

                    // Incluir Cliente
                    clienteServico.IncluirClienteAvulso(new ClienteAvulsoDTO()
                    {
                        Nome                  = model.Nome,
                        Email                 = model.Email,
                        DataNascimento        = model.DataNascimento ?? default(DateTime),
                        Celular               = model.Celular,
                        Comercial             = model.Comercial,
                        CPF                   = model.CPF,
                        CEP                   = model.CEP,
                        Rua                   = model.Rua,
                        Bairro                = model.Bairro,
                        Cidade                = model.Cidade,
                        Estado                = model.Estado.ToString(),
                        NomeCartaoCredito     = model.NomeCartaoCredito,
                        Numero                = model.Numero ?? 0,
                        NumeroCartaoCredito   = model.NumeroCartaoCredito.Replace(".", ""),
                        Pais                  = model.Pais,
                        Senha                 = CriptografiaUtil.Criptografa(model.Senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r"),
                        Sexo                  = model.Sexo.ToString(),
                        ValidadeCartaoCredito = model.ValidadeCartaoCredito
                    });

                    ViewBag.ErroLogin        = string.Empty;
                    TempData["SucessoLogin"] = $"Bem vindo, {model.Nome}, cadastro realizado com sucesso";
                }
                catch (Exception e)
                {
                    ViewBag.ErroLogin = e.Message;
                    return(View(model));
                }
                return(RedirectToAction("Login", "Home"));
            }
            else
            {
                return(View());
            }
        }
Ejemplo n.º 2
0
        public TokenModel Autenticar(string usuario, string senha)
        {
            // HttpClient
            using (var httpClient = new HttpClient()
            {
                BaseAddress = new Uri(ServicoRotas.Base)
            })
            {
                // Parametros
                var parametros = new KeyValuePair <string, string>[]
                {
                    new KeyValuePair <string, string>("username", usuario),
                    new KeyValuePair <string, string>("password", CriptografiaUtil.Criptografa(senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r")),
                    new KeyValuePair <string, string>("grant_type", "password"),
                    new KeyValuePair <string, string>("Modulo", "Mobile"),
                    new KeyValuePair <string, string>("area", "2"),
                };

                // Requisiçao
                var requisicao = new HttpRequestMessage(HttpMethod.Post, ServicoRotas.Base + ServicoRotas.Autenticacao.PostAutenticar)
                {
                    Content = new FormUrlEncodedContent(parametros)
                };

                // Resposta
                var resposta = httpClient.SendAsync(requisicao).Result;

                // Content
                var conteudo = resposta.Content;

                // Validação
                switch (resposta.StatusCode)
                {
                case System.Net.HttpStatusCode.OK:
                    // Deserialize usuario autentidado
                    var autenticado = JsonConvert.DeserializeObject <TokenModel>(conteudo.ReadAsStringAsync().Result);
                    // Sessao
                    GlobalVariablesManager.SetApplicationCurrentProperty(GlobalVariablesManager.VariaveisGlobais.Token, autenticado.access_token);
                    // Return model
                    return(autenticado);

                case System.Net.HttpStatusCode.Unauthorized:
                    throw new ErrorException("Usuário desativado ou sem permissão de acesso.");

                default:
                    throw new ErrorException(DeserializaResponse(resposta, Mensagem.Erro.ErroPadrao));
                }
            }
        }
Ejemplo n.º 3
0
        private async Task GravaUsuario()
        {
            // Database
            using (var db = new Database())
            {
                await db.LimpaTabela("BHJetMotorista");

                await db.InsereItem(new UsuarioLogado()
                {
                    IDMotorista = usuarioAutenticado.IDProfissional,
                    usuario     = Login.Username,
                    senha       = CriptografiaUtil.Criptografa(Login.Password, protSenha)
                });
            }
        }
Ejemplo n.º 4
0
        public TokenModel Autenticar(AutenticacaoFiltro filtro)
        {
            // HttpClient
            using (var httpClient = new HttpClient()
            {
                BaseAddress = new Uri(ServicoRotas.Base)
            })
            {
                // Parametros
                var parametros = new KeyValuePair <string, string>[]
                {
                    new KeyValuePair <string, string>("username", filtro.usuario),
                    new KeyValuePair <string, string>("password", CriptografiaUtil.Criptografa(filtro.senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r")),
                    new KeyValuePair <string, string>("grant_type", "password"),
                    new KeyValuePair <string, string>("Modulo", "Web")
                    //new KeyValuePair<string, string>("area", ((int)filtro.area).ToString()),
                };

                // Requisiçao
                var requisicao = new HttpRequestMessage(HttpMethod.Post, ServicoRotas.Base + ServicoRotas.Autenticacao.PostAutenticar)
                {
                    Content = new FormUrlEncodedContent(parametros)
                };

                // Resposta
                var resposta = httpClient.SendAsync(requisicao).Result;

                // Content
                var conteudo = resposta.Content;

                // Validação
                switch (resposta.StatusCode)
                {
                case System.Net.HttpStatusCode.OK:
                    return(JsonConvert.DeserializeObject <TokenModel>(conteudo.ReadAsStringAsync().Result));

                case System.Net.HttpStatusCode.Unauthorized:
                    throw new UnauthorizedAccessException();

                default:
                    var teste = DeserializaResponse(resposta, Mensagem.Erro.ErroPadrao);
                    throw new UnauthorizedAccessException(teste);
                }
            }
        }
Ejemplo n.º 5
0
        public string ResetaSenhaUsuario(long idusu)
        {
            using (var sqlConnection = this.InstanciaConexao())
            {
                // Gera senha
                var    senha   = GeraSenhaAleatoria();
                byte[] senhabt = RetornaSenhaEncriptada(CriptografiaUtil.Criptografa(senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r"));

                // Query
                string query = @"UPDATE tblUsuarios set vbPassword = @_senha where idUsuario = @_id";

                // Execução
                sqlConnection.ExecuteScalar(query, new
                {
                    _id    = idusu,
                    _senha = senhabt
                });

                // return
                return(senha);
            }
        }
Ejemplo n.º 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));
            }
        }