public async Task <IActionResult> Edit(int id, Professor professor)
        {
            if (!ModelState.IsValid)
            {
                var departments = await _departmentService.FindAllAsync();

                var viewModel = new ProfessorFormViewModel {
                    professor = professor, Departments = departments
                };
                return(View(viewModel));
            }
            if (id != professor.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id mismatch" }));
            }
            try
            {
                await _professorService.UpdateAsync(professor);

                return(RedirectToAction(nameof(Index)));
            }
            catch (NotFoundException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
            catch (DbConcurrencyException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
Esempio n. 2
0
        // GET: Admin/Professors/Edit
        public async Task <ActionResult> Edit(Guid?id)
        {
            if (!id.HasValue)
            {
                return(HttpNotFound());
            }

            ProfessorFormViewModel viewModel = null;

            try
            {
                var professor = await _professorRepository.GetProfessorById(id.Value);

                viewModel = new ProfessorFormViewModel(professor)
                {
                    IsNew = false
                };
            }
            catch (BadRequestException bre)
            {
                AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState);
            }

            // Add properties to layout
            AddPageHeader(viewModel.Title, "");

            AddBreadcrumb("Professors", Url.Action("Index", "Professors", new { area = "Admin" }));
            AddBreadcrumb(viewModel.Title, "");

            return(View("ProfessorForm", viewModel));
        }
Esempio n. 3
0
        public async Task <ActionResult> Save(ProfessorFormViewModel form)
        {
            if (ModelState.IsValid)
            {
                ProfessorDto newProfessor = null;

                try
                {
                    ProfessorDto professor = (form.IsNew)
                        ? new ProfessorDto()
                        : await _professorRepository.GetProfessorById(form.Id.Value);

                    professor.FirstName       = form.FirstName;
                    professor.LastName        = form.LastName;
                    professor.Email           = form.Email;
                    professor.CellphoneNumber = form.CellphoneNumber;

                    if (form.IsNew)
                    {
                        newProfessor = await _professorRepository.PostProfessor(professor);

                        var registerBindingModel = new RegisterBindingModel
                        {
                            Email    = professor.Email,
                            Password = "******",
                            UserId   = newProfessor.Id,
                            UserRole = "AppProfessor"
                        };

                        await _accountRepository.RegisterAccount(registerBindingModel);
                    }
                    else
                    {
                        await _professorRepository.PutProfessor(professor.Id, professor);
                    }

                    AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully.");

                    return(RedirectToAction("Index"));
                }
                catch (BadRequestException bre)
                {
                    AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState);

                    if (newProfessor != null)
                    {
                        await _accountRepository.DeleteAccount(newProfessor.Email);
                    }
                }
            }

            // Add properties to layout
            AddPageHeader(form.Title, "");

            AddBreadcrumb("Professors", Url.Action("Index", "Professors", new { area = "Admin" }));
            AddBreadcrumb(form.Title, "");

            return(View("ProfessorForm", form));
        }
Esempio n. 4
0
        public ActionResult AddProfessor()
        {
            var viewModel = new ProfessorFormViewModel
            {
                Departments = _context.Departments.ToList(),
                Posts       = _context.Posts.ToList()
            };

            return(View("ProfessorForm", viewModel));
        }
        public async Task <IActionResult> Create()
        {
            var departments = await _departmentService.FindAllAsync();

            var viewModel = new ProfessorFormViewModel {
                Departments = departments
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Create() //Abri o formulário com os cursos cadastrado no sistema
        {
            var cursos = await _cursoService.FindAllAsync();

            var viewModel = new ProfessorFormViewModel {
                Cursos = cursos
            };

            return(View(viewModel));
        }
Esempio n. 7
0
        public ActionResult EditProfessor(short id)
        {
            var viewModel = new ProfessorFormViewModel
            {
                Professor   = _context.Professors.Single(c => c.Id == id),
                Departments = _context.Departments.ToList(),
                Posts       = _context.Posts.ToList()
            };

            return(View("ProfessorForm", viewModel));
        }
Esempio n. 8
0
        public async Task <IActionResult> Post([FromBody] ProfessorFormViewModel model)
        {
            var result = await _professorService
                         .Cadastrar(_mapper.Map <Professor>(model));

            if (result.IsValid)
            {
                return(Ok(_mapper.Map <ProfessorViewModel>(result.Entity)));
            }

            return(BadRequest(result.Result));
        }
Esempio n. 9
0
        // GET: Admin/Professors/New
        public ActionResult New()
        {
            var viewModel = new ProfessorFormViewModel
            {
                IsNew = true
            };

            // Add properties to layout
            AddPageHeader(viewModel.Title, "");

            AddBreadcrumb("Professors", Url.Action("Index", "Professors", new { area = "Admin" }));
            AddBreadcrumb(viewModel.Title, "");

            return(View("ProfessorForm", viewModel));
        }
        [ValidateAntiForgeryToken] //To prevent cross-site request forgery
        public async Task <IActionResult> Create(Professor professor)
        {
            if (!ModelState.IsValid)
            {
                var departments = await _departmentService.FindAllAsync();

                var viewModel = new ProfessorFormViewModel {
                    professor = professor, Departments = departments
                };
                return(View(viewModel));
            }
            await _professorService.InsertAsync(professor);

            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 11
0
        public async Task <IActionResult> Put(Guid id, [FromBody] ProfessorFormViewModel model)
        {
            if (!await _professorService.Existe(id))
            {
                return(RegistroNaoEncontrado(id));
            }

            var result = await _professorService.Editar(id, _mapper.Map <Professor>(model));

            if (result.IsValid)
            {
                return(Ok(_mapper.Map <ProfessorViewModel>(result.Entity)));
            }

            return(BadRequest(result.Result));
        }
        public async Task <IActionResult> Create(Professor professor)
        {
            if (!ModelState.IsValid)
            {
                var cursos = await _cursoService.FindAllAsync();

                var viewModel = new ProfessorFormViewModel {
                    Professor = professor, Cursos = cursos
                };
                return(View(viewModel));
            }

            await _ProfessorService.InsertAsync(professor);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id is null" }));
            }
            var obj = await _professorService.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id not found" }));
            }

            List <Department> departments = await _departmentService.FindAllAsync();

            ProfessorFormViewModel view = new ProfessorFormViewModel {
                professor = obj, Departments = departments
            };

            return(View(view));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id not provided" }));
            }
            var obj = await _ProfessorService.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { messsage = "Id not found" }));
            }

            List <Curso> cursos = await _cursoService.FindAllAsync();

            ProfessorFormViewModel viewModel = new ProfessorFormViewModel {
                Professor = obj, Cursos = cursos
            };

            return(View(viewModel));
        }