public CreateSubContestPresenter(CreateSubContestView view, ProjectMainWindow window, Contest contest)
        {
            this.View   = view;
            this.window = window;

            CurrentContest = contest;

            SubContests = CurrentContest.SubContestBranches;

            this.View.LabelContestName.Text = CurrentContest.Info.Name;

            //Fyller på contestants från contest
            foreach (var contestant in contest.Contestants)
            {
                ListViewItem listViewContestContestantsItem = new ListViewItem(contestant.FirstName);
                listViewContestContestantsItem.SubItems.Add(contestant.LastName);

                View.ListViewContestContestants.Items.Add(listViewContestContestantsItem);
            }

            View.EventAddContestantToSubContest      += AddContestantToSubContest;
            View.EventRemoveContestantFromSubContest += RemoveContestantFromSubContest;
            View.EventAddSubContest   += AddSubContest;
            View.EventFinalizeContest += FinalizeContest;

            View.EventSubContestSelected += SubContestSelected;
            View.EventUpdateSubContest   += UpdateSubContest;
            View.EventCancelEdit         += CancelEditOfSubContest;
            View.EventRemoveSubContest   += RemoveSubContest;
        }
Beispiel #2
0
        public void GoToCreateSubContest()
        {
            // Kolla så att data är korrekt formatterat
            bool stringAreValid = false;

            if (CheckDataInput.StringCheckFormat(View.TextBoxName.Text))
            {
                if (CheckDataInput.StringCheckFormat(View.TextBoxCity.Text))
                {
                    if (CheckDataInput.StringCheckFormat(View.TextBoxArena.Text))
                    {
                        stringAreValid = true;
                    }
                    else
                    {
                        MessageBox.Show("Simhallsnamn är ej giltigt.");
                    }
                }
                else
                {
                    MessageBox.Show("Stadsnamn är ej giltigt.");
                }
            }
            else
            {
                MessageBox.Show("Tävlingsnamn är ej giltigt.");
            }

            bool areDatesSet = false;

            // The dates have DateTime.MinValue if they have not been set manually
            if (StartDate != DateTime.MinValue)
            {
                if (EndDate != DateTime.MinValue)
                {
                    areDatesSet = true;
                }
                else
                {
                    MessageBox.Show("Välj slutdatum.");
                }
            }
            else
            {
                MessageBox.Show("Välj startdatum.");
            }


            // check if any judges or contestans have been added to the contest
            bool areListsFilled = false;

            if (ContestJudgeList.Count > 2)
            {
                if (ContestContestantList.Count > 1)
                {
                    areListsFilled = true;
                }
                else
                {
                    MessageBox.Show("Måste minst vara 2 deltagare på en tävling.");
                }
            }
            else
            {
                MessageBox.Show("Måste minst vara 3 domare på en tävling.");
            }


            // if everything is okay, create the contest and move to subcontestview
            if (stringAreValid && areDatesSet && areListsFilled)
            {
                ContestInfo contestInfo = new ContestInfo(View.TextBoxName.Text, View.TextBoxCity.Text, StartDate, EndDate, View.TextBoxArena.Text);

                // Listorna byggs upp med hjälp av listboxarna.

                Contest contest = new Contest(contestInfo, ContestJudgeList, ContestContestantList);

                CreateSubContestView createSubContestView = new CreateSubContestView();

                CreateSubContestPresenter createSubContestPresenter = new CreateSubContestPresenter(createSubContestView, window, contest);

                window.ChangePanel(createSubContestView, View);
            }
        }