public void Salvar(Professor professor)
 {
     if (professor.ProfessorId > 0)
         Alterar(professor);
     else
         Inserir(professor);
 }
 private void Inserir(Professor professor)
 {
     var strQuery = " ";
     strQuery += " INSERT INTO PROFESSOR (Nome, Habilidades, Salario) ";
     strQuery += string.Format(" VALUES ('{0}','{1}', '{2}') ",
         professor.Nome, professor.Habilidades, professor.Salario.ToString(CultureInfo.InvariantCulture));
     contexto.ExecutaComando(strQuery);
 }
 private void Alterar(Professor professor)
 {
     var strQuery = " ";
     strQuery += " UPDATE PROFESSOR SET ";
     strQuery += string.Format(" Nome = '{0}', ", professor.Nome);
     strQuery += string.Format(" Habilidades = '{0}', ", professor.Habilidades);
     strQuery += string.Format(" Salario = '{0}' ", professor.Salario.ToString(CultureInfo.InvariantCulture));
     strQuery += string.Format(" WHERE ProfessorId = {0}", professor.ProfessorId);
     contexto.ExecutaComando(strQuery);
 }
        public ActionResult Editar(Professor professor)
        {
            if (ModelState.IsValid)
            {
                var aplicacao = new ProfessorAplicacao();
                aplicacao.Salvar(professor);
                return RedirectToAction("Index");
            }

            return View(professor);
        }
 private List<ProfessorDisciplinaViewModel> PreencherDisciplinaDoProfessor(Professor professor)
 {
     var todasAsDisciplinas = new DisciplinaAplicacao().ListarTodos();
     var professorDisciplinasId = new HashSet<int>(professor.Disciplinas.Select(c => c.DisciplinaId));
     var viewModel = new List<ProfessorDisciplinaViewModel>();
     foreach (var disciplina in todasAsDisciplinas)
     {
         viewModel.Add(new ProfessorDisciplinaViewModel()
         {
             Disciplina = disciplina,
             Associado = professorDisciplinasId.Contains(disciplina.DisciplinaId)
         });
     }
     return viewModel;
 }
        public ActionResult Editar(Professor professor, int[] disciplinaSelecionadas)
        {
            if (ModelState.IsValid)
            {
                professor.Disciplinas = new Collection<Disciplina>();
                if (disciplinaSelecionadas != null)
                    foreach (var disciplinaSelecionada in disciplinaSelecionadas)
                        professor.Disciplinas.Add(new Disciplina { DisciplinaId = disciplinaSelecionada });

                var aplicacao = new ProfessorDisciplinaAplicacao();
                aplicacao.Salvar(professor);
                return RedirectToAction("Index");
            }
            ViewBag.ListaProfessorDisciplina = PreencherDisciplinaDoProfessor(professor);
            return View(professor);
        }
        private List<Professor> TransformaReaderEmListaDeObjeto(SqlDataReader reader)
        {
            var professor = new List<Professor>();
            while (reader.Read())
            {
                var tempObjeto = new Professor()
                {
                    ProfessorId = int.Parse(reader["ProfessorId"].ToString()),
                    Nome = reader["Nome"].ToString(),
                    Habilidades = reader["Habilidades"].ToString(),
                    Salario = Decimal.Parse(reader["Salario"].ToString())

                };
                professor.Add(tempObjeto);
            }
            return professor;
        }
 public void Salvar(Professor professor)
 {
     ExcluirDisciplinasDoProfessor(professor.ProfessorId);
     InserirDisciplinasDoProfessor(professor.ProfessorId, professor.Disciplinas.Select(c => c.DisciplinaId).ToArray());
 }