public static GrupoProdutoModel RecuperarPeloId(int id)
        {
            GrupoProdutoModel retorno = null;

            using (SqlConnection conexao = new SqlConnection())
            {
                conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
                conexao.Open();
                using (SqlCommand comando = new SqlCommand())
                {
                    comando.Connection  = conexao;
                    comando.CommandText = "SELECT * FROM grupo_produto WHERE (id = @id)";

                    comando.Parameters.Add("@id", SqlDbType.Int).Value = id;

                    SqlDataReader reader = comando.ExecuteReader();

                    if (reader.Read())
                    {
                        retorno = new GrupoProdutoModel
                        {
                            Id    = (int)reader["id"],
                            Nome  = (string)reader["nome"],
                            Ativo = (bool)reader["ativo"]
                        };
                    }
                }
            }
            return(retorno);
        }
        public int Salvar()
        {
            int retorno = 0;

            GrupoProdutoModel model = RecuperarPeloId(Id);

            using (SqlConnection conexao = new SqlConnection())
            {
                conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
                conexao.Open();

                using (SqlCommand comando = new SqlCommand())
                {
                    comando.Connection = conexao;

                    if (model == null)
                    {
                        StringBuilder cmd = new StringBuilder();
                        cmd.Append("INSERT INTO grupo_produto(nome, ativo)");
                        cmd.Append("VALUES (@nome, @ativo);");
                        cmd.Append("SELECT CONVERT(int, scope_identity())");

                        comando.CommandText = cmd.ToString();

                        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value  = Nome;
                        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (Ativo ? 1 : 0);

                        retorno = (int)comando.ExecuteScalar();
                    }
                    else
                    {
                        comando.CommandText = "UPDATE grupo_produto SET nome=@nome, ativo=@ativo WHERE id=@id";

                        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value  = Nome;
                        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (Ativo ? 1 : 0);
                        comando.Parameters.Add("@id", SqlDbType.Int).Value        = Id;

                        if (comando.ExecuteNonQuery() > 0)
                        {
                            retorno = Id;
                        }
                    }
                }
            }
            return(retorno);
        }