protected void Update(Plan plan) { MySqlTransaction transaction = null; try { //Para hacerlo mas simple, borramos las materias que tenia antes el plan e insertamos las que va a tener ahora this.OpenConnection(); transaction = MySqlConn.BeginTransaction(); MateriaAdapter ma = new MateriaAdapter(); ma.DeleteMateriasPlan(plan.Id, transaction); foreach (Materia m in plan.ListaMaterias) { m.IdPlan = plan.Id; MateriaAdapter materiaData = new MateriaAdapter(); materiaData.Save(m, transaction); } MySqlCommand cmd = new MySqlCommand("UPDATE planes SET desc_plan = @desc_plan, id_especialidad = @id_especialidad WHERE id_plan = @ID", transaction.Connection); cmd.Parameters.AddWithValue("@desc_plan", plan.Descripcion); cmd.Parameters.AddWithValue("@id_especialidad", plan.IdEspecialidad); cmd.Parameters.AddWithValue("@ID", plan.Id); cmd.ExecuteNonQuery(); } catch (Exception Ex) { transaction.Rollback(); throw new UpdateException("plan", Ex); } try { transaction.Commit(); } catch (Exception Ex) { transaction.Rollback(); throw new UpdateException("plan", Ex); } finally { transaction.Dispose(); this.CloseConnection(); } }
public void Delete(int Id) { MySqlTransaction transaction = null; try { this.OpenConnection(); transaction = MySqlConn.BeginTransaction(); //borramos los cursos CursoAdapter ca = new CursoAdapter(); //borramos las materias MateriaAdapter ma = new MateriaAdapter(); ma.DeleteMateriasPlan(Id, transaction); MySqlCommand cmd = new MySqlCommand("DELETE FROM planes WHERE id_plan = @ID", MySqlConn); cmd.Parameters.AddWithValue("@ID", Id); cmd.ExecuteNonQuery(); } catch (Exception Ex) { transaction.Rollback(); throw new DeleteException("plan", Ex); } try { transaction.Commit(); } catch (Exception Ex) { transaction.Rollback(); throw new DeleteException("Error al guardar los cambios", Ex); } finally { transaction.Dispose(); CloseConnection(); }; }