Example #1
0
        public BlockTeachingBussiness(BlockClassManagement blockClasses, TraineeManagementBussiness traineeManagement)
        {
            BlockClasses        = blockClasses;
            BlockClassOperation = new BlockClassOperationBussiness(blockClasses);
            BlockClasses.ChangeBlockClassEvent += (operation, model) =>
            {
                if (operation == Common.OperationType.Select)
                {
                    BlockTrainee.GetTrainees(model.ClassID);
                }
                else
                {
                    BlockClassOperation.Enable(operation, model);
                }
            };

            TraineeManagement = traineeManagement;
            BlockTrainee      = new BlockTraineeBussiness(TraineeManagement.Dal);

            BlockTrainee.TraineeChangedEvent += (opreation, trainee, newIndex) =>
            {
                if (opreation == Common.OperationType.Add && trainee.IsNew)
                {
                    TraineeManagement.AddTrainee(trainee);
                }
                else if (opreation == Common.OperationType.Update)
                {
                    TraineeManagement.UpdateTrainee(trainee);
                }
                TraineeCountChanged?.Invoke(null, EventArgs.Empty);
            };
        }
        public RegularTeachingBussiness(RegularClassManagement regularClass, TraineeManagementBussiness traineeManagement)
        {
            RegularClasses        = regularClass;
            RegularClassOperation = new RegularClassOperationBussiness(regularClass);
            RegularClasses.ChangeRegularClassEvent += (operation, model) =>
            {
                if (operation == Common.OperationType.Select)
                {
                    RegularTrainee.GetTrainees(model.ClassID);
                }
                else
                {
                    RegularClassOperation.Enable(operation, model);
                }
            };

            TraineeManagement = traineeManagement;
            RegularTrainee    = new RegularTraineeBussiness(TraineeManagement.Dal);
            RegularTrainee.TraineeChangedEvent += (opreation, trainee, newIndex) =>
            {
                if (opreation == Common.OperationType.Add && trainee.IsNew)
                {
                    TraineeManagement.AddTrainee(trainee);
                }
                else if (opreation == Common.OperationType.Update || opreation == Common.OperationType.Delete)
                {
                    TraineeManagement.UpdateTrainee(trainee);
                }
                TraineeCountChanged?.Invoke(null, EventArgs.Empty);
            };
        }
        public TeachingManagementBussiness(RegularClassManagement regular, TraineeManagementBussiness traineeManagement, BlockClassManagement block)
        {
            Regular = new RegularTeachingBussiness(regular, traineeManagement);
            Block   = new BlockTeachingBussiness(block, traineeManagement);
            Others  = new OthersBussiness(traineeManagement.Dal);

            Regular.TraineeCountChanged += (sender, args) => TraineeCountChanged?.Invoke(sender, args);
            Block.TraineeCountChanged   += (sender, args) => TraineeCountChanged?.Invoke(sender, args);
        }