public ActionResult Cadastrar(DisciplinaViewModel viewModel) { try { if (ModelState.IsValid) { //Inclui a disciplina var modelCad = Mapper.Map<DisciplinaViewModel, Disciplina>(viewModel); modelCad.ListaCodigoSia.Clear(); modelCad.ListaCurso.Clear(); _disciplinaApp.Incluir(modelCad); //Atribui ID ao ViewModel viewModel.Id = modelCad.Id; viewModel = EditarCamposDaDisciplina(viewModel); var modelEdit = Mapper.Map<DisciplinaViewModel, Disciplina>(viewModel); _disciplinaApp.Editar(modelEdit); Success("Cadastro efetuado com sucesso."); return RedirectToAction("Editar", "Disciplina", new {@id = modelEdit.Id}); } return RedirectToAction("Cadastrar", "Disciplina"); } catch (Exception ex) { throw ex; } }
public ActionResult Cadastrar() { var viewModel = new DisciplinaViewModel(); return View(viewModel); }
public ActionResult _ListaCursos(DisciplinaViewModel disciplinaViewModel) { try { var todosOsCursos = _cursoApp.ObterTodosAtivos(); foreach (var curso in todosOsCursos) { var selectCursoViewModel = new SelectCursoViewModel(curso); //verifica se o curso não está vinculado if (disciplinaViewModel.ListaCurso.Find(c => c.Id == selectCursoViewModel.Id) == null) { disciplinaViewModel.AdicionarCurso(selectCursoViewModel); } } if (disciplinaViewModel.Id > 0) { var model = _disciplinaApp.ObterPorId(disciplinaViewModel.Id); var disciplina = Mapper.Map<Disciplina, DisciplinaViewModel>(model); if (disciplina.ListaCurso.Any()) { foreach (var curso in disciplina.ListaCurso) { var cursoAux = _cursoApp.ObterPorId(curso.Id); var disciplinaCursoVinculado = disciplinaViewModel.ListaCurso.Find(c => c.Nome == cursoAux.Nome); disciplinaCursoVinculado.Selected = true; } } } return View(disciplinaViewModel); } catch (Exception ex) { throw ex; } }
private DisciplinaViewModel EditarCamposDaDisciplina(DisciplinaViewModel viewModel) { //Códigos SIA if (viewModel.CodigoSia != null) { char[] delimitador = {','}; foreach (var codigoSia in viewModel.CodigoSia.Split(delimitador)) { var modelCodigoSia = _codigoSiaApp.ObterOuIncluir(codigoSia); viewModel.ListaCodigoSia.Add(modelCodigoSia); } } //Cursos for (var i = 0; i <= viewModel.ListaCurso.Count - 1; i++) { if (!viewModel.ListaCurso[i].Selected) { viewModel.ListaCurso.Remove(viewModel.ListaCurso[i]); i--; //importante, pois quando remova o Count altera } } return viewModel; }
public ActionResult Editar(DisciplinaViewModel viewModel) { try { if (ModelState.IsValid) { if (_disciplinaApp.ObterPorId(viewModel.Id) != null) { viewModel = EditarCamposDaDisciplina(viewModel); var model = Mapper.Map<DisciplinaViewModel, Disciplina>(viewModel); _disciplinaApp.Editar(model); Information("Atualização efetuada com sucesso"); } } } catch (Exception ex) { throw ex; } return RedirectToAction("Editar", "Disciplina", new {@id = viewModel.Id}); }