public SpeciesObservationList GetSpeciesObservationBySearchCriteriaPage(IUserContext userContext, ISpeciesObservationSearchCriteria searchCriteria, ICoordinateSystem coordinateSystem, ISpeciesObservationPageSpecification pageSpecification) { SpeciesObservationList speciesObservationList = new SpeciesObservationList(); IEnumerable <int> taxonIds; if (searchCriteria.TaxonIds != null && searchCriteria.TaxonIds.Count > 0) { taxonIds = searchCriteria.TaxonIds; } else { taxonIds = AllTaxonIds; } foreach (int taxonId in taxonIds) { SpeciesObservation speciesObservation = CreateSpeciesObservation(taxonId); speciesObservationList.Add(speciesObservation); } return(speciesObservationList); }
private static SpeciesObservation CreateSpeciesObservation(int taxonId) { SpeciesObservation speciesObservation = new SpeciesObservation(); speciesObservation.Taxon = new SpeciesObservationTaxon(); speciesObservation.Taxon.TaxonID = taxonId.ToString(); return(speciesObservation); }
private SpeciesObservationsData CreateSpeciesObservationData(IUserContext userContext, AnalysisPortal.MySettings.MySettings mySettings) { SpeciesObservation speciesObservation = new SpeciesObservation(); speciesObservation.Taxon = new SpeciesObservationTaxon(); speciesObservation.Taxon.TaxonID = "1"; SpeciesObservationList speciesObservationList = new SpeciesObservationList(); speciesObservationList.Add(speciesObservation); var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, mySettings); var fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel); return(speciesObservationsData); }
public static SpeciesObservation CreateRandomObservation() { SpeciesObservation observation = new SpeciesObservation(); observation.DataProviderId = random.Next(1, 5); observation.CatalogNumber = counter.ToString(); counter++; var person = PersonTestRepository.GetRandomPerson(); observation.RecordedBy = $"{person.FirstName} {person.LastName}"; observation.CoordinateX = random.NextDouble() * 100; observation.CoordinateY = random.NextDouble() * 100; //observation.ReportedDate = new DateTime(random.Next(1970, 2019), random.Next(1, 13), random.Next(1, 29)); observation.DyntaxaTaxonId = TaxonIds[random.Next(0, TaxonIds.Length)]; return(observation); }
private static SpeciesObservationsData CreateSpeciesObservationDataSample() { SpeciesObservation speciesObservation; SpeciesObservationList speciesObservationList; SpeciesObservationsData speciesObservationsData; speciesObservation = new SpeciesObservation(); speciesObservation.Taxon = new SpeciesObservationTaxon(); speciesObservation.Taxon.TaxonID = "27"; speciesObservationList = new SpeciesObservationList(); speciesObservationList.Add(speciesObservation); var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(SessionHandler.UserContext, SessionHandler.MySettings); var fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel); return(speciesObservationsData); }
void tsbExportToExcelClick(object sender, EventArgs e) { try { SaveFileDialog saveXLS = new SaveFileDialog(); saveXLS.FileName = _currentProject.Name; saveXLS.DefaultExt = "xls"; saveXLS.Filter = "Microsoft Office Excel Workbook |(*.xls*)"; saveXLS.CheckFileExists = false; saveXLS.InitialDirectory = projectsPath; if (saveXLS.ShowDialog() == DialogResult.OK) { int totalRows = 0; FileStream stream = new FileStream(saveXLS.FileName, FileMode.OpenOrCreate); ExcelWriter writer = new ExcelWriter(stream); writer.BeginWrite(); writer.WriteCell(0, 0, "Station ID"); writer.WriteCell(0, 1, "Camera Manufacturer"); writer.WriteCell(0, 2, "Camera Model"); writer.WriteCell(0, 3, "Image Name"); writer.WriteCell(0, 4, "Date"); writer.WriteCell(0, 5, "Time"); writer.WriteCell(0, 6, "Pressure (inHg)"); writer.WriteCell(0, 7, "Temperature (Celsius)"); writer.WriteCell(0, 8, "Species"); writer.WriteCell(0, 9, "Count"); foreach (Station st in _currentProject.StationsList) { foreach (Sample smp in st.SamplesList) { totalRows++; writer.WriteCell(totalRows, 0, st.StationID); writer.WriteCell(totalRows, 1, smp.CameraManufacturer); writer.WriteCell(totalRows, 2, smp.CameraModel); writer.WriteCell(totalRows, 3, smp.ImageName); writer.WriteCell(totalRows, 4, smp.DateTime.ToShortDateString()); writer.WriteCell(totalRows, 5, smp.DateTime.ToShortTimeString()); writer.WriteCell(totalRows, 6, (double)smp.OCR_Observations_list[0].Value); //Press writer.WriteCell(totalRows, 7, (int)smp.OCR_Observations_list[1].Value); //Temp SpeciesObservation spc0 = (SpeciesObservation)smp.Species_Observations_list[0]; writer.WriteCell(totalRows, 8, (string)spc0.Value); //Species0 writer.WriteCell(totalRows, 9, (int)spc0.Count); //Count0 //more than 1 specie observation, duplicate the row changing that value if (smp.OCR_Observations_list.Count > 3) { for (int j = 3; j < smp.OCR_Observations_list.Count; j++) { totalRows++; writer.WriteCell(totalRows, 0, st.StationID); writer.WriteCell(totalRows, 1, smp.CameraManufacturer); writer.WriteCell(totalRows, 2, smp.CameraModel); writer.WriteCell(totalRows, 3, smp.ImageName); writer.WriteCell(totalRows, 4, smp.DateTime.ToShortDateString()); writer.WriteCell(totalRows, 5, smp.DateTime.ToShortTimeString()); writer.WriteCell(totalRows, 6, (double)smp.OCR_Observations_list[0].Value); //Press writer.WriteCell(totalRows, 7, (int)smp.OCR_Observations_list[1].Value); //Temp SpeciesObservation spcN = (SpeciesObservation)smp.Species_Observations_list[j]; writer.WriteCell(totalRows, 8, (string)spcN.Value); //Species0 writer.WriteCell(totalRows, 9, (int)spcN.Count); //Count0 } } } } writer.EndWrite(); stream.Close(); } } catch (Exception ex) { throw ex; } }
private void refreshViewData(Sample currentSample) { try { //Refresh the listview lstViewData.Items.Clear(); lstViewData.Columns.Clear(); ColumnHeader columnheader; // Used for creating column headers. ListViewItem listviewitem; // Used for creating listview items. // Ensure that the view is set to show details. lstViewData.View = View.Details; listviewitem = new ListViewItem("Camera Model"); listviewitem.SubItems.Add(_currentSample.CameraModel); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Camera Manufacturer"); listviewitem.SubItems.Add(_currentSample.CameraManufacturer); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Image Height"); listviewitem.SubItems.Add(_currentSample.Height.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Image Width"); listviewitem.SubItems.Add(_currentSample.Width.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Vertical Resolution"); listviewitem.SubItems.Add(_currentSample.VerticalResolution.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Horizontal Resolution"); listviewitem.SubItems.Add(_currentSample.HorizontalResolution.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Date"); listviewitem.SubItems.Add(_currentSample.DateTime.Date.ToShortDateString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Time"); listviewitem.SubItems.Add(_currentSample.DateTime.TimeOfDay.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Latitude"); listviewitem.SubItems.Add(_currentSample.Lat.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Longitude"); listviewitem.SubItems.Add(_currentSample.Lon.ToString()); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Day Or Night"); listviewitem.SubItems.Add(_currentSample.DayOrNight); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem("Moon Phase"); listviewitem.SubItems.Add(_currentSample.MoonPhase); this.lstViewData.Items.Add(listviewitem); foreach (Observation obs in _currentSample.OCR_Observations_list) { listviewitem = new ListViewItem(obs.Name); listviewitem.SubItems.Add(obs.Value.ToString()); this.lstViewData.Items.Add(listviewitem); } foreach (SpeciesObservation obs in _currentSample.Species_Observations_list) { SpeciesObservation specie = (SpeciesObservation)obs; listviewitem = new ListViewItem(specie.Name); listviewitem.SubItems.Add(specie.Value.ToString()); listviewitem.Font = new Font(listviewitem.Font, FontStyle.Bold); this.lstViewData.Items.Add(listviewitem); listviewitem = new ListViewItem(specie.Name + " count"); listviewitem.SubItems.Add(specie.Count.ToString()); listviewitem.Font = new Font(listviewitem.Font, FontStyle.Bold); this.lstViewData.Items.Add(listviewitem); } // Create some column headers for the data. columnheader = new ColumnHeader(); columnheader.Text = "Prop"; this.lstViewData.Columns.Add(columnheader); columnheader = new ColumnHeader(); columnheader.Text = "Value"; this.lstViewData.Columns.Add(columnheader); // Loop through and size each column header to fit the column header text. foreach (ColumnHeader ch in this.lstViewData.Columns) { ch.Width = -2; } } catch (Exception ex) { throw ex; } }
public async Task TestAddAndUpdateOneObservationCreatingDifferentVersions() { //----------------------------------------------------------------------------------------------------------- // Arrange - Database connection, etc. //----------------------------------------------------------------------------------------------------------- MongoDbContext dbContext = new MongoDbContext(MongoUrl, DatabaseName, CollectionName); await dbContext.Mongodb.DropCollectionAsync(CollectionName); var observationRepository = new VersionedDocumentRepositoryObservation <SpeciesObservation>(dbContext); //----------------------------------------------------------------------------------------------------------- // Arrange - Observation versions. One original version and 3 different updated versions. //----------------------------------------------------------------------------------------------------------- SpeciesObservation originalObservation = SpeciesObservationTestRepository.CreateRandomObservation(); var observationVersion2 = (SpeciesObservation)originalObservation.Clone(); observationVersion2.RecordedBy = "Peter van Nostrand"; var observationVersion3 = (SpeciesObservation)observationVersion2.Clone(); observationVersion3.CoordinateX = 54.234; var observationVersion4 = (SpeciesObservation)observationVersion3.Clone(); observationVersion4.RecordedBy = "Art Vandelay"; //----------------------------------------------------------------------------------------------------------- // Arrange - Variables //----------------------------------------------------------------------------------------------------------- int dataProviderId = originalObservation.DataProviderId; string catalogNumber = originalObservation.CatalogNumber; //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- await observationRepository.InsertDocumentAsync(originalObservation); // Version 1, First insert await observationRepository.InsertDocumentAsync(observationVersion2); // Version 2, Change [RecordedBy] await observationRepository.InsertDocumentAsync(observationVersion3); // Version 3, Change [CoordinateX] await observationRepository.DeleteDocumentAsync(dataProviderId, catalogNumber); // Version 4, Delete document await observationRepository.InsertDocumentAsync(observationVersion4); // Version 5, Change [RecordedBy] await observationRepository.DeleteDocumentAsync(dataProviderId, catalogNumber); // Version 6, Delete document //----------------------------------------------------------------------------------------------------------- // Act - Restore versions //----------------------------------------------------------------------------------------------------------- var restoredVer6 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 6); var restoredVer5 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 5); var restoredVer4 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 4); var restoredVer3 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 3); var restoredVer2 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 2); var restoredVer1 = await observationRepository.RestoreDocumentAsync(dataProviderId, catalogNumber, 1); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- restoredVer6.Should().BeNull("the observation was deleted in version 6"); restoredVer5.Should().BeEquivalentTo(observationVersion4, "in version 5, the observationVersion4 was inserted"); restoredVer4.Should().BeNull("the observation was deleted in version 4"); restoredVer3.Should().BeEquivalentTo(observationVersion3, "in version 3, the observationVersion3 was inserted"); restoredVer2.Should().BeEquivalentTo(observationVersion2, "in version 2, the observationVersion2 was inserted"); restoredVer1.Should().BeEquivalentTo(originalObservation, "in the first version, the observationVersion1 was inserted"); }