public void Add(Inscricao inscricao)
 {
     if (inscricao is IValidator)
     {
         ((IValidator)inscricao).Validate();
     }
     using (AppDBContext Context = new AppDBContext())
     {
         Context.Inscricoes.Add(inscricao);
         Context.SaveChanges();
     }
 }
 public void Add(Professor professor)
 {
     if (professor is IValidator)
     {
         ((IValidator)professor).Validate();
     }
     using (AppDBContext Context = new AppDBContext())
     {
         Context.Professores.Add(professor);
         Context.SaveChanges();
     }
 }
        public bool Delete(Curso curso)
        {
            bool retorno = true;
            try
            {
                using (AppDBContext Context = new AppDBContext())
                {
                    Curso cursoTemp = Context.Cursos.FirstOrDefault(c => c.Id == curso.Id);
                    Context.Cursos.Remove(cursoTemp);
                    Context.SaveChanges();
                }
            }
            catch (Exception)
            {
                retorno = false;
            }

            return retorno;
        }
        public bool Delete(Professor professor)
        {
            bool retorno = true;
            try
            {
                using (AppDBContext Context = new AppDBContext())
                {
                    Professor professorTemp = Context.Professores.FirstOrDefault(c => c.Id == professor.Id);
                    Context.Professores.Remove(professorTemp);
                    Context.SaveChanges();
                }
            }
            catch (Exception)
            {
                retorno = false;
            }

            return retorno;
        }
        public void Add(Curso curso)
        {
            if (curso is IValidator)
            {
                ((IValidator)curso).Validate();
            }
            using (AppDBContext Context = new AppDBContext())
            {
                List<Professor> professores = new List<Professor>();

                foreach(Professor p in curso.Professores){
                    professores.Add(Context.Professores.FirstOrDefault(x => x.Id == p.Id));
                }

                curso.Professores = professores;

                Context.Cursos.Add(curso);
                Context.SaveChanges();
            }
        }
        public void Update(Curso curso)
        {
            using (AppDBContext Context = new AppDBContext())
            {
                List<Professor> professores = new List<Professor>();

                foreach (Professor p in curso.Professores)
                {
                    professores.Add(Context.Professores.FirstOrDefault(x => x.Id == p.Id));
                }

                curso = Context.Cursos.Include(x => x.Professores).FirstOrDefault(c => c.Id == curso.Id);
                curso.Professores = professores;
                Context.SaveChanges();
            }
        }
 public void Update(Professor professor)
 {
     if (professor is IValidator)
     {
         ((IValidator)professor).Validate();
     }
     using (AppDBContext Context = new AppDBContext())
     {
         Context.Entry(professor).State = EntityState.Modified;
         Context.SaveChanges();
     }
 }