/// <summary> /// Instancie o objeto e clona /// </summary> /// <param name="pTableQuery">Objeto table query</param> public TableQuery(TableQuery pTableQuery) : this() { DbName = pTableQuery.DbName; TableName = pTableQuery.TableName; FieldName = pTableQuery.FieldName; Alias = pTableQuery.Alias; SchemaTable = pTableQuery.SchemaTable; Top = pTableQuery.Top; Distinct = pTableQuery.Distinct; Fields = new TableAdapterFieldCollection(pTableQuery.Fields); foreach (OrderBy myItem in pTableQuery.OrderBy) { OrderBy.Add(new OrderBy(myItem)); } pTableQuery.Wheres.ForEach( w => Wheres.Add(new WhereCollection(w))); if (pTableQuery.Joins != null) { pTableQuery.Joins.ForEach( j => Joins.Add(new Join(j))); } if (pTableQuery.Union != eUnionType.eutNone) { pTableQuery.InternalQuery.ForEach( c => InternalQuery.Add(new TableQuery(c))); } }
/// <summary> /// /// </summary> /// <param name="pTableAdapterFieldCollection"></param> public TableAdapterFieldCollection(TableAdapterFieldCollection pTableAdapterFieldCollection) { AllFields = pTableAdapterFieldCollection.AllFields; foreach (var myItem in pTableAdapterFieldCollection) { Add(new TableAdapterField(myItem)); } }
/// <summary> /// Construtor padrão /// </summary> public TableQuery() { Fields = new TableAdapterFieldCollection(); Wheres = new List <WhereCollection>(); OrderBy = new List <OrderBy>(); Union = eUnionType.eutAll; InternalQuery = new List <TableQuery>(); Joins = new List <Join>(); Top = -1; }
/// <summary> /// Instancia um objeto TableAdapter /// </summary> public TableAdapter() { Collumns = new TableAdapterFieldCollection(); KeyFields = new TableAdapterFieldCollection(); InicialValues = new List <TableAdapter>(); PropertyChangedNotify = new List <string>(); PropertyChangingNotify = new List <string>(); LogCollection = new List <Log>(); FillCollumns(); }
/// <summary> /// Instancia um objeto e atribui um alias para uma pesquisa mais complexa. /// </summary> /// <param name="pTableAdapter">Um TableAdpter</param> /// <param name="pWithFields">Chaves como clásula where</param> /// <param name="pAlias">Alias da tabela</param> public TableQuery(TableAdapter pTableAdapter, bool pWithFields, string pAlias) : this(pTableAdapter, false) { if (!pWithFields) { Fields = new TableAdapterFieldCollection(); } foreach (var item in pTableAdapter.Collumns) { item.TableAlias = pAlias; } Alias = pAlias; }
/// <summary> /// Pega as colunas de um objeto DataObjec /// </summary> /// <param name="pObject">Um Objeto</param> /// <returns>Uma lista de campis</returns> public static TableAdapterFieldCollection GetCollumns(DataObject pObject) { var fields = new TableAdapterFieldCollection(); foreach (var property in GetFields(pObject.GetType())) { var prop = property.GetValue(pObject) as TableAdapterField; if (prop == null) { continue; } prop.TableAdapter = pObject as TableAdapter; fields.Add(prop); } return(fields); }