Пример #1
0
 protected internal virtual Net.Vpc.Upa.Expressions.QueryStatement CreateViewQuery() /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Extensions.UnionEntityExtensionDefinition entityExtension = (Net.Vpc.Upa.Extensions.UnionEntityExtensionDefinition)GetDefinition();
     Net.Vpc.Upa.Extensions.UnionQueryInfo queryInfo = entityExtension.GetQueryInfo(GetEntity());
     updatableTables = new System.Collections.Generic.List <Net.Vpc.Upa.Entity>((queryInfo.GetEntities()).Count);
     foreach (string table in queryInfo.GetEntities())
     {
         updatableTables.Add(GetPersistenceUnit().GetEntity(table));
     }
     this.discriminator = queryInfo.GetDiscriminator();
     string[] tabNames = new string[(updatableTables).Count];
     for (int i = 0; i < tabNames.Length; i++)
     {
         tabNames[i] = updatableTables[i].GetName();
     }
     viewFields = GetEntity().GetFieldNames(Net.Vpc.Upa.Impl.Util.Filters.Fields2.READ);
     viewFields.Remove(discriminator);
     fieldsMapping = (string[][])Net.Vpc.Upa.Impl.FwkConvertUtils.CreateMultiArray(typeof(string), (queryInfo.GetEntities()).Count, (viewFields).Count);
     for (int i = 0; i < tabNames.Length; i++)
     {
         for (int j = 0; j < (viewFields).Count; j++)
         {
             fieldsMapping[i][i] = queryInfo.GetFieldName(tabNames[i], viewFields[j], i, j);
         }
     }
     return(CreateViewQuery(GetEntity().GetName(), tabNames, discriminator, viewFields, fieldsMapping));
 }
 public DefaultUnionEntityExtensionDefinition(Net.Vpc.Upa.Extensions.UnionQueryInfo info)
 {
     this.info = info;
 }