예제 #1
0
        public void Remover() // Remove a primeira vaga da fila.
        {
            if (Vazia())
            {
                throw new Exception("Não ha vagas disponíveis nesta área.");
            }

            VagaPrim.VagaProx = VagaPrim.VagaProx; // Aponta para o proximo da fila.
            if (VagaPrim.VagaProx == null)         // Se fila Vazia => alterar VagaUlt para lista vazia.
            {
                VagaUlt = VagaPrim;
            }

            vagaPrim.VagaProx = vagaPrim.VagaProx.VagaProx; // Aponta para o proximo da fila.
            if (vagaPrim.VagaProx == null)                  // Se fila Vazia => alterar vagaUlt para lista vazia.
            {
                vagaUlt = vagaPrim;
            }

            // Deleta primeira linha do arquivo de texto.
            string arquivo = vagaPrim.Area + ".txt";
            var    lines   = File.ReadAllLines(arquivo).Skip(1);

            File.Delete(arquivo);
            File.WriteAllLines(arquivo, lines);
        }
예제 #2
0
        //Métodos
        public void Adicionar(DateTime Validade, string Area, string Escolaridade, double Salario, string NomeEmpresa) // Adiciona vaga no final da fila.
        {
            Vagas NovaVaga = new Vagas(Validade, Area, Escolaridade, Salario, NomeEmpresa);

            vagaUlt.VagaProx = NovaVaga;
            vagaUlt          = NovaVaga;

            // Adiciona no arquivo uma linha com os dados da nova vaga.
            string arquivo = Area + ".txt";

            using (StreamWriter writer = new StreamWriter(arquivo, true))
                writer.WriteLine(Validade + "-" + Area + "-" + Escolaridade + "-" + Salario + "-" + NomeEmpresa);
        }
예제 #3
0
        public List <Vagas> Buscar(string NomeEmpresa) // Retorna lista de vagas da empresa informada.
        {
            Vagas        Aux    = vagaPrim.VagaProx;
            List <Vagas> result = new List <Vagas>();

            while (Aux != null)
            {
                if (Aux.NomeEmpresa == NomeEmpresa)
                {
                    result.Add(Aux);
                }
                Aux = Aux.VagaProx;
            }
            return(result);
        }
예제 #4
0
        public override string ToString() // Não sei se esse método vai funcionar, tentei copiar de um exemplo do Prof.
        {
            if (Vazia())
            {
                return(null);
            }
            StringBuilder print = new StringBuilder();
            Vagas         Aux   = VagaPrim.VagaProx;

            while (Aux != null)
            {
                print.AppendLine(Aux.ToString());
                Aux = Aux.VagaProx;
            }
            return(print.ToString());
        }
예제 #5
0
 //Construtor
 public FilaVagas(string Area)
 {
     VagaPrim = new Vagas(Area);
     VagaUlt  = VagaPrim;
 }