示例#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)
                           ));
            }
        }