public IActionResult Evaluate(string i_id)
        {
            EvaluateViewModel model = new EvaluateViewModel();

            model.itemID = i_id;
            model.item   = DataBaseAccess.getObject <Item>(new Item(i_id));
            return(View(model));
        }
        public async Task <ActionResult> Evaluate(int assignmentId, string studentId)
        {
            EvaluateViewModel viewModel = await _service.GetEvaluateViewModelAsync(assignmentId, studentId);

            if (viewModel == null)
            {
                return(HttpNotFound());
            }
            return(View(viewModel));
        }
        public async Task <EvaluateViewModel> GetEvaluateViewModelAsync(int assignmentId, string studentId)
        {
            SubmissionDTO submission = await service.GetByCompositeKeysAsync(assignmentId, studentId);

            if (submission == null)
            {
                return(null);
            }

            var viewModelData           = new EvaluateViewData(assignmentId, studentId, submission);
            EvaluateViewModel viewModel = viewFactory.CreateView <EvaluateViewData, EvaluateViewModel>(viewModelData);

            return(viewModel);
        }
        public async Task <ActionResult> Evaluate(EvaluateInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                await _service.EvaluateAsync(inputModel);

                return(RedirectToAction("Student", "Mentors", new { id = inputModel.studentId }));
            }

            EvaluateViewModel viewModel = new EvaluateViewModel
            {
                Submission = await _service.GetSubmissionAsync(inputModel.assignmentId, inputModel.studentId),
                Grade      = inputModel.Grade
            };

            return(View(viewModel));
        }
Beispiel #5
0
 /// <summary/>
 public TaskViewModel(Task curTask)
 {
     ID = curTask.ID;
     Title = curTask.Title;
     Description = curTask.Description;
     Priority = curTask.Priority;
     Version = curTask.Version;
     CreateOn = curTask.CreateOn;
     CreateBy = curTask.Submitter.Name;
     AssignTo = curTask.Handler.Name;
     DeviceId = curTask.DeviceId;
     StartTime = curTask.StartTime;
     EndTime = curTask.EndTime;
     myInteractions = new List<AbstractInteractionViewModel>();
     foreach (var curItem in curTask.Interactions)
     {
         AbstractInteractionViewModel interactionViewModel;
         switch (curItem.GetType().Name)
         {
             case "TicketCheckInteraction":
                 interactionViewModel = new TicketCheckViewModel( curItem as TicketCheckInteraction);
                 break;
             case "PreAnalysisInteraction":
                 interactionViewModel = new PreAnalysisViewModel(curItem as PreAnalysisInteraction);
                 break;
             case "SolveInteraction":
                 interactionViewModel = new SolveViewModel(curItem as SolveInteraction);
                 break;
             case "EvaluateInteraction":
                 interactionViewModel = new EvaluateViewModel(curItem as EvaluateInteraction);
                 break;
             case "RegressionInteraction":
                 interactionViewModel = new RegressionViewModel(curItem as RegressionInteraction);
                 break;
             case "FeedbackInteraction":
                 interactionViewModel = new FeedbackViewModel(curItem as FeedbackInteraction);
                 break;
             default:
                 continue;
         }
         myInteractions.Add( interactionViewModel );
     }
 }
Beispiel #6
0
        public async Task <IActionResult> Evaluation(int factId, string input)
        {
            var fact = await _context
                       .Facts
                       .AsNoTracking()
                       .SingleOrDefaultAsync(f => f.Id == factId);

            var user = await _userManager.GetUserAsync(User);


            if (input == fact.Value)
            {
                if (fact.RepetitionLevel != 10)
                {
                    Random random = new Random();
                    user.Points += random.Next(11, 15);
                    fact.RepetitionLevel++;
                }
            }
            else
            {
                fact.RepetitionLevel = 0;
            }

            fact.NextTime = SetDate(fact.RepetitionLevel);

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(user);
                    _context.Update(fact);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FactExists(factId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }

            TimeSpan span = fact.NextTime - DateTime.Now;

            int daySpan = (int)Math.Round((decimal)span.TotalDays);

            string daysTo = (daySpan == 0) ? "Now" : daySpan.ToString();

            var evaluateModel = new EvaluateViewModel
            {
                Value         = fact.Value,
                Key           = fact.Key,
                Input         = input,
                DaysToNexTest = daysTo
            };

            return(View(evaluateModel));
        }
Beispiel #7
0
        public async Task <IActionResult> Evaluate([FromBody] EvaluateViewModel vm)
        {
            await _record.ScoreAsync(vm.RecordId, vm.Score);

            return(Ok());
        }