public int SaveTrainingScheduleAssignmentForUser(TrainingAssignmentAttemptViewModel model, int OrganizationId)
 {
     //Insert
     if (model.TrainingAssignmentAttemptId == 0)
     {
         var assignmentAttempt = Mapper.Map <TrainingAssignmentAttemptViewModel, TrainingAssignmentAttempt>(model);
         assignmentAttempt.OrganizationId = OrganizationId;
         base.RepositoryContext.TrainingAssignmentAttempts.Add(assignmentAttempt);
         base.RepositoryContext.TrainingAssignmentAnswers.AddRange(assignmentAttempt.TrainingAssignmentAnswers);
         return(base.RepositoryContext.SaveChanges());
     }
     else
     {
         var assignmentAttempt = new TrainingAssignmentAttempt();
         Mapper.Map(model, assignmentAttempt);
         var assignmentAnswers = assignmentAttempt.TrainingAssignmentAnswers;
         assignmentAttempt.TrainingAssignmentAnswers           = null;
         base.RepositoryContext.Entry(assignmentAttempt).State = EntityState.Modified;
         foreach (var answer in assignmentAnswers)
         {
             base.RepositoryContext.Entry(answer).State = EntityState.Modified;
         }
         return(base.RepositoryContext.SaveChanges());
     }
 }
Пример #2
0
        public int SaveAssignmentScoreForUser(TrainingAssignmentAttemptViewModel model, int OrganizationId)
        {
            //var assignmentAttempt = base.RepositoryContext.TrainingAssignmentAttempts.Where(a => a.TrainingAssignmentAttemptId == model.TrainingAssignmentAttemptId).SingleOrDefault();
            TrainingAssignmentAttempt assignmentAttempt = new TrainingAssignmentAttempt();

            Mapper.Map(model, assignmentAttempt);
            assignmentAttempt.OrganizationId = OrganizationId;
            base.RepositoryContext.TrainingAssignmentAttempts.Attach(assignmentAttempt);
            base.RepositoryContext.Entry(assignmentAttempt).Property(a => a.Score).IsModified  = true;
            base.RepositoryContext.Entry(assignmentAttempt).Property(a => a.Retest).IsModified = true;
            return(base.RepositoryContext.SaveChanges());
        }
        public TrainingAssignmentAttemptViewModel GetTrainingScheduleAssignmentForUser(int trainingScheduleId, int assignmentId, bool retest, bool isAssignmentRequired, int userId, int OrganizationId)
        {
            TrainingAssignmentAttempt assignmentAttempt = null;
            List <AssignmentQuestion> questionList      = null;

            assignmentAttempt = base.RepositoryContext.TrainingAssignmentAttempts.Where(a => a.TrainingScheduleId == trainingScheduleId && a.AssignmentId == assignmentId && a.UserId == userId && a.OrganizationId == OrganizationId)
                                .Include(a => a.TrainingAssignmentAnswers).OrderByDescending(a => a.AttemptDate).FirstOrDefault();

            if (isAssignmentRequired)
            {
                questionList = base.RepositoryContext.AssignmentQuestions.Where(a => a.AssignmentID == assignmentId && a.Active == 1 && a.OrganizationId == OrganizationId).OrderBy(a => a.Order).Include(a => a.AssignmentQuestionOptions).ToList();
            }

            if (assignmentAttempt == null || retest)
            {
                var viewModel = new TrainingAssignmentAttemptViewModel()
                {
                    TrainingScheduleId        = trainingScheduleId,
                    AssignmentId              = assignmentId,
                    UserId                    = userId,
                    TrainingAssignmentAnswers = !isAssignmentRequired ? null : Mapper.Map <List <AssignmentQuestion>, List <TrainingAssignmentAnswerViewModel> >(questionList)
                };
                return(viewModel);
            }
            else
            {
                var viewModel = Mapper.Map <TrainingAssignmentAttempt, TrainingAssignmentAttemptViewModel>(assignmentAttempt);
                foreach (var qu in viewModel.TrainingAssignmentAnswers)
                {
                    var question = questionList.Where(q => q.QuestionID == qu.QuestionId).SingleOrDefault();
                    qu.QuestionText = question.QuestionText;
                    qu.QuestionType = Convert.ToInt32(question.QuestionType);
                    qu.AssignmentQuestionOptions = Mapper.Map <List <AssignmentQuestionOption>, List <AssignmentQuestionOptionViewModel> >(question.AssignmentQuestionOptions.ToList());
                }
                return(viewModel);
            }
        }
 public int SaveAssignmentScoreForUser(TrainingAssignmentAttemptViewModel model)
 {
     return(this._ITrainingScheduleRepository.SaveAssignmentScoreForUser(model, base.OrganizationId));
 }
Пример #5
0
 public int SaveTrainingScheduleAssignmentForUser(TrainingAssignmentAttemptViewModel model)
 {
     model.UserId      = base.UserId;
     model.AttemptDate = DateTime.Now;
     return(this._ITrainingScheduleUserRepository.SaveTrainingScheduleAssignmentForUser(model, base.OrganizationId));
 }