Example #1
0
        private void AddViewModel(ITaskViewModel taskViewModel, TabItem tabItem)
        {
            try
            {
                if (tabMap.ContainsKey(taskViewModel.Id))
                {
                    throw new InvalidOperationException("There is already a tab for this task. name=" + taskViewModel.Name + " description=" + taskViewModel.Description);
                }

                taskViewModel.AddStartedCallback(x => TaskStarted(x));

                var taskResultViewModel = new TaskResultViewModel(taskViewModel, tabItem);

                tabItem.DataContext = taskResultViewModel;
                taskResultViewModel.AddClosedCallback(x => CloseTab(x));

                tabMap.Add(taskViewModel.Id, taskResultViewModel);

                var existing = taskController.Tasks.Where(x => x.Id == taskViewModel.Id).FirstOrDefault();
                if (existing == null)
                {
                    taskController.AddTaskViewModel(taskViewModel);
                }
            }
            catch (Exception ex)
            {
                logger.Error("  TaskResultView.AddViewModel", ex);
            }
        }
Example #2
0
        public IActionResult AddTaskResult(int id)
        {
            TaskResultViewModel model = new TaskResultViewModel();
            var candidate             = _context.Candidates.FirstOrDefault(x => x.CandidateID == id);

            if (candidate == null || candidate.InvitedToInterview == true)
            {
                return(RedirectToAction("List"));
            }

            model.Candidate = candidate;

            if (_context.TaskResult.Any(c => c.Candidate == candidate))
            {
                model.Value         = _context.TaskResult.Where(c => c.Candidate == model.Candidate).Select(x => x.Value).ToList();
                model.TaskGroupName = _context.TaskResult.Where(c => c.Candidate == model.Candidate).Select(x => x.TaskResultLimit.TaskGroup.TaskGroupName).ToList();
            }
            else
            {
                List <TaskResultLimit> currentTestResultLimits = _context.TaskResultLimits.OrderByDescending(x => x.Date).Take(10).ToList();

                for (int i = 0; i < 10; i++)
                {
                    model.Value.Add(0.0);
                    int    TaskGroupID   = currentTestResultLimits[i].TaskGroupID;
                    string TaskGroupName = _context.TaskGroups.Where(x => x.TaskGroupID == TaskGroupID).Select(x => x.TaskGroupName).FirstOrDefault();
                    model.TaskGroupName.Add(TaskGroupName);
                }
            }

            return(View(model));
        }
        public void AddInitialCandidateTestResults()
        {
            //Arrange
            CreateValidCandidate(_context);
            TaskResultViewModel viewModel = new TaskResultViewModel {
                Value = new List <double> {
                    1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
                }
            };

            for (int i = 0; i < 10; i++)
            {
                TaskResultLimit taskResultLimit = new TaskResultLimit();
                taskResultLimit.MaxValue  = 5;
                taskResultLimit.TaskGroup = null;
                _context.TaskResultLimits.Add(taskResultLimit);
                _context.SaveChanges();
            }

            //Act
            IActionResult result = _sut.AddTaskResult(viewModel, 1);

            //Assert
            RedirectToActionResult viewResult = Assert.IsType <RedirectToActionResult>(result);

            MockCandidateTestResultProcessor.Verify(x => x.SaveInitialCandidateResults(It.IsAny <TaskResultViewModel>(), It.IsAny <List <TaskResultLimit> >(), It.IsAny <ApplicationDbContext>()), Times.Once);
        }
        public ActionResult Get(long resultId)
        {
            var result = new TaskResultViewModel
            {
                TaskResult = _apiService.GetResult(resultId).ToModel()
            };

            return(View(result));
        }
 public void UpdateExistingCandidateResults(TaskResultViewModel model, ApplicationDbContext _context, List <TaskResult> candidateTaskResults)
 {
     for (int i = 0; i < model.Value.Count; i++)
     {
         _context.Attach(candidateTaskResults[i]);
         candidateTaskResults[i].Value = model.Value[i];
         _context.SaveChanges();
     }
 }
        public void AddTaskResultPostAddInitialTestResults()
        {
            TaskResultViewModel taskResultViewModel = new TaskResultViewModel();

            for (int i = 0; i < 10; i++)
            {
                _context.TaskResultLimits.Add(new TaskResultLimit {
                    MaxValue = 1
                });
                _context.SaveChanges();
            }

            IActionResult result = _sut.AddTaskResult(taskResultViewModel, 1);
        }
        public void SaveInitialCandidateResults(TaskResultViewModel model, List <TaskResultLimit> currentTestResultLimits, ApplicationDbContext _context)
        {
            for (int i = 0; i < model.Value.Count; i++)
            {
                var taskResult = new TaskResult
                {
                    Value           = model.Value[i],
                    Candidate       = model.Candidate,
                    TaskResultLimit = currentTestResultLimits[i]
                };

                _context.TaskResult.Add(taskResult);
                _context.SaveChanges();
            }
        }
Example #8
0
        protected override void OnStartup(StartupEventArgs e)
        {
            IKernel kernel = new StandardKernel();

            kernel.Load(new INinjectModule[] { new UiModule(), new ModelModule() });

            /*
             * var testSelector = kernel.Get<ISelectTestUi>();
             * testSelector.Show();*/
            var resultWindow = new TestResultWindow();

            var result = new TaskResultViewModel("myText lorm ipsum blub blub lbu fdafjd ja sfd af myText lorm ipsum ...", 2, 3);

            resultWindow.setInput(new TaskResultViewModel[] { result }.ToList());
            resultWindow.Show();

            base.OnStartup(e);
        }
Example #9
0
        public IActionResult AddTaskResult(TaskResultViewModel model, int id)
        {
            model.Candidate = _context.Candidates.FirstOrDefault(x => x.CandidateID == id);
            var CandidateHasTaskResults = _context.TaskResult.Any(x => x.Candidate == model.Candidate);

            if (CandidateHasTaskResults)
            {
                var candidateTaskResults       = _context.TaskResult.Where(x => x.Candidate == model.Candidate).ToList();
                var candidateTestResultsLimits = _context.TaskResult.Where(x => x.Candidate == model.Candidate).Select(x => x.TaskResultLimit).ToList();
                model.TaskGroupName = _context.TaskResult.Where(c => c.Candidate == model.Candidate).Select(x => x.TaskResultLimit.TaskGroup.TaskGroupName).ToList();

                var validationResultMessage = _candidateTestResultProcessor.ValidateTestResultsToTestResultLimits(candidateTestResultsLimits, model);

                if (validationResultMessage != null)
                {
                    ModelState.AddModelError(string.Empty, validationResultMessage);
                    return(View(model));
                }

                _candidateTestResultProcessor.UpdateExistingCandidateResults(model, _context, candidateTaskResults);
            }
            else
            {
                List <TaskResultLimit> currentTestResultLimits = _context.TaskResultLimits.OrderByDescending(x => x.Date).Take(10).ToList();
                model.TaskGroupName = _context.TaskResultLimits.OrderByDescending(x => x.Date).Select(x => x.TaskGroup.TaskGroupName.ToString()).Take(10).ToList();

                var validationResultMessage = _candidateTestResultProcessor.ValidateTestResultsToTestResultLimits(currentTestResultLimits, model);

                if (validationResultMessage != null)
                {
                    ModelState.AddModelError(string.Empty, validationResultMessage);
                    return(View(model));
                }

                _candidateTestResultProcessor.SaveInitialCandidateResults(model, currentTestResultLimits, _context);
            }

            return(RedirectToAction("List"));
        }
        public string ValidateTestResultsToTestResultLimits(List <TaskResultLimit> testResultLimits, TaskResultViewModel model)
        {
            string message = null;

            for (int i = 0; i < testResultLimits.Count; i++)
            {
                if (model.Value[i] > testResultLimits[i].MaxValue)
                {
                    message = $"Testas numeriu: {i + 1} negali būti didesnis negu {testResultLimits[i].MaxValue}";
                }
            }
            return(message);
        }