Example #1
0
        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();
            }
        }
Example #2
0
        protected void Insert(Plan plan)
        {
            MySqlTransaction transaction = null;

            //Guardamos el plan
            try
            {
                this.OpenConnection();
                transaction = MySqlConn.BeginTransaction();

                MySqlCommand cmd = new MySqlCommand("INSERT INTO planes (desc_plan, id_especialidad)" +
                                                    "VALUES (@desc_plan, @id_especialidad);  SELECT @@IDENTITY AS ID", transaction.Connection);
                cmd.Parameters.AddWithValue("@desc_plan", plan.Descripcion);
                cmd.Parameters.AddWithValue("@id_especialidad", plan.IdEspecialidad);
                //Recuperamos el ID para ponerlo en la materia
                plan.Id = Convert.ToInt32(cmd.ExecuteScalar().ToString());
                //Guardamos las materias
                foreach (Materia m in plan.ListaMaterias)
                {
                    m.IdPlan = plan.Id;
                    MateriaAdapter materiaData = new MateriaAdapter();
                    materiaData.Save(m, transaction);
                }
            }
            catch (Exception Ex)
            {
                transaction.Rollback();
                throw new InsertException("plan", Ex);
            }

            try
            {
                transaction.Commit();
            }
            catch (Exception ex)
            {
                Exception handledException = new Exception("Error al guardar los cambios:", ex);
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                transaction.Dispose();
                CloseConnection();
            }
        }
Example #3
0
 public void Save(Materia materia)
 {
     _MateriaData.Save(materia);
 }