public ActionResult Edit(int id, IFormCollection collection)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Trainee trainee = new Trainee();
                    trainee.Name      = collection["Name"];
                    trainee.BirthDate = DateTime.Parse(collection["BirthDate"]);
                    Gender g;
                    Enum.TryParse(collection["Gender"], out g);
                    trainee.Gender    = g;
                    trainee.MobileNum = collection["MobileNum"];
                    trainee.TrackID   = int.Parse(collection["TrackID"]);
                    traineeRepository.Update(id, trainee);

                    return(RedirectToAction(nameof(Index)));
                }
                return(View());
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 2
0
        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")));
            }
        }
Ejemplo n.º 3
0
        public async Task <bool> Update(Trainee trainee)
        {
            try
            {
                var status = await _repository.Update(trainee);

                return(status);
            }
            catch (OzoneException ex)
            {
                throw new OzoneException(ex.Message, ex.InnerException);
            }
        }
Ejemplo n.º 4
0
        public ResponseMessageDTO CreateTraining(CreateTrainingInputDTO createTrainingInput)
        {
            try
            {
                if (DateTime.Now > DateCalculator.StringToDate(createTrainingInput.StartDate))
                {
                    //Dont allow create training at present day

                    return(new ResponseMessageDTO(false, L("CreateTraining_TodayFail")));
                }

                //Create training
                Training newTraining = new Training()
                {
                    ProgramId               = createTrainingInput.ProgramID,
                    StatusId                = _trainingStatusRepository.GetTrainingStatusIdByName(TrainingStatus.PLANNED),
                    StartDate               = DateCalculator.StringToDate(createTrainingInput.StartDate),
                    EndDate                 = DateCalculator.StringToDate(createTrainingInput.EndDate),
                    TotalDuration           = createTrainingInput.TotalDuration,
                    ArrayOfAssignedTrainees = JsonConvert.DeserializeObject <int[]>(createTrainingInput.AssignedTrainees),
                    ArrayOfAssignedTrainers = JsonConvert.DeserializeObject <int[]>(createTrainingInput.AssignedTrainers),
                    ModuleArrangement       = createTrainingInput.ModulesArrangement
                };

                int trainingID = _trainingRepository.InsertAndGetId(newTraining);

                if (trainingID != 0)
                {
                    var training = _trainingRepository.Get(trainingID);

                    #region Update trainings targeted of trainees assigned

                    List <int> listAssignedTraineeID = training.ArrayOfAssignedTrainees.ToList();

                    foreach (int assignedTraineeID in listAssignedTraineeID)
                    {
                        var assignedTrainee = _traineeRepository.Get(assignedTraineeID);

                        List <int> listTrainingsTargeted = assignedTrainee.ArrayOfTargetedTraining.ToList();

                        listTrainingsTargeted.Add(trainingID);
                        listTrainingsTargeted = listTrainingsTargeted.Distinct().ToList();

                        assignedTrainee.ArrayOfTargetedTraining = listTrainingsTargeted.ToArray();

                        var updateTrainee = _traineeRepository.Update(assignedTrainee);

                        if (updateTrainee.Id == 0)
                        {
                            return(new ResponseMessageDTO(false, L("CreateTraining_DbFail")));
                        }
                    }

                    #endregion

                    return(new ResponseMessageDTO(true, L("CreateTraining_Success")));
                }
                else
                {
                    return(new ResponseMessageDTO(false, L("CreateTraining_Fail")));
                }
            }
            catch
            {
                return(new ResponseMessageDTO(false, L("CreateTraining_Fail") + L("UnknownError")));
            }
        }
Ejemplo n.º 5
0
 public IActionResult Edit(Trainee trainee)
 {
     ViewBag.CourseID = db2.GetAll();
     db.Update(trainee);
     return(RedirectToAction("Index"));
 }