Beispiel #1
0
        //recuperar senha etapa1
        public async Task <Models.TbLogin> VerificarEmailRecuperarSenha(Models.Request.EmailRequest.EmailRecuperarSenha request, string codigo)
        {
            Models.TbLogin   login  = new Models.TbLogin();
            Models.TbCliente tabela = context.TbCliente.Include(x => x.IdLoginNavigation)
                                      .FirstOrDefault(x => x.DsEmail == request.Email);

            Models.TbFuncionario tabelaFuncionario = context.TbFuncionario.Include(x => x.IdLoginNavigation)
                                                     .FirstOrDefault(x => x.DsEmail == request.Email);
            if (tabela != null)
            {
                tabela.IdLoginNavigation.DsCodigoVerificacao = codigo;
                tabela.IdLoginNavigation.DtCodigoVerificacao = DateTime.Now;
                login = await ConsultarLoginPorId(tabela.IdLogin);
            }

            else if (tabelaFuncionario != null)
            {
                tabelaFuncionario.IdLoginNavigation.DsCodigoVerificacao = codigo;
                tabelaFuncionario.IdLoginNavigation.DtCodigoVerificacao = DateTime.Now;
                login = await ConsultarLoginPorId(tabelaFuncionario.IdLogin);
            }

            else
            {
                throw new ArgumentException("Esse email ainda não esta cadastrado.");
            }
            await context.SaveChangesAsync();

            return(login);
        }
Beispiel #2
0
        public ActionResult <Models.Response.InformacoesContaUsuarioResponse> ProcurarContaUsuario(string email)
        {
            try
            {
                Models.TbLogin login = business.PegarLoginUsuario(email);


                if (login.DsPerfil == "Cliente")
                {
                    int idLogin = login.IdLogin;
                    Models.TbCliente cliente = business.RetornarCliente(idLogin);
                    Models.Response.InformacoesContaUsuarioResponse infoResponse = new Models.Response.InformacoesContaUsuarioResponse();
                    return(conversor.ParaInfoContaResponse(cliente));
                }

                else
                {
                    int idLogin = login.IdLogin;
                    Models.TbFuncionario funcionario = business.RetornarFuncionario(idLogin);
                    Models.Response.InformacoesContaUsuarioResponse infoResponse = new Models.Response.InformacoesContaUsuarioResponse();
                    return(conversor.ParaInfoContaResponse(funcionario));
                }
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
Beispiel #3
0
        public void AlterarSenhaCliente(string novaSenha, int idUsuario)
        {
            Models.TbCliente cliente = this.PegarInformacoesCliente(idUsuario);

            cliente.IdLoginNavigation.DsSenha = novaSenha;
            ctx.SaveChanges();
        }
Beispiel #4
0
 public Models.TbCliente DeletarCliente(int idClinte)
 {
     Models.TbCliente Cliente = this.Consultar(idClinte);
     bd.Remove(Cliente);
     bd.SaveChanges();
     return(Cliente);
 }
Beispiel #5
0
        public Models.TbCliente InserirCliente(Models.TbCliente cliente)
        {
            bd.Add(cliente);
            bd.SaveChanges();

            return(cliente);
        }
        [HttpPost] // Cliente
        public ActionResult <Models.Response.ClienteResponse> Cadastrar([FromForm] Models.Request.ClienteRequest req)
        {
            try
            {
                if (req.Imagem != null)
                {
                    Console.WriteLine("Começou");
                    Models.TbCliente client = conv.ParaTabela(req);
                    client.DsImagem = foto.GerarNovoNome(req.Imagem.FileName);
                    Console.WriteLine("Salvar foto");
                    client = buss.Cadastrar(client, req.Email, req.Senha);
                    foto.salvarFoto(client.DsImagem, req.Imagem);

                    return(conv.ParaResponse(client));
                }
                else
                {
                    throw new ArgumentException("Não possui imagem");
                }
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(
                           new Models.Response.ErrorResponse(ex.Message, 400)
                           ));
            }
        }
Beispiel #7
0
        public async Task <ActionResult <Models.Response.ClienteResponse> > CadastrarCliente(int idcliente, [FromForm] Models.Request.ClienteRequest.Cliente request)
        {
            try
            {
                Models.TbCliente tabela = conversor.ParaTabelAlteraCliente(request);

                if (request.foto != null)
                {
                    tabela.DsFoto = gerenciadorFoto.GerarNovoNome(request.foto.FileName);
                }

                tabela = await business.AlterarCliente(idcliente, tabela);

                if (request.foto != null)
                {
                    gerenciadorFoto.SalvarFile(tabela.DsFoto, request.foto);
                }

                return(conversor.ParaResponseCliente(tabela));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(400, ex.Message)));
            }
        }
        public Models.Response.TestDriveResponse.Login ParaResponseLogin(Models.TbCliente tb, Models.TbFuncionario tb2, string descricao)
        {
            Models.Response.TestDriveResponse.Login usuario = new Models.Response.TestDriveResponse.Login();


            if (descricao == "Cliente" && tb != null)
            {
                usuario.IdLogin            = tb.IdLoginNavigation.IdLogin;
                usuario.UserName           = tb.IdLoginNavigation.DsUsername;
                usuario.Descricao          = "usuario comum";
                usuario.IdCliente          = tb.IdCliente;
                usuario.Nome               = tb.NmCliente;
                usuario.ClienteFuncionario = descricao;
                usuario.IdFuncionario      = 0;
            }
            else if (descricao == "Funcionário" && tb2 != null)
            {
                usuario.IdCliente          = 0;
                usuario.UserName           = tb2.IdLoginNavigation.DsUsername;
                usuario.Descricao          = tb2.IdLoginNavigation.DsPerfil;
                usuario.IdLogin            = tb2.IdLoginNavigation.IdLogin;
                usuario.Nome               = tb2.NmFuncionario;
                usuario.ClienteFuncionario = descricao;
                usuario.IdFuncionario      = tb2.IdFuncionario;
            }


            return(usuario);
        }
        public ActionResult <Models.Response.SucessoResponse> AlterarInformacoesCliente([FromForm] Models.Request.InformacoesClienteRequest informacoesRequest, int idUsuario)
        {
            try
            {
                Models.TbLogin   login   = conversorInfoUsuario.ParaTbLogin(informacoesRequest);
                Models.TbCliente cliente = conversorInfoUsuario.ParaTbCliente(informacoesRequest, idUsuario);

                if (informacoesRequest.ImagemUsuario != null)
                {
                    cliente.DsFoto = gerenciadorFotoBusiness.GerarNovoNome(informacoesRequest.ImagemUsuario.FileName);
                }

                business.AlterarInformacoesCliente(login, cliente);

                if (informacoesRequest.ImagemUsuario != null)
                {
                    gerenciadorFotoBusiness.SalvarFoto(cliente.DsFoto, informacoesRequest.ImagemUsuario);
                }

                return(new Models.Response.SucessoResponse(200, "Alterado Com Sucesso."));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
Beispiel #10
0
        public Models.TbCliente RetornarCliente(int idLogin)
        {
            Models.TbCliente cliente = ctx.TbCliente.Include(x => x.IdLoginNavigation)
                                       .FirstOrDefault(x => x.IdLogin == idLogin);

            return(cliente);
        }
Beispiel #11
0
 public Models.TbCliente InserirCliente(Models.TbCliente cliente, int idLogin)
 {
     cliente.IdLogin = idLogin;
     ctx.TbCliente.Add(cliente);
     ctx.SaveChanges();
     return(cliente);
 }
        public Models.TbCliente Salvar(Models.TbCliente cl)
        {
            db.Add(cl);
            db.SaveChanges();

            return(cl);
        }
Beispiel #13
0
        public Models.TbCliente PegarInformacoesCliente(int?idCliente)
        {
            Models.TbCliente cliente = ctx.TbCliente.Include(x => x.IdLoginNavigation)
                                       .FirstOrDefault(x => x.IdCliente == idCliente);

            return(cliente);
        }
Beispiel #14
0
        public Models.TbLogin ReceberModelos(Models.TbLogin login, Models.TbCliente cliente)
        {
            Models.TbLogin loginCadastrado = InserirLogin(login);

            InserirCliente(cliente, loginCadastrado.IdLogin);

            return(dbLogin.PegarLoginUsuario(loginCadastrado.DsEmail, loginCadastrado.DsSenha));
        }
Beispiel #15
0
        public async Task <Models.TbCliente> Cadastrar(Models.TbCliente cliente)
        {
            await ctx.AddAsync(cliente);

            await ctx.SaveChangesAsync();

            return(cliente);
        }
Beispiel #16
0
        public bool VerSeASenhaAtualEstaCertaCliente(string senhaPassada, int idUsuario)
        {
            Models.TbCliente cliente           = this.PegarInformacoesCliente(idUsuario);
            string           senhaAtualDoBanco = cliente.IdLoginNavigation.DsSenha;
            bool             mesmaSenha        = senhaAtualDoBanco == senhaPassada;

            return(mesmaSenha);
        }
Beispiel #17
0
        public async Task <Models.TbCliente> CadastrarCliente(Models.TbCliente tabela)
        {
            await context.AddAsync(tabela);

            await context.SaveChangesAsync();

            return(tabela);
        }
Beispiel #18
0
 public Models.TbCliente Consultar(int id)
 {
     Models.TbCliente login = db.ConsultarLogin(id);
     if (login == null)
     {
         throw new ArgumentException("ID incorreto");
     }
     return(db.ConsultarLogin(login.IdLogin));
 }
Beispiel #19
0
 public void ValidarCliente(Models.TbCliente tabela)
 {
     ValidarTexto(tabela.DsEmail, "E-mail");
     ValidarTexto(tabela.DsCpf, "Cpf");
     ValidarTexto(tabela.NmCliente, "Nome");
     ValidarTexto(tabela.IdLoginNavigation.NmUsuario, "Nome de usuario");
     ValidarTexto(tabela.IdLoginNavigation.DsSenha, "Senha");
     this.ValidarCadastroCliente(tabela, tabela.IdLoginNavigation);
 }
        public string PegarEmailUsuario(int?idCliente)
        {
            Models.TbCliente cliente = ctx.TbCliente.Include(x => x.IdLoginNavigation)
                                       .FirstOrDefault(x => x.IdCliente == idCliente);

            string email = cliente.IdLoginNavigation.DsEmail;

            return(email);
        }
Beispiel #21
0
        public async Task <Models.TbCliente> DeletarCliente(int id)
        {
            Models.TbCliente tabela = await ConsultarClientePorId(id);

            context.TbCliente.Remove(tabela);
            await context.SaveChangesAsync();

            return(tabela);
        }
Beispiel #22
0
        public Models.TbCliente ParaTabelaCadastro(Models.Request.CadastrarCliente req)
        {
            Models.TbCliente cliente = this.ParaTabela(req);

            cliente.QtPontos = 0;
            cliente.IdUsuarioNavigation.IdLoginNavigation.DsPerfil = "cliente";

            return(cliente);
        }
Beispiel #23
0
        public Models.TbCliente Deletar(Models.TbCliente tb)
        {
            ctx.TbCliente.Remove(tb);
            ctx.SaveChanges();

            ctx.TbLogin.Remove(tb.IdLoginNavigation);
            ctx.SaveChanges();

            return(tb);
        }
Beispiel #24
0
        public Models.TbCliente Deletar(int id)
        {
            Models.TbCliente cliente = db.ConsultarCliente(id);

            if (cliente == null)
            {
                throw new ArgumentException("Cliente não existe");
            }
            return(db.Deletar(cliente));
        }
Beispiel #25
0
 public void ValidarClienteExiste(int id)
 {
     ValidarId(id);
     Models.db_next_gen_booksContext context = new Models.db_next_gen_booksContext();
     Models.TbCliente tabela = context.TbCliente.FirstOrDefault(x => x.IdCliente == id);
     if (tabela == null)
     {
         throw new ArgumentException("Cliente nao encontrado");
     }
 }
        public Models.Response.ClienteResponse.PerfilResponse perfil(int idlogin)
        {
            Models.TccContext db = new Models.TccContext();
            Utils.FuncoesClienteUtils.HistoricoCompraUtils convert = new Utils.FuncoesClienteUtils.HistoricoCompraUtils();

            Models.TbCliente cliente = db.TbCliente.First(x => x.IdLogin == idlogin);
            Models.Response.ClienteResponse.PerfilResponse retorno = convert.convertperfil(cliente);

            return(retorno);
        }
        public Models.TbCliente TirarEspacosDosCamposCliente(Models.TbCliente cliente)
        {
            if (!string.IsNullOrEmpty(cliente.DsCnh) && !string.IsNullOrEmpty(cliente.NmCliente))
            {
                cliente.DsCnh     = cliente.DsCnh.Trim();
                cliente.NmCliente = cliente.NmCliente.Trim();
            }

            return(cliente);
        }
Beispiel #28
0
        public Models.TbLogin CadastrarCliente(Models.TbLogin tbLogin, Models.TbCliente tbCliente)
        {
            //Validações do Login
            tbLogin.DsEmail = tbLogin.DsEmail.Trim();

            validador.ValidarEmail(tbLogin.DsEmail);

            if (dbCadastro.ConfirmarSeJaTemOMesmoEmailCadastrado(tbLogin.DsEmail))
            {
                throw new ArgumentException("Esse e-mail já está cadastrado em nosso sistema.");
            }

            validador.ValidarForcaDaSenha(tbLogin.DsSenha);



            //Validações do Cliente

            tbCliente.NmCliente  = tbCliente.NmCliente.Trim();
            tbCliente.DsCep      = tbCliente.DsCep.Trim();
            tbCliente.DsTelefone = tbCliente.DsTelefone.Trim();
            tbCliente.DsCpf      = tbCliente.DsCpf.Trim();

            validador.ValidarNome(tbCliente.NmCliente);

            validador.ValidarStrings(tbCliente.DsSexo, "sexo");

            validador.ValidarData(tbCliente.DtNascimento);

            validador.ValidarCpf(tbCliente.DsCpf);

            validador.ValidarCep(tbCliente.DsCep);

            if (string.IsNullOrEmpty(tbCliente.DsLougradouro))
            {
                throw new ArgumentException("O CEP está incorreto.");
            }

            if (tbCliente.NrResidenical < 0)
            {
                throw new ArgumentException("O número residencial não pode ser negativo.");
            }

            if (tbCliente.NrResidenical == 0)
            {
                throw new ArgumentException("O número residencial é obrigatório.");
            }

            if (tbCliente.DsTelefone.Length < 11)
            {
                throw new ArgumentException("O número telefônico está incorreto.");
            }

            return(dbCadastro.ReceberModelos(tbLogin, tbCliente));
        }
Beispiel #29
0
        public Models.TbCliente ParaTbCliente(Models.Request.CadastroClienteRequest request)
        {
            Models.TbCliente cliente = new Models.TbCliente();
            cliente.DsCnh        = request.CNH;
            cliente.DsCpf        = request.CPF;
            cliente.DsTelefone   = request.Telefone;
            cliente.DtNascimento = request.DataNascimento;
            cliente.NmCliente    = request.Nome;

            return(cliente);
        }
Beispiel #30
0
 public void GerenciarValidacoesAlterarDadosCliente(Models.TbLogin login, Models.TbCliente cliente)
 {
     login   = validadorSituacoes.TirarEspacosDosCamposLogin(login);
     cliente = validadorSituacoes.TirarEspacosDosCamposCliente(cliente);
     this.ValidarNome(cliente.NmCliente);
     this.ValidarNascimento(cliente.DtNascimento);
     this.ValidarCnh(cliente.DsCnh);
     this.ValidarCpf(cliente.DsCpf);
     this.ValidarTelefone(cliente.DsTelefone);
     validadorSituacoes.ValidarEmail(login.DsEmail);
 }