Exemplo n.º 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);
            };
        }