public async Task <IActionResult> AutorizarSolicitacao(int id, string login, string senha, int roleId) { if (!await usuarioRepository.AuthenticateUser(login, senha)) { return(Unauthorized("Usuario ou senha invalidos")); } var solicitacao = await solicitacaoCadastroRespository.GetById(id); var userLdap = await ldapRepository.GetUser(login, senha, solicitacao.Email); if (userLdap == null && solicitacao.Email.Contains(".com.br")) { userLdap = await ldapRepository.GetUser(login, senha, solicitacao.Email.Replace(".com.br", ".cloud")); } if (userLdap == null && solicitacao.Email.Contains(".cloud")) { userLdap = await ldapRepository.GetUser(login, senha, solicitacao.Email.Replace(".cloud", ".com.br")); } if (userLdap == null) { return(NotFound("Não foi encontrado um funcionário com esse email")); } var verifyUsuario = await usuarioRepository.GetUserByEmail(solicitacao.Email); if (verifyUsuario == null && solicitacao.Email.Contains(".com.br")) { verifyUsuario = await usuarioRepository.GetUserByEmail(solicitacao.Email.Replace(".com.br", ".cloud")); } if (verifyUsuario == null && solicitacao.Email.Contains(".cloud")) { verifyUsuario = await usuarioRepository.GetUserByEmail(solicitacao.Email.Replace(".cloud", ".com.br")); } if (verifyUsuario == null) { verifyUsuario = await usuarioRepository.CreateUser(userLdap.Name, userLdap.Login, userLdap.Email, roleId); } else { verifyUsuario = await usuarioRepository.RecreateUser(verifyUsuario.Id, userLdap.Name, userLdap.Login, userLdap.Email, roleId, verifyUsuario.Token); } await solicitacaoCadastroRespository.Delete(id); return(Ok(verifyUsuario)); }
public async Task <IActionResult> Create(string login, string senha, UsuarioRequestCreate usuario) { if (!await usuarioRepository.AuthenticateUser(login, senha)) { return(Unauthorized("Usuario ou senha invalidos")); } var userLdap = await ldapRepository.GetUser(login, senha, usuario.Email); if (userLdap == null && usuario.Email.Contains("globalweb.com.br")) { userLdap = await ldapRepository.GetUser(login, senha, usuario.Email.Replace(".com.br", ".cloud")); } if (userLdap == null && usuario.Email.Contains("globalweb.cloud")) { userLdap = await ldapRepository.GetUser(login, senha, usuario.Email.Replace(".cloud", ".com.br")); } if (userLdap == null) { return(NotFound("Não foi encontrado um funcionário com esse email")); } var verifyUsuario = await usuarioRepository.GetUserByEmail(usuario.Email); if (verifyUsuario == null && usuario.Email.Contains("globalweb.com.br")) { verifyUsuario = await usuarioRepository.GetUserByEmail(usuario.Email.Replace(".com.br", ".cloud")); } if (verifyUsuario == null && usuario.Email.Contains("globalweb.cloud")) { verifyUsuario = await usuarioRepository.GetUserByEmail(usuario.Email.Replace(".cloud", ".com.br")); } if (verifyUsuario == null) { await usuarioRepository.CreateUser(userLdap.Name, userLdap.Login, userLdap.Email, usuario.RoleId); } else { await usuarioRepository.RecreateUser(verifyUsuario.Id, userLdap.Name, userLdap.Login, userLdap.Email, usuario.RoleId, verifyUsuario.Token); } return(Ok()); }