public IActionResult Atualizar([FromBody] CategoriaDomain categoria, int id)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    categoria.CategoriaId = id;
                    _categoriaRepository.Atualizar(categoria);
                }
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();

                if (errors.Any())
                {
                    return(BadRequest(errors));
                }
                else
                {
                    return(Ok(categoria));
                }
            }
            catch (System.Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public IActionResult Cadastrar([FromBody] CategoriaDomain categoria)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (_categoriaRepository.CategoriaExiste(categoria.Nome))
                    {
                        return(BadRequest("Nome já cadastrado"));
                    }

                    _categoriaRepository.Inserir(categoria);
                }

                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();

                if (errors.Any())
                {
                    return(BadRequest(errors));
                }
                else
                {
                    return(Ok(categoria));
                }
            }
            catch (System.Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Пример #3
0
 // public IActionResult Cadastrar([FromBody] CategoriaDomain categoria)
 // quando trabalhamos com apicontroller, nao precisamos informar o frombody
 public IActionResult Cadastrar(CategoriaDomain categoria)
 {
     try
     {
         CategoriaRepository.Cadastrar(categoria);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = ex.Message }));
     }
 }
Пример #4
0
 public void Salvar(CategoriaDomain categoria)
 {
     using (var contexto = new ContextoBD())
     {
         if (categoria.Id > 0)
         {
             contexto.Categorias.Attach(categoria);
             contexto.Entry(categoria).State = EntityState.Modified;
         }
         else
         {
             contexto.Categorias.Add(categoria);
         }
         contexto.SaveChanges();
     }
 }
Пример #5
0
        /// <summary>
        /// Cadastrar uma categoria
        /// </summary>
        /// <param name="categoria">Categoria</param>
        public void Cadastrar(CategoriaDomain categoria)
        {
            // string correspondente no banco de dados para inserir uma categoria
            string Query = "INSERT INTO Categorias (Nome, DataCriacao, Ativo) VALUES (@Nome, @DataCriacao, @Ativo)";

            using (SqlConnection con = new SqlConnection(StringConexao))
            {
                // declara o comando com a query e a conexao
                SqlCommand cmd = new SqlCommand(Query, con);
                cmd.Parameters.AddWithValue("@Nome", categoria.Nome);
                cmd.Parameters.AddWithValue("@DataCriacao", DateTime.Now);
                cmd.Parameters.AddWithValue("@Ativo", categoria.Ativo);
                // abre a conexao
                con.Open();
                // executa o comando
                cmd.ExecuteNonQuery();
            }
        }
Пример #6
0
 public IActionResult BuscarPorId(int id)
 {
     try
     {
         // verificar se a categoria a ser deletada, existe no banco de dados
         CategoriaDomain categoria = CategoriaRepository.BuscarPorId(id);
         // caso nao exista, retornar uma msg de categoria nao encontrada
         if (categoria == null)
         {
             return(NotFound());
         }
         // caso exista, retornar a categoria encontrada
         return(Ok(categoria));
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = ex.Message }));
     }
 }
Пример #7
0
        /// <summary>
        /// Atualizar uma categoria
        /// </summary>
        /// <param name="categoriaDomain"></param>
        public void Atualizar(CategoriaDomain categoriaDomain)
        {
            // defino a query do sql
            string Query = "UPDATE Categorias SET Nome = @Nome, Ativo = @Ativo WHERE CategoriaId = @CategoriaId";

            using (SqlConnection con = new SqlConnection(StringConexao))
            {
                // faco o comando
                SqlCommand cmd = new SqlCommand(Query, con);
                // defino os parametros
                cmd.Parameters.AddWithValue("@Nome", categoriaDomain.Nome);
                cmd.Parameters.AddWithValue("@Ativo", categoriaDomain.Ativo);
                cmd.Parameters.AddWithValue("@CategoriaId", categoriaDomain.CategoriaId);
                // abrir a conexao
                con.Open();
                // executar
                cmd.ExecuteNonQuery();
            }
        }
Пример #8
0
 public IActionResult Salvar(CategoriaDomain categoria)
 {
     try
     {
         var validador = new CategoriaValidator().Validate(categoria);
         if (validador.IsValid)
         {
             new CategoriaRepository().Salvar(categoria);
         }
         else
         {
             return(BadRequest(validador.ToString("\n")));
         }
     }
     catch
     {
         return(BadRequest());
     }
     return(Ok(Constantes.msgSucessoAtualizarRegistro));
 }
Пример #9
0
        /// <summary>
        /// Buscar uma unica categoria por id
        /// </summary>
        /// <param name="id">id</param>
        /// <returns>Categoria encontrada</returns>
        public CategoriaDomain BuscarPorId(int id)
        {
            // query de consulta por id
            string Query = "SELECT CategoriaId, Nome, DataCriacao, Ativo FROM Categorias WHERE CategoriaId = @CategoriaId";

            // aonde, em qual local
            using (SqlConnection con = new SqlConnection(StringConexao))
            {
                // abre a conexao
                con.Open();
                // guardar os dados
                SqlDataReader sdr;

                using (SqlCommand cmd = new SqlCommand(Query, con))
                {
                    // adiciona o parametro
                    cmd.Parameters.AddWithValue("@CategoriaId", id);
                    sdr = cmd.ExecuteReader();

                    // caso encontre registros
                    if (sdr.HasRows)
                    {
                        // faz a leitura do registro encontrado
                        while (sdr.Read())
                        {
                            // devolve a categoria encontrada
                            CategoriaDomain categoria = new CategoriaDomain
                            {
                                CategoriaId = Convert.ToInt32(sdr["CategoriaId"]),
                                Nome        = sdr["Nome"].ToString(),
                                DataCriacao = Convert.ToDateTime(sdr["DataCriacao"].ToString()),
                                Ativo       = Convert.ToBoolean(sdr["Ativo"].ToString())
                            };
                            return(categoria);
                        }
                    }
                    // caso nao encontre valor, devolve o registro nulo
                    return(null);
                }
            }
        }
Пример #10
0
        /// <summary>
        /// Buscar todas as categorias por nome
        /// </summary>
        /// <param name="nome">nome</param>
        /// <returns>lista de categorias</returns>
        public List <CategoriaDomain> BuscarPorNome(string nome)
        {
            List <CategoriaDomain> categorias = new List <CategoriaDomain>();

            // abrir uma conexao com o banco
            using (SqlConnection con = new SqlConnection(StringConexao))
            {
                // fazer a leitura de todos os registros
                // declarar a instrucao a ser realizada
                string Query = "SELECT CategoriaId, Nome, DataCriacao, Ativo FROM Categorias WHERE Nome LIKE '%" + nome + "%'";

                // abre a conexao com o bd
                con.Open();
                // declaro para percorrer a lista
                SqlDataReader sdr;

                using (SqlCommand cmd = new SqlCommand(Query, con))
                {
                    // executa a query
                    sdr = cmd.ExecuteReader();

                    while (sdr.Read())
                    {
                        CategoriaDomain categoria = new CategoriaDomain
                        {
                            CategoriaId = Convert.ToInt32(sdr["CategoriaId"]),
                            Nome        = sdr["Nome"].ToString(),
                            DataCriacao = Convert.ToDateTime(sdr["DataCriacao"].ToString()),
                            Ativo       = Convert.ToBoolean(sdr["Ativo"].ToString())
                        };
                        categorias.Add(categoria);
                    }
                }
            }

            // devolver a lista preenchida
            return(categorias);
        }