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) )); } }
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); }
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) )); } }
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); } }