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); }
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); }