Beispiel #1
0
        public async Task <ActionResult <Models.Response.AcessoResponse> > Acessar(Models.Request.AcessoRequest request)
        {
            try
            {
                Models.TbLogin login = await business.ConsultarLoginBusiness(request.user, request.senha);

                string perfil;
                int    idpessoa;

                if (login.TbCliente.FirstOrDefault(x => x.IdLogin == login.IdLogin) != null)
                {
                    idpessoa = login.TbCliente.FirstOrDefault(x => x.IdLogin == login.IdLogin).IdCliente;
                    perfil   = "cliente";
                }
                else
                {
                    idpessoa = login.TbFuncionario.FirstOrDefault(x => x.IdLogin == login.IdLogin).IdFuncionario;
                    perfil   = "funcionario";
                }

                string token = business.GerarToken(login, idpessoa);

                Models.Response.AcessoResponse response = acessoConversor.Conversor(login.NmUsuario, token, idpessoa, perfil);

                return(response);
            }
            catch (System.Exception ex)
            {
                return(NotFound(
                           new Models.Response.ErroResponse(404, ex.Message)
                           ));
            }
        }
Beispiel #2
0
        public Models.Response.AcessoResponse Conversor(string user, string token, int idpessoa, string perfil)
        {
            Models.Response.AcessoResponse response = new Models.Response.AcessoResponse();

            response.nome   = user;
            response.token  = token;
            response.id     = idpessoa;
            response.perfil = perfil;

            return(response);
        }
Beispiel #3
0
        public async Task <ActionResult <Models.TbCliente> > ValidarUserController(Models.Response.AcessoResponse acesso)
        {
            try
            {
                Models.TbCliente cliente = await business.ValidarUser(acesso);

                return(cliente);
            }
            catch (System.Exception ex)
            {
                return(NotFound(
                           new Models.Response.ErroResponse(404, ex.Message)
                           ));
            }
        }
Beispiel #4
0
        public async Task <Models.TbCliente> ValidarUser(Models.Response.AcessoResponse acesso)
        {
            Models.TbLogin login = await database.ConsultarPerfil(acesso.nome, acesso.perfil);

            string descript = LerToken(login, acesso.token);

            string [] dados = descript.Split("$|$").ToArray();

            if (dados[1] == login.NmUsuario && System.Convert.ToInt32(dados[2]) == login.IdLogin && dados[3] == "Next-Gen-Books" && login.TbCliente != null)
            {
                if (login.TbCliente.FirstOrDefault(x => x.IdLogin == Convert.ToInt32(dados[0])).IdCliente == Convert.ToInt32(dados[0]))
                {
                    return(login.TbCliente.First());
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }