示例#1
0
        /// <summary>
        /// Carrega os dados da tabela filha tem como base os relacionamento entre ela e a atual model, que s�o
        /// identificados pelo atributos <see cref="PersistenceForeignKeyAttribute"/>.
        /// </summary>
        /// <typeparam name="ClassChild">Tipo da classe que representa a tabela filha.</typeparam>
        /// <param name="parentObj">Objeto contendo as informa��es para fazer o relacionamento.</param>
        /// <param name="groupOfRelationship">Nome do grupo de relacionamento.</param>
        /// <param name="sortExpression">Informa��o sobre o propriedade a ser ordenada.</param>
        /// <param name="paging">Informa��es sobre a pagina��o do resultado.</param>
        /// <returns>Lista tipada do tipo da classe que representa a tabela filha.</returns>
        public GDAList <ClassChild> LoadDataForeignKeyParentToChild <ClassChild>(Model parentObj, string groupOfRelationship, InfoSortExpression sortExpression, InfoPaging paging) where ClassChild : new()
        {
            IBaseDAO <ClassChild> dao = GDAOperations.GetDAO <ClassChild>();
            List <GDAParameter>   parameters;
            string sql;

            MakeSqlForeignKeyParentToChild <ClassChild>(parentObj, groupOfRelationship, dao, out sql, out parameters, UserProvider);
            MethodInfo mi  = dao.GetType().GetMethod("GetSqlData", GDA.Common.Helper.ReflectionFlags.AllCriteria);
            object     ret = null;

            try
            {
                ret = mi.Invoke(dao, new object[] {
                    sql,
                    parameters,
                    sortExpression,
                    paging
                });
            }
            catch (Exception ex)
            {
                throw new GDAException(ex.InnerException);
            }
            return((GDAList <ClassChild>)ret);
        }
示例#2
0
 /// <summary>
 /// Carrega os dados da tabela filha tem como base os relacionamento entre ela e a atual model, que s�o
 /// identificados pelo atributos <see cref="PersistenceForeignKeyAttribute"/>.
 /// </summary>
 /// <typeparam name="ClassChild">Tipo da classe que representa a tabela filha.</typeparam>
 /// <param name="parentObj">Objeto contendo as informa��es para fazer o relacionamento.</param>
 /// <param name="groupOfRelationship">Nome do grupo de relacionamento.</param>
 /// <param name="sortExpression">Informa��o sobre o propriedade a ser ordenada.</param>
 /// <returns>Lista tipada do tipo da classe que representa a tabela filha.</returns>
 public GDAList <ClassChild> LoadDataForeignKeyParentToChild <ClassChild>(Model parentObj, string groupOfRelationship, InfoSortExpression sortExpression) where ClassChild : new()
 {
     return(LoadDataForeignKeyParentToChild <ClassChild>(parentObj, groupOfRelationship, sortExpression, null));
 }
示例#3
0
 /// <summary>
 /// Carrega os dados com o retorno da query.
 /// </summary>
 /// <param name="sqlQuery">Query.</param>
 /// <param name="sortExpression">Express�o de ordena��o do comando sql.</param>
 /// <param name="infoPaging">Informa��es para pagina��o do resultado da query.</param>
 /// <param name="parameters">Parametros da query.</param>
 /// <returns>Lista com os dados do retorno da query.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public GDACursor <Model> LoadDataWithSortExpression(GDASession session, string sqlQuery, System.Data.CommandType commandType, InfoSortExpression sortExpression, InfoPaging infoPaging, GDAParameter[] parameters)
 {
     return(LoadDataWithSortExpression(session, sqlQuery, null, commandType, sortExpression, infoPaging, parameters));
 }
示例#4
0
 /// <summary>
 /// Carrega os dados com o retorno da query.
 /// </summary>
 /// <param name="session">Sess�o que ser� usado para executar a consulta.</param>
 /// <param name="sqlQuery">Query.</param>
 /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param>
 /// <param name="sortExpression">Express�o de ordena��o do comando sql.</param>
 /// <param name="infoPaging">Informa��es para pagina��o do resultado da query.</param>
 /// <param name="parameters">Parametros da query.</param>
 /// <returns>Lista com os dados do retorno da query.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public GDACursor <Model> LoadDataWithSortExpression(GDASession session, string sqlQuery, string selectProperties, System.Data.CommandType commandType, InfoSortExpression sortExpression, InfoPaging infoPaging, GDAParameter[] parameters)
 {
     return(new GDACursor <Model>(GetCursorParameters(session, sqlQuery, selectProperties, commandType, sortExpression, infoPaging, parameters)));
 }
示例#5
0
 public GDAList <ClassChild> LoadDataForeignKeyParentToChild <ClassChild>(Model parentObj, string groupOfRelationship, InfoSortExpression sortProperty, InfoPaging paging) where ClassChild : new()
 {
     return(CurrentPersistenceObject.LoadDataForeignKeyParentToChild <ClassChild>(parentObj, groupOfRelationship, sortProperty, paging));
 }
示例#6
0
 /// <summary>
 /// Carrega os dados com o retorno da query.
 /// </summary>
 /// <param name="sqlQuery">Query.</param>
 /// <param name="sortExpression">Express�o de ordena��o do comando sql.</param>
 /// <param name="infoPaging">Informa��es para pagina��o do resultado da query.</param>
 /// <param name="parameters">Parametros da query.</param>
 /// <returns>Lista com os dados do retorno da query.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public GDACursor <Model> LoadDataWithSortExpression(string sqlQuery, InfoSortExpression sortExpression, InfoPaging infoPaging, GDAParameter[] parameters)
 {
     return(LoadDataWithSortExpression(sqlQuery, CommandType.Text, sortExpression, infoPaging, parameters));
 }
示例#7
0
 internal GDAList <Model> GetSqlData(string sql, List <GDAParameter> parameters, InfoSortExpression sortExpression, InfoPaging paging)
 {
     return(CurrentPersistenceObject.LoadDataWithSortExpression(sql, sortExpression, paging, parameters.ToArray()));
 }
示例#8
0
 /// <summary>
 /// Carrega as lista itens da tabela representada pelo tipo da classe
 /// submetida relacionados com a atual model. Será informado também o grupo
 /// no qual o relacionamento será carregado. Utiliza a estrura 1 para N.
 /// </summary>
 /// <typeparam name="ClassRelated">Tipo da classe que representa a tabela do relacionamento.</typeparam>
 /// <param name="sortProperty">Informação sobre o propriedade a ser ordenada.</param>
 /// <returns>Lista tipada do tipo da classe que representa a tabela do relacionamento.</returns>
 public GDAList <ClassRelated> LoadRelationship1toN <ClassRelated>(InfoSortExpression sortProperty) where ClassRelated : new()
 {
     return(GDAOperations.LoadRelationship1toN <ClassRelated>(this, null, sortProperty, null));
 }
示例#9
0
 /// <summary>
 /// Carrega as lista itens da tabela representada pelo tipo da classe
 /// submetida relacionados com a atual model. Será informado também o grupo
 /// no qual o relacionamento será carregado. Utiliza a estrura 1 para N.
 /// </summary>
 /// <typeparam name="ClassRelated">Tipo da classe que representa a tabela do relacionamento.</typeparam>
 /// <param name="group">Nome do grupo de relacionamento.</param>
 /// <param name="sortProperty">Informação sobre o propriedade a ser ordenada.</param>
 /// <param name="paging">Informações sobre a paginação do resultado.</param>
 /// <returns>Lista tipada do tipo da classe que representa a tabela do relacionamento.</returns>
 public GDAList <ClassRelated> LoadRelationship1toN <ClassRelated>(string group, InfoSortExpression sortProperty, InfoPaging paging) where ClassRelated : new()
 {
     return(GDAOperations.LoadRelationship1toN <ClassRelated>(this, group, sortProperty, paging));
 }
示例#10
0
 /// <summary>
 /// Carrega as lista itens da tabela representada pelo tipo da classe
 /// submetida relacionados com a atual model. Ser� informado tamb�m o grupo
 /// no qual o relacionamento ser� carregado. Utiliza a estrura 1 para N.
 /// </summary>
 /// <typeparam name="ClassRelated">Tipo da classe que representa a tabela do relacionamento.</typeparam>
 /// <param name="model">Model na qual o itens est�o relacionados.</param>
 /// <param name="sortProperty">Informa��o sobre o propriedade a ser ordenada.</param>
 /// <returns>Lista tipada do tipo da classe que representa a tabela do relacionamento.</returns>
 public static GDAList <ClassRelated> LoadRelationship1toN <ClassRelated>(object model, InfoSortExpression sortProperty) where ClassRelated : new()
 {
     return(LoadRelationship1toN <ClassRelated>(model, null, sortProperty, null));
 }
示例#11
0
        /// <summary>
        /// Carrega as lista itens da tabela representada pelo tipo da classe
        /// submetida relacionados com a atual model. Ser� informado tamb�m o grupo
        /// no qual o relacionamento ser� carregado. Utiliza a estrura 1 para N.
        /// </summary>
        /// <typeparam name="ClassRelated">Tipo da classe que representa a tabela do relacionamento.</typeparam>
        /// <param name="model">Model na qual o itens est�o relacionados.</param>
        /// <param name="group">Nome do grupo de relacionamento.</param>
        /// <param name="sortProperty">Informa��o sobre o propriedade a ser ordenada.</param>
        /// <param name="paging">Informa��es sobre a pagina��o do resultado.</param>
        /// <returns>Lista tipada do tipo da classe que representa a tabela do relacionamento.</returns>
        public static GDAList <ClassRelated> LoadRelationship1toN <ClassRelated>(object model, string group, InfoSortExpression sortProperty, InfoPaging paging) where ClassRelated : new()
        {
            object     dao = GetDAO(model);
            MethodInfo mi  = dao.GetType().GetMethod("LoadDataForeignKeyParentToChild", new Type[] {
                model.GetType(),
                typeof(string),
                typeof(InfoSortExpression),
                typeof(InfoPaging)
            });

            if (mi == null)
            {
                throw new GDAException("DAO of model not suport LoadDataForeignKeyParentToChild.");
            }
            else
            {
                mi = mi.MakeGenericMethod(new Type[] {
                    typeof(ClassRelated)
                });
            }
            try
            {
                return((GDAList <ClassRelated>)mi.Invoke(dao, new object[] {
                    model,
                    group,
                    sortProperty,
                    paging
                }));
            }
            catch (Exception ex)
            {
                throw ex.InnerException;
            }
        }