public ResponseMessageDTO RegisterTrainee(RegisterTraineeInputDTO registerTraineeInput) { try { //Get trainee who want to register to the training Trainee registerTrainee = _traineeRepository.Get(registerTraineeInput.TraineeId); //Get training that open for the trainee to register Training registerTraining = _trainingRepository.Get(registerTraineeInput.TrainingId); //Check the trainee is already registered for the training or not if (_compareAppService.Duplicate(registerTrainee.Id, registerTraining.ArrayOfAssignedTrainees) || _compareAppService.Duplicate(registerTraining.Id, registerTrainee.ArrayOfTargetedTraining)) { //Already registered -> return message return(new ResponseMessageDTO() { Status = false, Message = L("Register_TraineeFailed_TraineeExisted") }); } else { //Not yet register -> register trainee to training List <int> traineesAssigned = registerTraining.ArrayOfAssignedTrainees.ToList(); List <int> targetedForProgram = registerTrainee.ArrayOfTargetedTraining.ToList(); traineesAssigned.Add(registerTraineeInput.TraineeId); targetedForProgram.Add(registerTraineeInput.TrainingId); registerTraining.ArrayOfAssignedTrainees = traineesAssigned.ToArray(); registerTrainee.ArrayOfTargetedTraining = targetedForProgram.ToArray(); //Update trainee and training to database var updateTraining = _trainingRepository.Update(registerTraining); var updateTrainee = _traineeRepository.Update(registerTrainee); if (updateTraining.Id != 0) { if (updateTrainee.Id != 0) { return(new ResponseMessageDTO(true, L("Register_TraineeSuccess"))); } else { return(new ResponseMessageDTO(false, L("Register_Trainee_UpdateFail"))); } } else { return(new ResponseMessageDTO(false, L("Register_Trainee_UpdateTrainingFail"))); } } } catch { return(new ResponseMessageDTO(false, L("Register_TraineeFaile"))); } }
public ResponseMessageDTO register(RegisterTraineeInputDTO registerTraineeInput) { return(_traineeAppService.RegisterTrainee(registerTraineeInput)); }