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 ShowAddClient(IFormFactory formFactory, ITrainingGroupRepository trainingGroupRepository, IMainController mainController) { IAddClientForm form = formFactory.CreateAddClientForm(); List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups(); form.ShowModal(mainController, trainingGroups); }
public void AddTrainingGroup(TrainingGroup trainingGroup, ITrainingGroupRepository trainingGroupRepository) { try { trainingGroupRepository.AddTrainingGroup(trainingGroup); } catch (NameAlreadyTakenException nameEx) { throw nameEx; } }
public void ShowTrainingGroups(IViewTrainingGroupsForm form, ITrainingGroupRepository trainingGroupRepository, IMainController mainController) { List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups(); Subject subject = (Subject)trainingGroupRepository; subject.Attach((IObserver)form); form.ShowModaless(mainController, trainingGroups); }
public void RemoveTrainingGroupWithName(string groupName, ITrainingGroupRepository trainingGroupRepository, IClientRepository clientRepository) { if (clientRepository.GetAllClientsFromTrainingGroup(groupName).Count == 0) { trainingGroupRepository.RemoveTrainingGroupWithName(groupName); } else { throw new DependantDataNotDeletableException(); } }
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 ShowEditClient(IFormFactory formFactory, IClientRepository clientRepository, ITrainingGroupRepository trainingGroupRepository, string oib, IMainController mainController) { IEditClientForm form = formFactory.CreateEditClientForm(); Client client = clientRepository.GetClientWithOib(oib); List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups(); form.ShowModal(mainController, client, trainingGroups); }
public void RemoveTrainingWithName(string trainingName, ITrainingRepository trainingRepository, ITrainingGroupRepository trainingGroupRepository) { List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups(); if (!trainingGroups.Any(group => group.Training.Name == trainingName)) { trainingRepository.RemoveTrainingWithName(trainingName); } else { throw new DependantDataNotDeletableException(); } }
public void EditTrainingGroupWithName(string groupName, TrainingGroup trainingGroup, ITrainingGroupRepository trainingGroupRepository) { try { trainingGroupRepository.EditTrainingGroupWithName(groupName, trainingGroup); } catch (NameAlreadyTakenException nameEx) { throw nameEx; } }
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(); } }