Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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());
        }