Exemplo n.º 1
0
        public async Task <IActionResult> Create()
        {
            var viewModel = new AdminControllerCreateViewModel
            {
                Departments = await LoadDepartmentSelectList(),
            };

            return(View(viewModel));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create(AdminControllerCreateViewModel viewModel)
        {
            if (ModelState.IsValid == false)
            {
                viewModel.Departments = await LoadDepartmentSelectList();

                return(View(viewModel));
            }

            // insert application

            var vacancyModel = new VacancyBaseModel
            {
                JobTitle       = _htmlSanitizer.Sanitize(viewModel.Vacancy.JobTitle),
                JobDescription = _htmlSanitizer.Sanitize(viewModel.Vacancy.JobDescription),
                SalaryMin      = (int)viewModel.Vacancy.SalaryMin,
                SalaryMax      = (int)viewModel.Vacancy.SalaryMax,
                DepartmentId   = (int)viewModel.Department,
                ContractType   = _htmlSanitizer.Sanitize(viewModel.Vacancy.ContractType),
                StartDate      = viewModel.Vacancy.StartDate,
                EndDate        = viewModel.Vacancy.EndDate,
                Published      = viewModel.Vacancy.Published
            };

            var questionModels = new List <VacancyQuestionBaseModel>();

            foreach (var question in viewModel.Questions)
            {
                questionModels.Add(new VacancyQuestionBaseModel
                {
                    Question     = _htmlSanitizer.Sanitize(question.Question),
                    IsRequired   = question.IsRequired,
                    MinLength    = question.MinLength,
                    MaxLength    = question.MaxLength,
                    DisplayOrder = question.DisplayOrder
                });
            }

            var vacancyId = await _vacancyCrud.Insert(vacancyModel, questionModels);

            return(Redirect($"/admin/details/{vacancyId}"));
        }