public bool Read(int id)
        {
            try
            {
                var p = new OracleDynamicParameters();
                p.Add("Id", id);
                p.Add("c1", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);

                var result = Db.QuerySingle <dynamic>(Procs.Pago_Actividad_Por_Id, param: p, commandType: CommandType.StoredProcedure);

                Pago_Api pago = new Pago_Api();
                pago.Read((int)result.PAGOID);

                Actividad_Asociada_Api actividad_asociada = new Actividad_Asociada_Api();
                actividad_asociada.Read((int)result.ACTIVIDAD_ASIGNADAID);

                Id   = (int)result.ID;
                Pago = new Pago()
                {
                    Id           = pago.Id,
                    Alumno       = pago.Alumno,
                    Valor_Pago   = pago.Valor_Pago,
                    Total_Cuenta = pago.Total_Cuenta,
                    Fecha_Pago   = pago.Fecha_Pago
                };
                Actividad_Asignada = new Actividad_Asociada()
                {
                    Id              = actividad_asociada.Id,
                    Actividad       = actividad_asociada.Actividad,
                    Curso           = actividad_asociada.Curso,
                    Total_Recaudado = actividad_asociada.Total_Recaudado,
                    Prorrateo       = actividad_asociada.Prorrateo
                };
                return(true);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(false);
            }
        }
        public bool Delete()
        {
            try
            {
                Colecciones           col          = new Colecciones();
                List <Pago_Actividad> pagos_delete = col.ListaPagoActividadXActividad(Id).ToList();

                var p = new OracleDynamicParameters();
                p.Add("Id", this.Id);
                Db.Execute(Procs.Actividad_Asociada_Borrar, p, commandType: CommandType.StoredProcedure);

                foreach (var item in pagos_delete)
                {
                    Pago_Actividad_Api pago_actividad_delete = new Pago_Actividad_Api()
                    {
                        Id = item.Id
                    };
                    if (!pago_actividad_delete.Delete())
                    {
                        return(false);
                    }
                    Pago_Api pago_delete = new Pago_Api()
                    {
                        Id = item.Pago.Id
                    };
                    if (!pago_delete.Delete())
                    {
                        return(false);
                    }
                }

                logger.Info("Actividad asociada N°{0} borrada correctamente", Id);
                return(true);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(false);
            }
        }