public void Inserir(Vestibular vestibular)
 {
     var retorno = from v in Vestibulares
                   where v.Descricao == vestibular.Descricao
                   select v;
     if (retorno.Count() > 0)
     {
         throw new InvalidOperationException("Vestibular com a mesma descrição");
     }
     else
     {
         try
         {
             vestContext.Vestibulares.Add(vestibular);
             vestContext.SaveChanges();
         }
         catch (DbEntityValidationException ex)
         {
             StringBuilder msgErro = new StringBuilder();
             var erros = vestContext.GetValidationErrors();
             //já informa quais campos que são do tipo [Required]
             //e que não foram preenchidos
             foreach (var erro in erros)
             {
                 foreach (var detalheErro in erro.ValidationErrors)
                 {
                     msgErro.Append(detalheErro.ErrorMessage);
                     msgErro.Append('\n');
                 }
             }
             vestContext.Entry(vestibular).State = System.Data.Entity.EntityState.Detached;
             throw new InvalidOperationException(msgErro.ToString());
         }
     }
 }
 public void Alterar(Vestibular vestibular)
 {
     var atualizaVestibular = vestContext.Vestibulares.Where(x => x.ID == vestibular.ID).FirstOrDefault();
     atualizaVestibular.DataFim = vestibular.DataFim;
     atualizaVestibular.DataInicio = vestibular.DataInicio;
     atualizaVestibular.DataProva = vestibular.DataProva;
     atualizaVestibular.Descricao = vestibular.Descricao;
     vestContext.SaveChanges();
 }
        public void InicializaTest()
        {
            var candidatosParaRemover = from c in vestContext.Candidatos select c;
            if (candidatosParaRemover.Count() > 0)
            {
                foreach (var a in candidatosParaRemover)
                {
                    vestContext.Candidatos.Remove(a);
                }
                vestContext.SaveChanges();
            }

            //Insere o Vestibular
            vestibularInserir = new Vestibular
            {
                DataFim = DateTime.Now,
                DataInicio = DateTime.Now.AddDays(-10),
                DataProva = DateTime.Now.AddDays(-10),
                Descricao = "Tecnio em Redes"
            };
            vestContext.Vestibulares.Add(vestibularInserir);
            vestContext.SaveChanges();

            //Insere o Curso
            cursoInserir = new Curso
            {
                Descricao = "Computação",
                Vagas = 5
            };
            ///Ação
            vestContext.Cursos.Add(cursoInserir);
            vestContext.SaveChanges();

            ///Aqui é feita uma injeção manual
            candidatoRepository = new EFCandidatoRepository(vestContext);

            candidatoInserir = new Candidato
            {
                Curso = cursoInserir,
                DataNascimento = new DateTime(1986, 5, 5),
                Cpf = "35848857873",
                Email = "*****@*****.**",
                Senha = "123456",
                Sexo = "Masculino",
                Telefone = "11 9 86602829",
                Nome = "Marcus",
                Vestibular = vestibularInserir
            };
            vestContext.Candidatos.Add(candidatoInserir);
            vestContext.SaveChanges();
        }
 public void InsereVestibularTest()
 {
     ///Ambiente
     ///Insere o Vestibular
     vest1 = new Vestibular
     {
         DataFim = DateTime.Now,
         DataInicio = DateTime.Now.AddDays(-10),
         DataProva = DateTime.Now.AddDays(-10),
         Descricao = "Engenharia de Computação"
     };
     ivestibularRepository.Inserir(vest1);
     vest2 = new Vestibular
     {
         DataFim = DateTime.Now,
         DataInicio = DateTime.Now.AddDays(-10),
         DataProva = DateTime.Now.AddDays(-10),
         Descricao = "Analise de sistemas"
     };
     ivestibularRepository.Inserir(vest2);
 }
 public void Alterar(Vestibular vestibular)
 {
     throw new NotImplementedException();
 }
        public void RetornaVestibularPorID()
        {
            ///Ambiente
            vest2 = new Vestibular
            {
                DataFim = DateTime.Now,
                DataInicio = DateTime.Now.AddDays(-10),
                DataProva = DateTime.Now.AddDays(-10),
                Descricao = "Analise de sistemas " + Convert.ToString(DateTime.Now.AddSeconds(-30))
            };
            vest3 = new Vestibular
            {
                DataFim = DateTime.Now,
                DataInicio = DateTime.Now.AddDays(-10),
                DataProva = DateTime.Now.AddDays(-10),
                Descricao = "Analise de sistemas " + Convert.ToString(DateTime.Now.AddSeconds(-10))
            };
            ivestibularRepository.Inserir(vest3);
            ivestibularRepository.Inserir(vest2);
            //Ação e Assertiva
            var v1 = ivestibularRepository.Retorna(vest3.ID);
            var v2 = ivestibularRepository.Retorna(vest2.ID);

            Assert.IsNotNull(v1);
            Assert.IsNotNull(v2);
        }
 public void NaoPodeInsereVestibularSemInformarDatasTest()
 {
     vest2 = new Vestibular
       {
       Descricao = "Analise de sistemas " + Convert.ToString(DateTime.Now.AddSeconds(-30))
       };
     ivestibularRepository.Inserir(vest2);
 }