public void ShowAddTrainingGroup(IFormFactory formFactory, ITrainingGroupRepository trainingGroupRepository, ITrainingRepository trainingRepository, ITrainingPeriodRepository trainingPeriodRepository, IMainController mainController) { IAddTrainingGroupForm form = formFactory.CreateAddTrainingGroupForm(); List <Training> trainings = trainingRepository.GetAllTrainings(); List <TrainingPeriod> trainingPeriods = trainingPeriodRepository.GetAllTrainingPeriods().ToList(); // Uklanjanje zauzetih termina s popisa dostupnih termina foreach (TrainingGroup group in trainingGroupRepository.GetAllTrainingGroups()) { 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, trainings, newPeriods); }
public void AddTrainingPeriod(TrainingPeriod trainingPeriod, ITrainingPeriodRepository trainingPeriodRepository) { try { trainingPeriodRepository.AddTrainingPeriod(trainingPeriod); } catch (PeriodAlreadyTakenException periodEx) { throw periodEx; } }
public void ShowEditTrainingPeriod(IFormFactory formFactory, ITrainingPeriodRepository trainingPeriodRepository, int periodId, IMainController mainController) { IEditTrainingPeriodForm form = formFactory.CreateEditTrainingPeriodForm(); TrainingPeriod trainingPeriod = trainingPeriodRepository.GetTrainingPeriodWithId(periodId); form.ShowModal(mainController, trainingPeriod); }
public void ShowTrainingPeriods(IViewTrainingPeriodsForm form, ITrainingPeriodRepository trainingPeriodRepository, IMainController mainController) { List <TrainingPeriod> trainingPeriods = trainingPeriodRepository.GetAllTrainingPeriods(); Subject subject = (Subject)trainingPeriodRepository; subject.Attach((IObserver)form); form.ShowModaless(mainController, trainingPeriods); }
public void EditTrainingPeriodWithId(int periodId, TrainingPeriod trainingPeriod, ITrainingPeriodRepository trainingPeriodRepository) { try { trainingPeriodRepository.EditTrainingPeriodWithId(periodId, trainingPeriod); } catch (PeriodAlreadyTakenException periodEx) { throw periodEx; } }
public MainController(IFormFactory formFactory, IClientDebtRepository clientDebtRepository, IClientRepository clientRepository, IExerciseRepository exerciseRepository, ITrainingGroupRepository trainingGroupRepository, ITrainingPeriodRepository trainingPeriodRepository, ITrainingRepository trainingRepository) { this.formFactory = formFactory; this.clientDebtRepository = clientDebtRepository; this.clientRepository = clientRepository; this.exerciseRepository = exerciseRepository; this.trainingGroupRepository = trainingGroupRepository; this.trainingPeriodRepository = trainingPeriodRepository; this.trainingRepository = trainingRepository; }
public void RemoveTrainingPeriodWithId(int periodId, ITrainingPeriodRepository trainingPeriodRepository, ITrainingGroupRepository trainingGroupRepository) { List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups(); if (!trainingGroups.Any(group => group.TrainingPeriods.FindIndex(period => period.PeriodId == periodId) != -1)) { trainingPeriodRepository.RemoveTrainingPeriodWithId(periodId); } else { throw new DependantDataNotDeletableException(); } }