public AdhocCategoryReportCreation(AdhocReportQueryData response)
        {
            int classificationId        = OracleHelper.GetClassificationID(response.ClassificationName);
            int classificationUnionType = OracleHelper.GetClassificationIsUnion(response.ClassificationName);

            if (classificationId != 0)
            {
                if (classificationUnionType == 0)
                {
                    this.Levels = OracleHelper.GetCategoryLevelsAllData(classificationId);
                }
                else
                {
                    AdhocUnionReportCreation UnionReport = new AdhocUnionReportCreation(response);
                    this.ReportData = UnionReport.ReportData;
                }
            }

            if (this.Levels != null)
            {
                string JoinType = GetJoinType(response.JoinType);

                if (JoinType != null)
                {
                    this.graphTraversal = new GraphTraversal(this.Levels, JoinType);
                    AddEffectedTablesToGraph(response);
                    string query = GenerateReportQuery(response);
                    this.ReportData = OracleHelper.ExecuteAdhocReportQuery(query, response.SelectClauses);
                }
            }
        }
示例#2
0
 private void FillDataInReportData(AdhocReportReturnedData subData)
 {
     foreach (List <string> row in subData.value_array)
     {
         List <string> Frow = initRowInReportData();
         for (int i = 0; i < subData.H_List.Count; i++)
         {
             ReportHeader column = subData.H_List[i];
             int          index  = this.columnsList[column.DisplayName] - 1;
             Frow[index] = row[i];
         }
         ReportData.value_array.Add(Frow);
     }
 }