Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Iron.cli;
- import java.util.Iterator;
- import java.util.Scanner;
- import org.overture.codegen.runtime.VDMSeq;
- import org.overture.codegen.runtime.VDMSet;
- import Iron.model.Utilizador;
- import Iron.model.ValorNutricional;
- import Iron.model.Consulta;
- import Iron.model.Exercicio;
- import Iron.model.Horario;
- import Iron.model.IronTrainers;
- import Iron.model.IronUtils;
- import Iron.model.IronUtils.Data;
- import Iron.model.IronUtils.Genero;
- import Iron.model.IronUtils.Hora;
- import Iron.model.IronUtils.SeqOfChar;
- import Iron.model.Medidas;
- import Iron.model.PersonalTrainer;
- import Iron.model.Plano_de_treino;
- import Iron.model.Refeicao;
- import Iron.quotes.femininoQuote;
- import Iron.quotes.masculinoQuote;
- public class IronTrainersMenu {
- private IronTrainers ironTrainers;
- private femininoQuote female = new femininoQuote();
- private masculinoQuote male = new masculinoQuote();
- public IronTrainersMenu() {
- ironTrainers = new IronTrainers();
- database();
- }
- public void database() {
- //create valorNutrionais
- Number n1 = 150;
- Number n2 = 13.5;
- Number n3 = 300;
- Number n4 = 3.5;
- ironTrainers.addValorNutricional(new ValorNutricional(n1,n2, new SeqOfChar("panados com pao"),true));
- ironTrainers.addValorNutricional(new ValorNutricional(n3,n4, new SeqOfChar("panados com bifanas"),true));
- //create a default PT
- ironTrainers.registerUser(new SeqOfChar("martaTorgal"), new SeqOfChar("1234"), new SeqOfChar("Marta Torgal"), new Genero(female));
- ironTrainers.loginUser(new SeqOfChar("Marta Torgal"), new SeqOfChar("martaTorgal"), new SeqOfChar("1234"));
- //create exercicio
- Plano_de_treino plt = new Plano_de_treino(new Hora(0,20,00));
- Plano_de_treino plt2 = new Plano_de_treino(new Hora(0,20,00));
- plt.addExercicio(new Exercicio(new Hora(0,15,0), new SeqOfChar("corrida de 5 kms a passo acelerado"), (Number)250, (Number)1, new SeqOfChar("corrida")));
- plt2.addExercicio(new Exercicio(new Hora(0,15,0), new SeqOfChar("caminhada de 5 kms a passo acelerado"), (Number)150, (Number)1, new SeqOfChar("caminhada")));
- //adicionar users ao pt
- Utilizador us = new Utilizador (new SeqOfChar ("cribeiro"), new SeqOfChar ("1234"), new SeqOfChar ("Cristiana"), new Genero (female));
- // ironTrainers.getCurrentPT().addUtilizador(us);
- PersonalTrainer pt = new PersonalTrainer(new SeqOfChar("martaTorgal"), new SeqOfChar("1234"), new SeqOfChar("Marta Torgal"), new Genero(female));
- pt.addPlano_de_treino(plt);
- pt.addPlano_de_treino(plt2);
- PersonalTrainer pt2 = new PersonalTrainer(new SeqOfChar("crisRibeiro"), new SeqOfChar("1234"), new SeqOfChar("Cristiana Ribeiro"), new Genero(female));
- pt2.addPlano_de_treino(plt);
- ironTrainers.addPersonalTrainer(pt);
- ironTrainers.addPersonalTrainer(pt2);
- /*ironTrainers.registerPersonalTrainer(pt);
- ironTrainers.loginPersonalTrainer(pt);*/
- }
- public int readLineNumber() {
- Scanner s = new Scanner(System.in);
- String result = s.nextLine();
- while(result == null || result.equals("")) {
- result = s.nextLine();
- }
- return Integer.parseInt(result);
- }
- public String readLine() {
- Scanner s = new Scanner(System.in);
- String result = s.nextLine();
- while(result == null || result.equals("")) {
- result = s.nextLine();
- }
- return result;
- }
- public void main() {
- selectionMenu();
- }
- public void selectionMenu() {
- if(ironTrainers.getCurrentPT() == null && ironTrainers.getCurrentUtilizador() == null) {
- System.out.println("");
- System.out.println("0 - Quit");
- System.out.println("1 - Register");
- System.out.println("2 - Login");
- int choice = readLineNumber();
- switch (choice) {
- case 1: registerMenu(); selectionMenu(); break;
- case 2: loginMenu(); break;
- case 0: break;
- default: selectionMenu();
- }
- }else {
- if(ironTrainers.getCurrentPT() == null)
- userMenu();
- else {
- ptMenu();
- }
- }
- }
- public boolean chooseIsUser() {
- System.out.println("");
- System.out.println("Select type of User!");
- System.out.println("1 - Utilizador");
- System.out.println("2 - Personal Trainer");
- int typeOfUser = readLineNumber();
- boolean isUser = false;
- switch (typeOfUser) {
- case 1: isUser = true; break;
- case 2: isUser= false; break;
- default: registerMenu();
- }
- return isUser;
- }
- public void registerMenu() {
- System.out.println("");
- boolean isUser = chooseIsUser();
- System.out.println("Insert name!");
- SeqOfChar name = new SeqOfChar(readLine());
- System.out.println("Insert username!");
- SeqOfChar username = new SeqOfChar(readLine());
- System.out.println("Insert password: ");
- SeqOfChar password = new SeqOfChar(readLine());
- System.out.println("Select genre!");
- System.out.println("1 - Female");
- System.out.println("2 - Male");
- int choice = readLineNumber();
- Genero genre = new Genero(female);
- switch (choice) {
- case 1: genre = new Genero(female); break;
- case 2: genre = new Genero(male); break;
- default: registerMenu();
- }
- System.out.println("name: " + name + " username: " + username + " password: " + password + " genre: " + genre);
- if(isUser) {
- ironTrainers.registerUser(username, password, name, genre);
- }else {
- ironTrainers.registerPT(username, password, name, genre);
- }
- }
- public void loginMenu() {
- System.out.println("");
- boolean isUser = chooseIsUser();
- System.out.println("Insert name!");
- SeqOfChar name = new SeqOfChar(readLine());
- System.out.println("Insert username!");
- SeqOfChar username = new SeqOfChar(readLine());
- System.out.println("Insert password: ");
- SeqOfChar password = new SeqOfChar(readLine());
- System.out.println("username: " + username + " password: " + password);
- if(isUser) {
- if(ironTrainers.loginUser(name, username, password))
- userMenu();
- else selectionMenu();
- }else {
- if(ironTrainers.loginPT(name, username, password))
- ptMenu();
- else selectionMenu();
- }
- }
- public void userMenu() {
- System.out.println("");
- System.out.println("Utilizador Page - " + ironTrainers.getCurrentUtilizadorName().str);
- System.out.println("1 - Select add Menu");
- System.out.println("2 - Select view Menu");
- System.out.println("3 - View all my appointments");
- System.out.println("4 - Schedule appointments");
- System.out.println("5 - Logout");
- int choice = readLineNumber();
- switch (choice) {
- case 1: addUserMenu(); userMenu(); break;
- case 2: viewUserMenu(); userMenu(); break;
- case 3: viewUserAppointments(); userMenu(); break;
- case 4: scheduleMenu(); userMenu();break;
- case 5: ironTrainers.logout(); selectionMenu(); break;
- case 0: break;
- default: userMenu();
- }
- }
- public void addUserMenu() {
- System.out.println("");
- System.out.println("Add Menu");
- System.out.println("0 - Back");
- System.out.println("1 - Add meal");
- System.out.println("2- Add measures");
- System.out.println("3 - Add a Personal Trainer");
- int choice = readLineNumber();
- switch (choice) {
- case 1: addMeal(); addUserMenu();break;
- case 2: addUserMeasures(); addUserMenu(); break;
- case 3: addPersonalTrainerToUser(); addUserMenu(); break;
- case 0: userMenu(); break;
- default: addUserMenu();
- }
- }
- public void viewUserMenu() {
- System.out.println("");
- System.out.println("View user Menu");
- System.out.println("0 - Back");
- System.out.println("1 - View my meals");
- System.out.println("2 - View my measures");
- System.out.println("3 - View my Personal Trainers");
- System.out.println("4 - View all Personal Trainers");
- System.out.println("5 - View my training plans");
- System.out.println("6 - View all training plans");
- int choice = readLineNumber();
- switch (choice) {
- case 1: viewMeals(); viewUserMenu(); break;
- case 2: viewUserMeasures(); viewUserMenu(); break;
- case 3: viewUserPersonalTrainers(); viewUserMenu(); break;
- case 4: viewAllPersonalTrainers(); viewUserMenu(); break;
- case 5: viewUserPlanosTreino(); viewUserMenu(); break;
- case 6: viewAllPlanosTreino(); viewUserMenu(); break;
- case 0: userMenu(); break;
- default: viewUserMenu();
- }
- }
- public void scheduleMenu() {
- System.out.println("");
- System.out.println("Schedule appointment");
- System.out.println("Insert the Date and Time of the appointment");
- Data data = getDataFromUser();
- Hora hora = getHoraFromUser();
- Horario horario = new Horario(data, hora);
- System.out.println("What is the purpose of the appointment?");
- SeqOfChar purpose = new SeqOfChar(readLine());
- viewUserPersonalTrainers();
- System.out.println("Choose the Personal Trainer");
- SeqOfChar choice = new SeqOfChar(readLine());
- PersonalTrainer pt = getPTSelected(choice);
- Consulta consulta = new Consulta(ironTrainers.getCurrentUtilizador(),horario, purpose);
- pt.addConsulta(consulta);
- }
- public void viewUserPersonalTrainers() {
- System.out.println("");
- VDMSet pt = ironTrainers.getCurrentUtilizador().getPersonalTrainers();
- if(pt.size() > 0) {
- Iterator personalT = pt.iterator();
- int number = 0;
- while(personalT.hasNext()) {
- PersonalTrainer plano = (PersonalTrainer) personalT.next();
- System.out.print(number + " - ");
- plano.print();
- System.out.println("");
- number++;
- }
- }
- else {
- System.out.println("The User don't have Personal Trainers");
- }
- }
- public void viewAllPersonalTrainers() {
- System.out.println("");
- VDMSet pt = ironTrainers.getPersonalTrainer();
- Iterator personalT = pt.iterator();
- int number = 0;
- while(personalT.hasNext()) {
- PersonalTrainer plano = (PersonalTrainer) personalT.next();
- System.out.print(number + " - ");
- plano.print();
- System.out.println("");
- number++;
- }
- }
- public void addPersonalTrainerToUser() {
- System.out.println("");
- viewAllPersonalTrainers();
- System.out.println("");
- SeqOfChar choice = new SeqOfChar(readLine());
- PersonalTrainer pt = getPTSelected(choice);
- pt.print();
- ironTrainers.getCurrentUtilizador().addPersonalTrainer(pt);
- }
- public void ptMenu() {
- System.out.println("");
- System.out.println("Personal Trainer Page - " + ironTrainers.getCurrentPTName().str);
- System.out.println("0 - Logout");
- System.out.println("1 - View my schedule appointmennts");
- System.out.println("2 - View my training plans");
- System.out.println("3 - View all training plans");
- System.out.println("4 - Edit my training plans");
- System.out.println("5 - At appointmennt");
- int choice = readLineNumber();
- switch (choice) {
- case 1: viewPTappointmennts(); ptMenu();break;
- case 2: viewPTPlans(); ptMenu(); break;
- case 3: viewAllPlanosTreino(); ptMenu(); break;
- case 4: editTrainingPlan(); ptMenu(); break;
- case 5: atAppointment(); ptMenu(); break;
- case 0: ironTrainers.logout(); selectionMenu(); break;
- default: ptMenu();
- }
- ptMenu();
- }
- public void viewPTPlans(){
- VDMSet pts = ironTrainers.getCurrentPT().getPlanoTreino();
- if(pts.size() > 0) {
- Iterator u = pts.iterator();
- int number = 0;
- while(u.hasNext()) {
- Plano_de_treino u1 = (Plano_de_treino) u.next();
- System.out.print(number + " - ");
- u1.printPlano();
- System.out.println("");
- number++;
- }
- }else {
- System.out.println("The PT don't have Training Plans");
- }
- }
- public void viewPTappointmennts(){
- VDMSet appointmennts = ironTrainers.getCurrentPT().getConsultas();
- if(appointmennts.size() > 0) {
- Iterator u = appointmennts.iterator();
- int number = 0;
- while(u.hasNext()) {
- Consulta c1 = (Consulta) u.next();
- System.out.print(number + " - ");
- printConsulta(c1);
- System.out.println("");
- number++;
- }
- }else {
- System.out.println("The PT don't have Appointmennts");
- }
- }
- public void addMeal() {
- System.out.println("");
- VDMSet valoresNutricionais = ironTrainers.getValoresNutricionais();
- Iterator vl = valoresNutricionais.iterator();
- int number = 0;
- while(vl.hasNext()) {
- ValorNutricional vl1 = (ValorNutricional) vl.next();
- System.out.print(number + " - ");
- vl1.printValorNutricional();
- System.out.println("");
- number++;
- }
- int choice = readLineNumber();
- ValorNutricional valorNut = getMealSelected(choice);
- Refeicao refeicao = new Refeicao(valorNut);
- ironTrainers.getCurrentUtilizador().addRefeicao(refeicao);
- }
- public ValorNutricional getMealSelected(int meal) {
- VDMSet valoresNutricionais = ironTrainers.getValoresNutricionais();
- Iterator vl = valoresNutricionais.iterator();
- int number = 0;
- while(vl.hasNext()) {
- if(number == meal)
- return (ValorNutricional) vl.next();
- number++;
- }
- return null;
- }
- public PersonalTrainer getPTSelected(SeqOfChar ptName) {
- VDMSet pt = ironTrainers.getPersonalTrainer();
- Iterator personalT = pt.iterator();
- while(personalT.hasNext()) {
- PersonalTrainer prt = (PersonalTrainer) personalT.next();
- if(prt.getNome().equals(ptName)) {
- return prt;
- }
- }
- return null;
- }
- public void viewMeals() {
- System.out.println("");
- ironTrainers.getCurrentUtilizador().printRefeicoes();
- }
- public void addUserMeasures() {
- Medidas medidas = addMeasures();
- ironTrainers.getCurrentUtilizador().addMedidas(medidas);
- }
- public Medidas addMeasures() {
- System.out.println("");
- System.out.println("Peito");
- Number peito = readLineNumber();
- System.out.println("Cintura");
- Number cintura = readLineNumber();
- System.out.println("Quadril");
- Number quadril = readLineNumber();
- System.out.println("Coxa");
- Number coxa = readLineNumber();
- System.out.println("Panturrilha");
- Number panturrilha = readLineNumber();
- System.out.println("Biceps");
- Number biceps = readLineNumber();
- System.out.println("Antebraco");
- Number antebraco =readLineNumber();
- System.out.println("Peso");
- Number peso = readLineNumber();
- System.out.println("Altura");
- Number altura = readLineNumber();
- System.out.println("PercentagemGordura");
- Number percentagemGordura = readLineNumber();
- Medidas medidas = new Medidas(peito,cintura,quadril,coxa,panturrilha,biceps,antebraco,peso,altura,percentagemGordura);
- return medidas;
- }
- public void viewUserMeasures() {
- System.out.println("");
- VDMSeq medidas = ironTrainers.getCurrentUtilizador().getMedidas();
- if(medidas.size() >0) {
- Iterator med = medidas.iterator();
- int number = 0;
- while(med.hasNext()) {
- Medidas med1 = (Medidas) med.next();
- System.out.print(number + " - ");
- med1.printMedidas();
- System.out.println("");
- number++;
- }
- }
- else {
- System.out.println("The User don't have Measures");
- }
- }
- public void viewUserPlanosTreino() {
- System.out.println("");
- VDMSet plts = ironTrainers.getPlanosDeTreinoUser();
- if(plts.size() >0) {
- Iterator iteratorPT = plts.iterator();
- int number = 0;
- while(iteratorPT.hasNext()) {
- Plano_de_treino pl = (Plano_de_treino) iteratorPT.next();
- System.out.print(number + " - ");
- pl.printPlano();
- System.out.println("");
- number++;
- }
- }else {
- System.out.println("The User don't have Training Plans");
- }
- }
- public void viewAllPlanosTreino(){
- System.out.println("");
- VDMSet pts = ironTrainers.getPlanosDeTreino();
- if(pts.size() > 0) {
- Iterator iteratorPT = pts.iterator();
- int number = 0;
- while(iteratorPT.hasNext()) {
- Plano_de_treino pl = (Plano_de_treino) iteratorPT.next();
- System.out.print(number + " - ");
- pl.printPlano();
- System.out.println("");
- number++;
- }
- }else {
- System.out.println("The User don't have Training Plans");
- }
- }
- public void addTimeToExercise() {
- }
- public void editTrainingPlan() {
- viewPTPlans();
- int choice = readLineNumber();
- Plano_de_treino plt = getPLTSelected(choice);
- System.out.println("What do you want to edit?");
- System.out.println("0 - Back");
- System.out.println("1 - Exercises");
- System.out.println("2 - Total rest");
- int choice1 = readLineNumber();
- switch (choice1) {
- case 1: editExercises(plt); break;
- case 2: editTotalRest(plt); break;
- case 0: ptMenu();
- default: editTrainingPlan();
- }
- }
- public Plano_de_treino getPLTSelected(int plt) {
- VDMSet pts = ironTrainers.getCurrentPT().getPlanoTreino();
- if(pts.size() > 0) {
- Iterator u = pts.iterator();
- int number = 0;
- while(u.hasNext()) {
- if(number == plt)
- return (Plano_de_treino) u.next();
- number++;
- }
- }else {
- System.out.println("The PT don't have Training Plans");
- }
- return null;
- }
- public void viewExercisesFromPlt(Plano_de_treino plt) {
- System.out.println("");
- VDMSet exercicios = plt.getExercicios();
- if(exercicios.size() > 0) {
- Iterator iteratorPT = exercicios.iterator();
- int number = 0;
- while(iteratorPT.hasNext()) {
- Exercicio pl = (Exercicio) iteratorPT.next();
- System.out.print(number + " - ");
- pl.print();
- System.out.println("");
- number++;
- }
- }else {
- System.out.println("The User don't have Training Plans");
- }
- }
- public void editExercises(Plano_de_treino plt) {
- viewExercisesFromPlt(plt);
- int choice = readLineNumber();
- Exercicio exec = getExerciseSelected(choice,plt);
- System.out.println("What do you want to edit?");
- System.out.println("0 - Back");
- System.out.println("1 - Name");
- System.out.println("2 - Duration");
- System.out.println("3 - Instructions");
- System.out.println("4 - Calories");
- System.out.println("5 - Series number");
- int choice1 = readLineNumber();
- switch (choice1) {
- case 1: editName(exec); editExercises(plt); break;
- case 2: editDuration(exec); editExercises(plt); break;
- case 3: editInstructions(exec); editExercises(plt); break;
- case 4: editCalories(exec); editExercises(plt); break;
- case 5: editSeriesNumber(exec); editExercises(plt); break;
- case 0: ptMenu();
- default: editTrainingPlan();
- }
- }
- public void editTotalRest(Plano_de_treino plt) {
- System.out.println("The new total rest");
- Hora hora = getHoraFromUser();
- plt.setDescanso(hora);
- }
- public Exercicio getExerciseSelected(int exec, Plano_de_treino plt) {
- VDMSet exercicios = plt.getExercicios();
- if(exercicios.size() > 0) {
- Iterator u = exercicios.iterator();
- int number = 0;
- while(u.hasNext()) {
- if(number == exec)
- return (Exercicio) u.next();
- number++;
- }
- }else {
- System.out.println("The Training Plan don't have Exercises");
- }
- return null;
- }
- public void editName(Exercicio exec) {
- System.out.println("The new name");
- SeqOfChar name = new SeqOfChar(readLine());
- exec.setNome(name);
- }
- public void editDuration(Exercicio exec) {
- System.out.println("The new duration");
- Hora hora = getHoraFromUser();
- exec.setDurExer(hora);
- }
- public void editInstructions(Exercicio exec) {
- System.out.println("The new instructions");
- SeqOfChar instr = new SeqOfChar(readLine());
- exec.setInstrucoes(instr);
- }
- public Hora getHoraFromUser() {
- System.out.println("Hour");
- Number hora = readLineNumber();
- System.out.println("Minutes");
- Number minutos = readLineNumber();
- System.out.println("Seconds");
- Number segundos = readLineNumber();
- return new Hora(hora,minutos,segundos);
- }
- public Data getDataFromUser() {
- System.out.println("Year");
- Number year = readLineNumber();
- System.out.println("Month");
- Number month = readLineNumber();
- System.out.println("Day");
- Number day = readLineNumber();
- return new Data(year,month, day);
- }
- public void editCalories(Exercicio exec) {
- System.out.println("The new calories");
- int calories = readLineNumber();
- exec.setCaloriasGastas(calories);
- }
- public void editSeriesNumber(Exercicio exec) {
- System.out.println("The new series number");
- int seriesNumber = readLineNumber();
- exec.setNumSeries(seriesNumber);
- }
- public void viewUserAppointments() {
- System.out.println("");
- VDMSet pts = ironTrainers.getCurrentUtilizador().getPersonalTrainers();
- if(pts.size() > 0) {
- Iterator iteratorPT = pts.iterator();
- int number = 0;
- while(iteratorPT.hasNext()) {
- PersonalTrainer pt = (PersonalTrainer) iteratorPT.next();
- System.out.print(number + " - " + pt.getNome().str);
- VDMSet consultas = pt.getConsultas();
- if(consultas.size() > 0) {
- Iterator iteratorConsultas = consultas.iterator();
- int number1 = 0;
- while(iteratorConsultas.hasNext()) {
- Consulta cons = (Consulta) iteratorConsultas.next();
- if(cons.getUtilizador().getNome().equals(ironTrainers.getCurrentUtilizador().getNome())) {
- System.out.println("");
- System.out.println(number1 + " - ");
- printConsulta(cons);
- }
- number1++;
- }
- System.out.println("");
- number++;
- }else {
- System.out.println("");
- System.out.println("The Personal Trainer don't have Appointments");
- }
- System.out.println("");
- }
- }else {
- System.out.println("The User don't have Personal Trainers");
- }
- }
- public void printConsulta(Consulta cons) {
- System.out.println("Utilizador: " + cons.getUtilizador().getNome().str);
- System.out.println("Horario: ");
- cons.getHorario().printHorario();
- System.out.println("");
- System.out.println("Finalidade: " + cons.getFinalidade().str);
- System.out.println("Peso " + cons.getMedidas().getPeso());
- if(!cons.getMedidas().getPeso().equals(null))
- cons.getMedidas().printMedidas();
- }
- public void atAppointment() {
- viewPTappointmennts();
- int choice = readLineNumber();
- Medidas medidas = addMeasures();
- Consulta consulta = getConsultaSelected(choice);
- consulta.setMedidas(medidas);
- }
- public Consulta getConsultaSelected(int cons) {
- VDMSet consultas = ironTrainers.getCurrentPT().getConsultas();
- Iterator con = consultas.iterator();
- int number = 0;
- while(con.hasNext()) {
- if(number == cons)
- return (Consulta) con.next();
- number++;
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement