public override Data.DataMatrix ExtractReportData(Utilities.IProgressObserver progress)
        {
            DataMatrix matrix           = new DataMatrix();
            var        displayNameRegex = new Regex(@"^(\w+)\[(.+)\]$");
            // Cache the property getter
            Dictionary <String, MethodInfo> getters = new Dictionary <String, MethodInfo>();

            foreach (String colName in Columns)
            {
                string displayName = colName;
                string memberName  = colName;

                var m      = displayNameRegex.Match(colName);
                var hidden = false;
                if (m.Success)
                {
                    memberName  = m.Groups[1].Value;
                    displayName = m.Groups[2].Value;
                    if (displayName.Equals("hidden", StringComparison.CurrentCultureIgnoreCase))
                    {
                        displayName = memberName;
                        hidden      = true;
                    }
                }

                matrix.Columns.Add(new MatrixColumn {
                    Name = displayName, IsHidden = hidden
                });
                var p = typeof(T).GetProperty(memberName);
                if (p != null)
                {
                    getters[colName] = p.GetGetMethod();
                }
            }

            var model = ModelGenerator();

            foreach (T vm in model)
            {
                var row = matrix.AddRow();
                int i   = 0;
                foreach (String colName in Columns)
                {
                    Object value = null;
                    if (getters.ContainsKey(colName))
                    {
                        value = getters[colName].Invoke(vm, null);
                    }
                    row[i++] = value;
                }
            }

            return(matrix);
        }
        public override Data.DataMatrix ExtractReportData(Utilities.IProgressObserver progress)
        {
            var matrix = new DataMatrix();

            matrix.Columns.Add(new MatrixColumn {
                Name = "RegionPath"
            });

            var rootList = Service.GetDistributionRegions(0);

            rootList.ForEach((region) => {
                ExportChildRegions(region, matrix);
            });
            return(matrix);
        }
Ejemplo n.º 3
0
        public override Data.DataMatrix ExtractReportData(Utilities.IProgressObserver progress)
        {
            var service = new MaterialService(PluginManager.Instance.User);

            return(service.GetDarwinCoreForBiotaID(Taxon.TaxaID.Value));
        }
Ejemplo n.º 4
0
        public MultimediaThumbnailViewer(IBioLinkReport report, Data.DataMatrix reportData, Utilities.IProgressObserver progress)
        {
            InitializeComponent();
            this.Report     = report;
            this.ReportData = reportData;
            this.Progress   = progress;

            var service = new SupportService(PluginManager.Instance.User);

            _tempFileManager = new KeyedObjectTempFileManager <int?>((mmId) => {
                if (mmId.HasValue)
                {
                    byte[] bytes = service.GetMultimediaBytes(mmId.Value);
                    if (bytes != null)
                    {
                        return(new MemoryStream(bytes));
                    }
                }
                return(null);
            });

            Loaded += new RoutedEventHandler(MultimediaThumbnailViewer_Loaded);
        }
Ejemplo n.º 5
0
        public FrameworkElement ConstructView(IBioLinkReport report, Data.DataMatrix reportData, Utilities.IProgressObserver progress)
        {
            var viewer = new MultimediaThumbnailViewer(report, reportData, progress);

            return(viewer);
        }
        public FrameworkElement ConstructView(IBioLinkReport report, Data.DataMatrix reportData, Utilities.IProgressObserver progress)
        {
            var viewer = new RTFReportViewer();

            viewer.ReportName = report.Name;
            viewer.rtf.Rtf    = reportData.Rows[0][0] as string;
            return(viewer);
        }