public IHttpActionResult PrimeiroAcesso(UsuarioDTO usuario) { if (usuario == null) { return(BadRequest("Usuário não informado!")); } usuario.Login = usuario.Login.ToLower(); bool usuarioExiste = usuariosService.UsuarioExiste(usuario.Login); Funcionario funcionario; if (!usuarioExiste) { if (!funcionariosService.FuncionarioExiste(usuario.MatriculaFuncionario, usuario.CodigoEmpresa)) { return(BadRequest($"Matrícula {usuario.MatriculaFuncionario} não cadastrada!")); } funcionario = funcionariosService.GetFuncionario(usuario.MatriculaFuncionario, usuario.CodigoEmpresa); funcionario.Email = usuario.Email; funcionariosService.AddOrUpdateFuncionario(funcionario); Usuario novoUsuario = new Usuario { Login = usuario.Login, FuncionarioId = funcionario.Id, Nome = funcionario.Nome, Perfil = Perfil.ELEITOR, Senha = CryptoGraph.Encrypt(usuario.Senha) }; usuariosService.AddOrUpdateUsuario(novoUsuario); return(Ok()); } if (!funcionariosService.FuncionarioExiste(usuario.MatriculaFuncionario, usuario.CodigoEmpresa)) { return(BadRequest($"Matrícula {usuario.MatriculaFuncionario} não cadastrada!")); } funcionario = funcionariosService.GetFuncionario(usuario.MatriculaFuncionario, usuario.CodigoEmpresa); funcionario.Email = usuario.Email; funcionariosService.AddOrUpdateFuncionario(funcionario); Usuario usuarioDB = usuariosService.GetUsuario(usuario.Login); usuarioDB.Senha = CryptoGraph.Encrypt(usuario.Senha); usuariosService.AddOrUpdateUsuario(usuarioDB); return(Ok()); }