Ejemplo n.º 1
0
        public override Data.DataMatrix ExtractReportData(IProgressObserver progress)
        {
            var service = new MaterialService(User);

            if (progress != null) {
                progress.ProgressStart(string.Format("Retrieving Material records for Trap {0}", Trap.DisplayLabel), true);
            }

            var serviceMessage = new ServiceMessageDelegate((message) => {
                progress.ProgressMessage(message, 0);
            });

            service.ServiceMessage += serviceMessage;
            DataMatrix matrix = service.GetMaterialForTrap(Trap.ElemID);
            service.ServiceMessage -= serviceMessage;

            if (progress != null) {
                progress.ProgressEnd(string.Format("{0} rows retreived", matrix.Rows.Count));
            }

            matrix.Columns.Add(new FormattedLatLongVirtualColumn(matrix));
            matrix.Columns.Add(new FormattedDateVirtualColumn(matrix));

            return matrix;
        }
        public override DataMatrix ExtractReportData(IProgressObserver progress)
        {
            if (progress != null)
            {
                progress.ProgressStart(string.Format("Retrieving Material records for {0}", Taxon.DisplayLabel), true);
            }

            var serviceMessage = new ServiceMessageDelegate((message) => {
                progress.ProgressMessage(message, 0);
            });

            Service.ServiceMessage += serviceMessage;
            DataMatrix matrix = Service.GetMaterialForTaxon(Taxon.TaxaID.Value);

            Service.ServiceMessage -= serviceMessage;

            if (progress != null)
            {
                progress.ProgressEnd(string.Format("{0} rows retreived", matrix.Rows.Count));
            }

            matrix.Columns.Add(new FormattedLatLongVirtualColumn(matrix));
            matrix.Columns.Add(new FormattedDateVirtualColumn(matrix));

            return(matrix);
        }
Ejemplo n.º 3
0
        public override List <Command> GetCommandsForObjectSet(List <int> objectIds, LookupType type)
        {
            var list = new List <Command>();

            switch (type)
            {
            case LookupType.Material:
                list.Add(new Command("Darwin Core report for material", (dataobj) => {
                    PluginManager.RunReport(this, new MaterialSetDarwinCoreReport(User, dataobj as List <int>));
                }));

                list.Add(new Command(String.Format("Delete material", objectIds.Count), (dataobj) => {
                    if (_explorer.Question(String.Format("Are you sure you wish to permanently delete these {0} pieces of material?", objectIds.Count), "Delete material set?", System.Windows.MessageBoxImage.Exclamation))
                    {
                        StringBuilder sb          = new StringBuilder();
                        var serviceMessageHandler = new ServiceMessageDelegate((msg) => {
                            sb.Append(msg).Append(" ");
                        });

                        var service             = new MaterialService(User);
                        service.ServiceMessage += serviceMessageHandler;
                        var count = 0;
                        using (new OverrideCursor(Cursors.Wait)) {
                            count = service.DeleteMaterialSet(objectIds);
                        }

                        if (count == 0)
                        {
                            ErrorMessage.Show("Something went wrong trying to delete {0} material items. {1}", objectIds.Count, sb.ToString());
                        }
                        else
                        {
                            InfoBox.Show(String.Format("{0} material records deleted.", count), "Material deleted", PluginManager.ParentWindow);
                        }
                    }
                }));
                break;
            }

            return(list);
        }