public IHttpActionResult Post([FromBody] Models.Produtos produto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { //Apenas uma simulacao de inclusao na base via EF ou qualquer outra forma e considerando que o ID seja incremental List <Models.Produtos> produtos = ObterProdutos(); //Validar se o produto ja existe if (produtos.Any(p => p.Name.Equals(produto.Name, StringComparison.OrdinalIgnoreCase))) { return(Content(HttpStatusCode.Conflict, "Produto já cadastrado na base de dados")); } produtos.Add(produto); //Simulando ID gerado no insert produto.ID = 4; return(CreatedAtRoute("DefaultApi", new { id = produto.ID }, produto)); } catch (Exception ex) { return(InternalServerError(new Exception($"Erro ao cadastrar o produto na base de dados: {ex.InnerException}"))); } }
public Produtos GetProduto(int?codProduto) { try { var model = new Models.Produtos(); if (codProduto != null) { OpenConnection(); var sql = this.Search(codProduto, null, null); SqlQuery = new SqlCommand(sql, con); reader = SqlQuery.ExecuteReader(); while (reader.Read()) { model.codigo = Convert.ToInt32(reader["Produto_ID"]); model.situacao = Convert.ToString(reader["Produto_Situacao"]); model.nomeProduto = Convert.ToString(reader["Produto_Nome"]); model.unidade = Convert.ToString(reader["Produto_Unidade"]); model.largura = Convert.ToString(reader["Produto_Largura"]); model.Grupo = new Select.Grupos.Select { id = Convert.ToInt32(reader["Produto_Grupo_ID"]), text = Convert.ToString(reader["Produto_Grupo_Nome"]) }; model.Fornecedor = new Select.Fornecedores.Select { id = Convert.ToInt32(reader["Produto_Fornecedor_ID"]), text = Convert.ToString(reader["Produto_Fornecedor_Nome"]) }; model.ncm = Convert.ToString(reader["Produto_NCM"]); model.cfop = Convert.ToString(reader["Produto_CFOP"]); model.qtEstoque = Convert.ToDecimal(reader["Produto_QtEstoque"]); model.vlCusto = Convert.ToDecimal(reader["Produto_VlCusto"]); model.vlUltCompra = Convert.ToDecimal(reader["Produto_VlUltimaCompra"]); model.vlVenda = Convert.ToDecimal(reader["Produto_VlVenda"]); model.observacao = Convert.ToString(reader["Produto_Observacao"]); model.dtCadastro = Convert.ToDateTime(reader["Produto_DataCadastro"]); model.dtUltAlteracao = Convert.ToDateTime(reader["Produto_DataUltAlteracao"]); } } return(model); } catch (Exception error) { throw new Exception(error.Message); } finally { CloseConnection(); } }
public bool Insert(Models.Produtos produto) { try { var sql = string.Format("INSERT INTO tbprodutos ( situacao, nomeproduto, unidade, largura, codgrupo, codfornecedor, ncm, qtestoque, vlcusto, vlultcompra, vlvenda, observacao, cfop, dtcadastro, dtultalteracao )" + " VALUES ('{0}', '{1}', '{2}', '{3}', {4}, {5}, '{6}', {7}, {8}, {9}, {10}, '{11}', '{12}', '{13}', '{14}' )", this.FormatString(produto.situacao), this.FormatString(produto.nomeProduto), produto.unidade, produto.largura, produto.Grupo.id, produto.Fornecedor.id, produto.ncm, produto.qtEstoque != null ? produto.qtEstoque : 0, 0, produto.vlUltCompra != null ? produto.vlUltCompra : 0, produto.vlVenda.ToString().Replace(",", "."), !string.IsNullOrWhiteSpace(produto.observacao) ? this.FormatString(produto.observacao) : "", produto.cfop, DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd") ); OpenConnection(); SqlQuery = new SqlCommand(sql, con); int i = SqlQuery.ExecuteNonQuery(); if (i > 1) { return(true); } else { return(false); } } catch (Exception error) { throw new Exception(error.Message); } finally { CloseConnection(); } }
public bool Update(Models.Produtos produto) { try { //string sql = "teste"; var sql = "UPDATE tbprodutos SET situacao = '" + this.FormatString(produto.situacao) + "', " + " nomeproduto = '" + this.FormatString(produto.nomeProduto) + "', " + " unidade = '" + produto.unidade + "', " + " largura = '" + produto.largura + "', " + " codgrupo = " + produto.Grupo.id + ", " + " codfornecedor = " + produto.Fornecedor.id + ", " + " ncm = '" + produto.ncm + "', " + " vlcusto = " + produto.vlCusto.ToString().Replace(",", ".") + ", " + " vlvenda = " + produto.vlVenda.ToString().Replace(",", ".") + ", " + " observacao = '" + this.FormatString(produto.observacao) + "', " + " cfop = '" + produto.cfop + "', " + " dtultalteracao = '" + DateTime.Now.ToString("yyyy-MM-dd") + "'" + " WHERE codproduto = " + produto.codigo; OpenConnection(); SqlQuery = new SqlCommand(sql, con); int i = SqlQuery.ExecuteNonQuery(); if (i > 1) { return(true); } else { return(false); } } catch (Exception error) { throw new Exception(error.Message); } finally { CloseConnection(); } }