Ejemplo n.º 1
0
        public async Task <IActionResult> Create(CreateEvaluationViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var currentUser = _userManager.FindByEmailAsync(User.Identity.Name).Result;
                var evaluation  = new Evaluation(viewModel.SelectedEvaluationTypeId, viewModel.SelectedTechniqueId, currentUser.Id, viewModel.SelectedStudentId);

                _context.Add(evaluation);
                await _context.SaveChangesAsync();

                var evaluationCriteria = _context.EvaluationCriterias.ToList();

                evaluation.InitializeEvaluationStepEntries(evaluationCriteria);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Edit), new { id = evaluation.Id }));
            }


            var users = _userManager.GetUsersInRoleAsync("Student").Result;

            viewModel.TechniqueSelectList       = new SelectList(_context.Techniques.OrderBy(x => x.Description).ToList(), "Id", "Description");
            viewModel.EvaluationTypesSelectList = new SelectList(_context.EvaluationTypes.OrderBy(x => x.Description).ToList(), "Id", "Description");
            viewModel.UsersSelectList           = new SelectList(users.OrderBy(x => x.UserName), "Id", "UserName");

            return(View(viewModel));
        }
        public async Task <IActionResult> Create([Bind("Id,Description,SequenceNumber,EvaluationCriteriaGroupId,TotalPoints")] EvaluationCriteria evaluationCriteria)
        {
            if (ModelState.IsValid)
            {
                _context.Add(evaluationCriteria);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(evaluationCriteria));
        }