Exemple #1
0
        /**
         * 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;
                }
            }
        }
Exemple #2
0
        /**
         * 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;
                }
            }
        }