예제 #1
0
        public IActionResult Put(int id, ClasseDomain classeAtualizada)
        {
            ClasseDomain classeBuscado = _classeRepository.BuscarPorId(id);

            if (classeBuscado != null)
            {
                try
                {
                    _classeRepository.Atualizar(id, classeAtualizada);

                    return(NoContent());
                }
                catch (Exception erro)
                {
                    return(BadRequest(erro));
                }
            }
            return(NotFound
                   (
                       new
            {
                mensagem = "Classe não encontrado",
                erro = true
            }
                   ));
        }
        public List <ClasseDomain> ListarTodos()
        {
            List <ClasseDomain> listaClasse = new List <ClasseDomain>();

            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string querySelectAll = "SELECT * FROM Classe;";
                con.Open();
                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(querySelectAll, con))
                {
                    rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        ClasseDomain classe = new ClasseDomain()
                        {
                            IdClasse   = Convert.ToInt32(rdr[0]),
                            NomeClasse = rdr[1].ToString()
                        };

                        listaClasse.Add(classe);
                    }
                }
            }

            return(listaClasse);
        }
        public bool Atualizar(int id, ClasseDomain classeAtualizada)
        {
            // busca uma classe pelo id que foi passado como parâmetro
            ClasseDomain classeBuscada = BuscarPorId(id);

            // busca uma classe pelo "nomeClasse" da classeAtualizada
            ClasseDomain classeBuscadaNome = context.Classes.FirstOrDefault(x => x.nomeClasse == classeAtualizada.nomeClasse);

            // se o "nomeClasse" da "classeAtualizada" for diferente de null e se a "classeBuscadaNome" for igual a null...
            if (classeAtualizada.nomeClasse != null && classeBuscadaNome == null)
            {
                // executa o método
                // coloca o novo "nomeClasse" no lugar do antigo
                classeBuscada.nomeClasse = classeAtualizada.nomeClasse;

                // atualiza o a tabela com a nova informação no "classeBuscada"
                context.Classes.Update(classeBuscada);

                // salva as alterações feitas
                context.SaveChanges();

                // retorna "true", e para conseguir colocar isso, tem que mudar o tipo do método de "void" para "bool" (true ou false)
                return(true);
            }

            // se for igual a null, retorna false e não executa o método
            return(false);
        }
        public ClasseDomain BuscarPorId(int id)
        {
            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string querySelectById = "SELECT idClasse, NomeClasse FROM Classe WHERE idClasse = @ID";

                con.Open();

                SqlDataReader rdr;
                using (SqlCommand cmd = new SqlCommand(querySelectById, con))
                {
                    cmd.Parameters.AddWithValue("@ID", id);
                    rdr = cmd.ExecuteReader();
                    if (rdr.Read())
                    {
                        ClasseDomain classeBuscada = new ClasseDomain()
                        {
                            IdClasse   = Convert.ToInt32(rdr[0]),
                            NomeClasse = rdr[1].ToString()
                        };

                        return(classeBuscada);
                    }

                    return(null);
                }
            }
        }
        public void Cadastrar(ClasseDomain novaClasse)
        {
            // adiciona essa nova classe
            context.Classes.Add(novaClasse);

            // salva as informações para que sejam gravadas no BD
            context.SaveChanges();
        }
예제 #6
0
        public IActionResult Post(ClasseDomain novaClasse)
        {
            if (novaClasse.NomeClasse == null)
            {
                return(BadRequest("O nome da classe é obrigatório!"));
            }
            _classeRepository.Cadastrar(novaClasse);

            return(Created("http://localhost:5000/api/Classe", novaClasse));
        }
예제 #7
0
        public IActionResult GetById(int id)
        {
            ClasseDomain classeBuscado = _classeRepository.BuscarPorId(id);

            if (classeBuscado != null)
            {
                return(Ok(classeBuscado));
            }

            return(NotFound("Nenhuma classe encontrada para o identificador informado"));
        }
 public void Cadastrar(ClasseDomain novaClasse)
 {
     using (SqlConnection con = new SqlConnection(stringConexao))
     {
         string queryInsert = "INSERT INTO Classe(NomeClasse) VALUES ('" + novaClasse.NomeClasse + "')";
         using (SqlCommand cmd = new SqlCommand(queryInsert, con))
         {
             con.Open();
             cmd.ExecuteNonQuery();
         }
     }
 }
예제 #9
0
        public IActionResult Delete(int id)
        {
            ClasseDomain classeBuscado = _classeRepository.BuscarPorId(id);

            if (classeBuscado != null)
            {
                _classeRepository.Deletar(id);

                return(Ok($"A classe {id} foi deletada com sucesso!"));
            }

            return(NotFound("Nenhuma classe encontrada para o identificador informado"));
        }
        public ClasseDomain BuscarPorNome(string nome)
        {
            // busca uma classe pelo "nomeClasse" pelo "nome" que buscarem
            ClasseDomain classeBuscada = context.Classes.FirstOrDefault(x => x.nomeClasse == nome);

            // se a "classeBuscada" existir e for diferente de null...
            if (classeBuscada != null)
            {
                // retorna uma "classeBuscada" com o nome buscado
                return(classeBuscada);
            }

            // se não, retorna null
            return(null);
        }
        public void Atualizar(int id, ClasseDomain classeAtualizada)
        {
            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string queryUpdateIdUrl = "UPDATE Classe SET NomeClasse = @Nome WHERE idClasse = @ID";
                using (SqlCommand cmd = new SqlCommand(queryUpdateIdUrl, con))
                {
                    cmd.Parameters.AddWithValue("@ID", id);
                    cmd.Parameters.AddWithValue("@Nome", classeAtualizada.NomeClasse);

                    con.Open();

                    cmd.ExecuteNonQuery();
                }
            }
        }
예제 #12
0
        public IActionResult GetById(int id)
        {
            try
            {
                ClasseDomain classeBuscada = _classeRepository.BuscarPorId(id);

                if (classeBuscada == null)
                {
                    return(NotFound("Nenhuma classe encontrada!"));
                }

                return(Ok(classeBuscada));
            }
            catch (Exception codErro)
            {
                return(BadRequest(codErro));
            }
        }
예제 #13
0
        public IActionResult Delete(int id)
        {
            try
            {
                ClasseDomain classeBuscada = _classeRepository.BuscarPorId(id);

                // se o id buscado existir...
                if (classeBuscada != null)
                {
                    // apaga
                    _classeRepository.Deletar(id);

                    return(StatusCode(204));
                }

                // se não...
                return(NotFound("Classe não encontrada!"));
            }
            catch (Exception codErro)
            {
                return(BadRequest(codErro));
            }
        }
예제 #14
0
        public IActionResult Put(int id, ClasseDomain classeAtualizada)
        {
            try
            {
                // busca pelo id colocado
                ClasseDomain classeBuscada = _classeRepository.BuscarPorId(id);

                // se o id na "classeBuscada" não possuir nenhuma classe...
                if (classeBuscada != null)
                {
                    // busca se o novo nome existe no BD
                    ClasseDomain nomeBuscado = _classeRepository.BuscarPorNome(classeAtualizada.nomeClasse);

                    // se NÃO existir...
                    if (nomeBuscado == null)
                    {
                        // cria normal
                        _classeRepository.Atualizar(id, classeAtualizada);

                        return(StatusCode(204));
                    }
                    // se existir...
                    else
                    {
                        return(BadRequest("Já existe uma classe com esse nome!"));
                    }
                }

                // se não existir uma classe com o id colocado...
                return(NotFound("Classe não encontrada!"));
            }
            catch (Exception codErro)
            {
                return(BadRequest(codErro));
            }
        }
예제 #15
0
        public IActionResult Post(ClasseDomain novaClasse)
        {
            try
            {
                // busca por um "nomeClasse" existente
                ClasseDomain classeBuscada = _classeRepository.BuscarPorNome(novaClasse.nomeClasse);

                // se na "classeBuscada" não conter um "nomeClasse" já existente...
                if (classeBuscada == null)
                {
                    // cadastra uma nova classe
                    _classeRepository.Cadastrar(novaClasse);

                    return(StatusCode(201));
                }

                // se já existir uma classe com esse nome, retorna um BadRequest
                return(BadRequest("Não foi possível cadastrar, classe já existente!"));
            }
            catch (Exception codErro)
            {
                return(BadRequest(codErro));
            }
        }