/// <summary> /// Altera uma das propriedades do utente na lista /// </summary> /// <param name="u">Utente</param> /// <param name="altera">Propriedade a alterar</param> /// <param name="novo">Nova propriedade</param> /// <returns>true(caso o utente exista na lista de utentes e a propriedade tenha sido alterada)/ false (caso o utente não exista na lista de utentes) </returns> public static bool ChangeUtente(Utente u, int altera, string novo) { //tenta executar o seguinte código try { //variáveis de auxilio a conversões (ex: int.TryParse(novo, out todosUtentes[i].NumUtente é inválido) int a; float b; bool c; //verifica se a lista contém o utente desejado if (todosUtentes.Contains(u)) { //variável que indica a posição do utente u na lista de utentes int i = todosUtentes.IndexOf(u); switch (altera) { case 1: //caso deseje alterar o nome todosUtentes[i].Nome = novo; // iguala a string inserida ao nome do utente desejado break; case 2: //caso deseje alterar o nº de utente int.TryParse(novo, out a); //converte a string "novo" para o inteiro "a" todosUtentes[i].NumUtente = a; //iguala o inteiro "a" ao nº de utente do utente desejado break; case 3: DateTime aux; DateTime.TryParse(novo, out aux); //converte a string "novo" para o DateTime "aux" if (DateTime.TryParse(novo, out aux) == true) //verifica se a conversão foi um sucesso { todosUtentes[i].DataNasc = aux; ////iguala o DateTime "aux" à data de nascimento do utente desejado } break; case 4: //caso deseje alterar o peso do utente float.TryParse(novo, out b); //converte a string "novo" para o float "b" todosUtentes[i].Peso = b; //iguala o float "b" ao peso do utente desejado break; case 5: //caso deseje alterar a altura do utente float.TryParse(novo, out b); //converte a string "novo" para o float "b" todosUtentes[i].Altura = b; //iguala o float "b" à altura do utente desejado break; case 6: //caso deseje alterar a morada do utente todosUtentes[i].Morada = novo; //iguala a string "novo" à morada do utente desejado break; case 7: //caso deseje alterar o estado do seguro do utente bool.TryParse(novo, out c); //converte a string "novo" para o booleano "c" todosUtentes[i].Seguro = c; //iguala o booleano "c" ao estado de seguro do utente desejado break; default: break; } } else { return(false); } return(true); } catch (InsereException e) { throw e; } }