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); }
//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); }
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); }
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()); }
//Construtor public FilaVagas(string Area) { VagaPrim = new Vagas(Area); VagaUlt = VagaPrim; }