Beispiel #1
0
        public void Apagar()
        {
            SqlConnection  sqlConnection        = new SqlConnection(Properties.Settings.Default.connectionString);
            SqlCommand     apagarReceitaCommand = new SqlCommand();
            SqlTransaction transaction;

            apagarReceitaCommand.Connection  = sqlConnection;
            apagarReceitaCommand.CommandType = System.Data.CommandType.StoredProcedure;
            apagarReceitaCommand.CommandText = "dbo.ApagarReceita";
            apagarReceitaCommand.Parameters.AddWithValue("@ReceitaID", this.ReceitaID);

            try
            {
                sqlConnection.Open();
                transaction = apagarReceitaCommand.Connection.BeginTransaction("ApagarReceita");

                try
                {
                    LinhaIngrediente.ApagarIngredientesDeLaReceta(this.ReceitaID, sqlConnection, transaction); // entre los ( ) estamos pasando el valor de receita ID del objeto receta que ejecuta la funcion actualizar // esta linea viene de un metodo statico que hicimos en la clase lineingrediente

                    apagarReceitaCommand.Transaction = transaction;
                    apagarReceitaCommand.ExecuteNonQuery();

                    transaction.Commit();

                    sqlConnection.Close();
                }
                catch {
                    transaction.Rollback();
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #2
0
        public void Atualizar()
        {
            SqlConnection sqlConnection = new SqlConnection(Properties.Settings.Default.connectionString);

            //Ejecutar AtualizarReceita
            SqlCommand     atualizarReceitaCommand = new SqlCommand();
            SqlTransaction transaction;

            atualizarReceitaCommand.Connection  = sqlConnection;
            atualizarReceitaCommand.CommandType = System.Data.CommandType.StoredProcedure;
            atualizarReceitaCommand.CommandText = "dbo.AtualizarReceita";
            atualizarReceitaCommand.Parameters.AddWithValue("@ReceitaID", this.ReceitaID);
            atualizarReceitaCommand.Parameters.AddWithValue("@UserID", this.UserID);
            atualizarReceitaCommand.Parameters.AddWithValue("@CategoriaID", this.Categoria.CategoriaID);
            atualizarReceitaCommand.Parameters.AddWithValue("@Nome", this.Nome);
            atualizarReceitaCommand.Parameters.AddWithValue("@Descripcao", this.Descripcao);
            atualizarReceitaCommand.Parameters.AddWithValue("@QuantidadComensales", this.QuantidadeComensales);
            atualizarReceitaCommand.Parameters.AddWithValue("@DificuldadeID", this.Dificuldade.DificuldadeID);
            atualizarReceitaCommand.Parameters.AddWithValue("@Status", this.Status);
            atualizarReceitaCommand.Parameters.AddWithValue("@Duracao", this.Duracao);

            try
            {
                sqlConnection.Open();
                transaction = atualizarReceitaCommand.Connection.BeginTransaction("AtualizarReceita");

                try
                {
                    // Descarta (elimina) la lista antigua de ingredientes guardados en la base de datos
                    LinhaIngrediente.ApagarIngredientesDeLaReceta(this.ReceitaID, sqlConnection, transaction); // entre los ( ) estamos pasando el valor de receita ID del objeto receta que ejecuta la funcion actualizar // esta linea viene de un metodo statico que hicimos en la clase lineingrediente

                    // Actualiza solo la tabla Receita

                    atualizarReceitaCommand.Transaction = transaction;
                    atualizarReceitaCommand.ExecuteNonQuery();

                    // Inserta nuevos registros en la tabla LinhaIngrediente
                    foreach (LinhaIngrediente item in this.IngredientesReceita)
                    {
                        item.Inserir(sqlConnection, transaction);
                    }

                    transaction.Commit();

                    sqlConnection.Close();
                }
                catch
                {
                    transaction.Rollback();
                }
            }
            catch
            {
            }
        }