Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void ShowAddClient(IFormFactory formFactory,
                                  ITrainingGroupRepository trainingGroupRepository,
                                  IMainController mainController)
        {
            IAddClientForm form = formFactory.CreateAddClientForm();

            List <TrainingGroup> trainingGroups = trainingGroupRepository.GetAllTrainingGroups();

            form.ShowModal(mainController, trainingGroups);
        }
Ejemplo n.º 3
0
 public void AddTrainingGroup(TrainingGroup trainingGroup, ITrainingGroupRepository trainingGroupRepository)
 {
     try
     {
         trainingGroupRepository.AddTrainingGroup(trainingGroup);
     }
     catch (NameAlreadyTakenException nameEx)
     {
         throw nameEx;
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public void RemoveTrainingGroupWithName(string groupName, ITrainingGroupRepository trainingGroupRepository, IClientRepository clientRepository)
 {
     if (clientRepository.GetAllClientsFromTrainingGroup(groupName).Count == 0)
     {
         trainingGroupRepository.RemoveTrainingGroupWithName(groupName);
     }
     else
     {
         throw new DependantDataNotDeletableException();
     }
 }
Ejemplo n.º 6
0
 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;
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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();
            }
        }
Ejemplo n.º 9
0
 public void EditTrainingGroupWithName(string groupName, TrainingGroup trainingGroup, ITrainingGroupRepository trainingGroupRepository)
 {
     try
     {
         trainingGroupRepository.EditTrainingGroupWithName(groupName, trainingGroup);
     }
     catch (NameAlreadyTakenException nameEx)
     {
         throw nameEx;
     }
 }
Ejemplo n.º 10
0
        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();
            }
        }