/// <summary>
        /// Exibe login do operador e pede usuário e senha
        /// </summary>
        /// <param name="pListOperadores">Lista de operadores</param>
        /// <returns></returns>
        public LoginOutput ExecutaLogin(string pUsername, string pSenha)
        {
            User usuario      = null;
            bool senhaCorreta = false;

            usuario = BuscaUsuario(pUsername);
            if (usuario != null)
            {
                senhaCorreta = Password.CompararSenhas(pSenha, usuario.Salt, usuario.Senha);
            }
            else
            {
                return(LoginOutput.UserNotFound);
            }

            if (senhaCorreta) //faz login
            {
                this.UsuarioLogado = usuario;
                logger.Trace($"Usuário {pUsername} fez login.");
                return(LoginOutput.Succeeded);
            }
            else
            {
                return(LoginOutput.WrongPassword);
            }
        }
        /// <summary>
        /// Verifica senha antiga inserida e troca pela senha nova
        /// </summary>
        /// <param name="pSenhaAntiga"></param>
        /// <param name="pSenhaNova"></param>
        /// <returns></returns>
        public bool AlterarSenha(string pSenhaAntiga, string pSenhaNova)
        {
            if (!Password.CompararSenhas(pSenhaAntiga, this.Salt, this.Senha))
            {
                Console.WriteLine("Senha incorreta!");
                return(false);
            }

            this.Senha = Password.GenerateSaltedHash(pSenhaNova, this.Salt);
            return(true);
        }