public DataElement()
 {
     if (projectHasDoc)
     {
         dCODataRetriever = new DCODataRetriever();
     }
     else
     {
         dCODataRetriever = new DCODataRetrieverWithoutDoc();
     }
 }
예제 #2
0
        private void initializeTableObjectForField(XmlNode tableNode)
        {
            DCODataRetriever dCODataRetriever = new DCODataRetriever();

            // the table object that is contained in the field will be fetched
            if (dCODataRetriever.isObjectTable(DCO))
            {
                tableDCOs.Add(DCO);
            }
            if (tableDCOs.Count != 1)
            {
                ExportCore.WriteLog(" Table is not found in field " + DCO.ID);
            }
        }
 public bool CanEvaluate()
 {
     if (projectHasDoc)
     {
         dCODataRetriever = new DCODataRetriever();
         pattern          = Constants.DCO_REF_PATTERN;
     }
     else
     {
         dCODataRetriever = new DCODataRetrieverWithoutDoc();
         pattern          = Constants.DCO_REF_PATTERN_NO_DOC;
     }
     //Parse Conditions
     ParseConditions();
     //Apply condition and overwrite the boolen
     ApplyConditionsAndReplace();
     //Evaluate condition and return
     return(EvaluateConditions());
 }
예제 #4
0
        private void initializeTableObjectForPage(XmlNode tableNode)
        {
            DCODataRetriever dCODataRetriever = new DCODataRetriever();

            // when association is at page level its mandatory to specify table name
            if (tableNode.Attributes != null && tableNode.Attributes.Count > 0 &&
                !string.IsNullOrEmpty(tableNode.Attributes["tablename"].Value))
            {
                //the table object of the specified table name that are present in the current page is fetched
                tableDCOs.Add(dCODataRetriever.getTableForPage(DCO, tableNode.Attributes["tablename"].Value));
                if (tableDCOs.Count != 1)
                {
                    ExportCore.WriteLog(tableNode.Attributes["tablename"] + " table is not found in page " + DCO.ID);
                }
            }
            else
            {
                string message = "Its mandatory to specify the table name when the " +
                                 "for-each-rows tag is associated at page level.";
                ExportCore.WriteLog(message);
                new SmartExportException(message);
            }
        }
예제 #5
0
        private void initializeTableObjectForDocument(XmlNode tableNode)
        {
            DCODataRetriever dCODataRetriever = new DCODataRetriever();

            // when association is at document level its mandatory to specify table name
            if (tableNode.Attributes != null && tableNode.Attributes.Count > 0 &&
                !string.IsNullOrEmpty(tableNode.Attributes["tablename"].Value))
            {
                //the table objects of the specified table name that are present across multiple pages
                //of the document are fetched
                tableDCOs.AddRange(dCODataRetriever.getTablesForDocument(DCO, tableNode.Attributes["tablename"].Value));
                if (tableDCOs.Count == 0)
                {
                    ExportCore.WriteLog(tableNode.Attributes["tablename"] + " table is not found in document " + DCO.ID);
                }
            }
            else
            {
                string message = "Its mandatory to specify the table name when the for-each-rows" +
                                 " tag is associated at document level.";
                ExportCore.WriteLog(message);
                new SmartExportException(message);
            }
        }