public void ShowEditTrainingGroup(IFormFactory formFactory,
                                          ITrainingGroupRepository trainingGroupRepository,
                                          ITrainingRepository trainingRepository,
                                          ITrainingPeriodRepository trainingPeriodRepository,
                                          string groupName,
                                          IMainController mainController)
        {
            IEditTrainingGroupForm form = formFactory.CreateEditTrainingGroupForm();

            TrainingGroup trainingGroup = trainingGroupRepository.GetTrainingGroupWithName(groupName);

            List <Training> trainings = trainingRepository.GetAllTrainings();

            List <TrainingPeriod> trainingPeriods = trainingPeriodRepository.GetAllTrainingPeriods().ToList();

            // Uklanjanje zauzetih termina s popisa dostupnih termina
            foreach (TrainingGroup group in trainingGroupRepository.GetAllTrainingGroups())
            {
                if (group.Name != groupName)
                {
                    foreach (TrainingPeriod trainingPeriod in group.TrainingPeriods)
                    {
                        int index = trainingPeriods.FindIndex(period => period.PeriodId == trainingPeriod.PeriodId);

                        if (index != -1)
                        {
                            trainingPeriods.RemoveAt(index);
                        }
                    }
                }
            }

            List <TrainingPeriod> newPeriods = trainingPeriods.Select(item => item).ToList();

            form.ShowModal(mainController, trainingGroup, trainings, newPeriods);
        }