public void getInfoDataTable(DataTable systemTB)
        {
            if (systemTB == null || system == null)
            {
                return;
            }

            systemTB.Columns.Add("SystemInfoName");
            systemTB.Columns.Add("SystemInfoValue");

            PressureLossReportHelper helper = PressureLossReportHelper.instance;

            if (helper == null)
            {
                return;
            }

            MEPSystemType sysType = helper.Doc.GetElement(system.GetTypeId()) as MEPSystemType;

            if (sysType != null)
            {
                systemTB.Rows.Add(LabelUtils.GetLabelFor(BuiltInParameter.RBS_SYSTEM_CLASSIFICATION_PARAM), system.get_Parameter(BuiltInParameter.RBS_SYSTEM_CLASSIFICATION_PARAM).AsString());

                if (helper.Domain == ReportResource.ductDomain)
                {
                    systemTB.Rows.Add(LabelUtils.GetLabelFor(BuiltInParameter.RBS_DUCT_SYSTEM_TYPE_PARAM), sysType.Name);
                }
                else
                {
                    systemTB.Rows.Add(LabelUtils.GetLabelFor(BuiltInParameter.RBS_PIPING_SYSTEM_TYPE_PARAM), sysType.Name);
                }
                systemTB.Rows.Add(LabelUtils.GetLabelFor(BuiltInParameter.RBS_SYSTEM_NAME_PARAM), system.Name);
                systemTB.Rows.Add(LabelUtils.GetLabelFor(BuiltInParameter.RBS_SYSTEM_ABBREVIATION_PARAM), sysType.Abbreviation);

                if (helper.Domain == ReportResource.pipeDomain) // need to list fluid info
                {
                    //Fluid type is an element id
                    ElementId elemId       = sysType.get_Parameter(BuiltInParameter.RBS_PIPE_FLUID_TYPE_PARAM).AsElementId();
                    string    strFluidType = "";
                    if (elemId != null)
                    {
                        Element elem = helper.Doc.GetElement(elemId);
                        if (elem != null)
                        {
                            strFluidType = elem.Name;
                        }
                    }
                    systemTB.Rows.Add(sysType.get_Parameter(BuiltInParameter.RBS_PIPE_FLUID_TYPE_PARAM).Definition.Name, strFluidType);
                    helper.addParameterNameAndValueToTable(systemTB, sysType.get_Parameter(BuiltInParameter.RBS_PIPE_FLUID_TEMPERATURE_PARAM), false);
                    helper.addParameterNameAndValueToTable(systemTB, sysType.get_Parameter(BuiltInParameter.RBS_PIPE_FLUID_VISCOSITY_PARAM), false);
                    helper.addParameterNameAndValueToTable(systemTB, sysType.get_Parameter(BuiltInParameter.RBS_PIPE_FLUID_DENSITY_PARAM), false);
                }
            }

            return;
        }
        public void getInfoDataTable(DataTable projectInfoTB)
        {
            PressureLossReportHelper helper = PressureLossReportHelper.instance;

            if (helper == null || helper.Doc == null || projectInfoTB == null)
            {
                return;
            }

            //2 columns
            projectInfoTB.Columns.Add("ProjectInfoName");
            projectInfoTB.Columns.Add("ProjectInfoValue");

            ProjectInfo proInfo = helper.Doc.ProjectInformation;

            if (proInfo == null)
            {
                return;
            }

            List <Parameter> basicProjInfoParams = new List <Parameter>();

            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_NAME));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_ISSUE_DATE));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_STATUS));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.CLIENT_NAME));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_ADDRESS));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_NUMBER));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_ORGANIZATION_NAME));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_ORGANIZATION_DESCRIPTION));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_BUILDING_NAME));
            basicProjInfoParams.Add(proInfo.get_Parameter(BuiltInParameter.PROJECT_AUTHOR));

            List <string> names = new List <string>();

            foreach (Parameter param in basicProjInfoParams)
            {
                if (param == null)
                {
                    continue;
                }

                helper.addParameterNameAndValueToTable(projectInfoTB, param, false);
                names.Add(param.Definition.Name);
            }

            foreach (Parameter param in helper.Doc.ProjectInformation.Parameters)
            {
                if (param == null || names.Contains(param.Definition.Name))
                {
                    continue;
                }

                if (param.StorageType != StorageType.None)
                {
                    helper.addParameterNameAndValueToTable(projectInfoTB, param, false);
                }
            }

            if (helper.ReportData.DisplayRunTime)
            {
                projectInfoTB.Rows.Add(ReportResource.runTime, DateTime.Now.ToString());
            }

            return;
        }