/** * Kontroler do drugiego menu, po zalogowaniu **/ public CalendarController(User user) { this.user = user; while (true) { var mainView = new MainView(); mainView.user = user; mainView.score = GetFromDB.GetScore(user); mainView.Show(); switch (mainView.Selected) { case 0: //add if (AddActivity()) { Back.Clear(); string s = "Activity added"; int middle = (Console.WindowWidth - s.Length) / 2; Console.SetCursorPosition(middle, Console.CursorTop); Console.WriteLine(s); } else { Back.Clear(); string s = "Something goes wrong, activity not added"; int middle = (Console.WindowWidth - s.Length) / 2; Console.SetCursorPosition(middle, Console.CursorTop); Console.WriteLine(s); } break; case 1: //search var search = Search.Choose(); if (search == 0) { Back.Clear(); break; } var searchlist = GetSearchList(search); if ((searchlist == null) || (searchlist.Count == 0)) { Search.Empty(); } else { var searchactivitiesController = new ActivitiesController(searchlist); } break; case 2: //show var activitiesController = new ActivitiesController(GetFromDB.LoadList(user)); break; case 3: //logout user = null; Logout.Done(); return; case 4: //changegoal Goal.GetValues(); if (Check.CheckGoal(user, Goal.Newgoal)) { Goal.Done(); } else { Goal.BadValue(); } break; case 5: //setdivider var whichdivider = Divider.WhichDivider(); if (whichdivider == 0) { Back.Clear(); break; } Divider.GetValues(); switch (whichdivider) { case 1: if (Check.CheckBikeDivider(user, Divider.Divide)) { Divider.Done(); } else { Divider.BadValue(); } break; case 2: if (Check.CheckSwimDivider(user, Divider.Divide)) { Divider.Done(); } else { Divider.BadValue(); } break; } break; case 6: //changepassword ChangePassword.Change(); if (Check.CheckPassword(user, ChangePassword.Password, ChangePassword.Repassword)) { ChangePassword.Done(); } else { ChangePassword.WrongData(); } break; case 7: //Show values Values.ShowValues(user, GetFromDB.GetScore(user), GetFromDB.GetNumberOfActivities(user), GetFromDB.GetLastDate(user)); Back.Clear(); break; case 8: //exit Environment.Exit(0); break; default: break; } } }
/** * Kotroler do wyswietlania i edycji aktywnosci **/ public ActivitiesController(List <Activity> activities) { Back.Clear(); Activities = activities; var stringactivitiesList = new List <string>(); while (true) { /** * Tutaj, bo przy edycji musi sie zaktualizowac, * wiec za kazdym razem trzeba czyscic i tworzyc liste stringow na nowo **/ stringactivitiesList.Clear(); stringactivitiesList.Add("Back"); foreach (var activity in Activities) { stringactivitiesList.Add(activity.ToString()); } /** END **/ var mainView = new MainView(stringactivitiesList); if (mainView.Selected == 0) //back { Back.Clear(); return; } var info = new Info(); var currentactivity = Activities[mainView.Selected - 1]; info.ShowValue(currentactivity); //wyswietl dane o wybranej aktywnosci switch (info.Selected) { case 0: //edit switch (Edit.Choose()) { case 0: //back Back.Clear(); break; case 1: //type if (SaveDB.SaveEditType(currentactivity, GetFromUser.GetTypeFromUser())) { Edit.Done(); } else { Edit.Error(); } break; case 2: //distance if (SaveDB.SaveEditDistance(currentactivity, GetFromUser.GetDistanceFromUser())) { Edit.Done(); } else { Edit.Error(); } break; case 3: //date if (SaveDB.SaveEditDate(currentactivity, GetFromUser.GetDateFromUser())) { Edit.Done(); } else { Edit.Error(); } break; case 4: //note if (SaveDB.SaveEditNote(currentactivity, GetFromUser.GetNoteFromUser())) { Edit.Done(); } else { Edit.Error(); } break; } break; case 1: //delete if (SaveDB.DeleteActivity(currentactivity, Activities)) { Delete.Deleted(); currentactivity = null; } else { Delete.Error(); } break; case 2: //back Back.Clear(); break; } } }