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)); } }
// 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 })); } }
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(); } }
/// <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(); } }
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 })); } }
/// <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(); } }
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)); }
/// <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); } } }
/// <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); }