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); }
/// <summary> /// Creates an ObservationsGISResult from a list of species observations. /// </summary> /// <param name="speciesObservationList">The observations list.</param> /// <returns></returns> public static SpeciesObservationsGeoJsonModel CreateResult(SpeciesObservationList speciesObservationList, FeatureCollection spatialFilter) { var features = new List <Feature>(); foreach (ISpeciesObservation observation in speciesObservationList) { // if x or y-coordinate doesn't exist, continue if (!observation.Location.CoordinateX.HasValue || !observation.Location.CoordinateY.HasValue) { continue; } var pos = new GeographicPosition(observation.Location.CoordinateX.Value, observation.Location.CoordinateY.Value); var point = new ArtDatabanken.GIS.GeoJSON.Net.Geometry.Point(pos); var dicProperties = new Dictionary <string, object>(); dicProperties.Add("observationId", observation.Id); dicProperties.Add("siteType", 2); dicProperties.Add("accuracy", observation.Location.CoordinateUncertaintyInMeters); var feature = new Feature(point, dicProperties); feature.Id = observation.DatasetID; features.Add(feature); } var featureCollection = new FeatureCollection(features); var result = new SpeciesObservationsGeoJsonModel(featureCollection, spatialFilter); return(result); }
public SpeciesObservationsGeoJsonModel GetMapPagedResult(int start, int pageSize, int?taxonId) { SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, taxonId, null); if (speciesObservationList == null) { throw new Exception(Resource.InformationExceptionNoObservationsFound); } return(SpeciesObservationsGeoJsonModel.CreateResult(speciesObservationList, null)); }
public SpeciesObservationsData( SpeciesObservationList speciesObservationList, SpeciesObservationFieldDescriptionsViewModel fieldDescriptionsViewModel) { if (speciesObservationList.IsNull()) { speciesObservationList = new SpeciesObservationList(); } SpeciesObservationList = speciesObservationList; SpeciesObservationViewModels = speciesObservationList.GetGenericList().ToObservationDarwinCoreViewModelList(fieldDescriptionsViewModel); }
public void GetSpeciesObservationViewModel_ObservationWithProjectParameters_ProjectIsPopulatedInModel() { // Constants const string projectName = "My project"; const int observationId = 150; const string projectParameterName1 = "Degrees"; const string projectParameterValue1 = "25"; const string projectParamterPropertyIdentifier1 = "MyPropIdentifier1"; // Arrange LoginApplicationUser(); SpeciesObservationDataManager speciesObservationDataManager = new SpeciesObservationDataManager(SessionHandler.UserContext, SessionHandler.MySettings); // Arrange - Mock CoreData.SpeciesObservationManager.DataSource = new StubISpeciesObservationDataSource() { GetSpeciesObservationsIUserContextListOfInt64ICoordinateSystemISpeciesObservationSpecification = (userContext, speciesObservationIds, coordinateSystem, speciesObservationSpecification) => { SpeciesObservationList speciesObservationList = new SpeciesObservationList(); ISpeciesObservation speciesObservation = new ArtDatabanken.Data.SpeciesObservation(); speciesObservation.Id = observationId; speciesObservation.Project = new SpeciesObservationProject { ProjectName = projectName, ProjectParameters = new SpeciesObservationProjectParameterList { new SpeciesObservationProjectParameter { PropertyIdentifier = projectParamterPropertyIdentifier1, ProjectName = projectName, Property = projectParameterName1, Value = projectParameterValue1 } } }; speciesObservationList.Add(speciesObservation); return(speciesObservationList); } }; // Act var speciesObservationViewModel = speciesObservationDataManager.GetSpeciesObservationViewModel(observationId); // Assert Assert.AreEqual(1, speciesObservationViewModel.Projects.Count); Assert.AreEqual(projectName, speciesObservationViewModel.Projects[0].Name); Assert.AreEqual(projectParameterName1, speciesObservationViewModel.Projects[0].ProjectParameters[projectParamterPropertyIdentifier1].Name); Assert.AreEqual(projectParameterValue1, speciesObservationViewModel.Projects[0].ProjectParameters[projectParamterPropertyIdentifier1].Value); }
public List <Dictionary <string, string> > GetTablePagedResult(int start, int pageSize) { SpeciesObservationFieldDescriptionViewManager fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings); SpeciesObservationFieldDescriptionsViewModel fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, null, null); SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel); var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings); ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel(); var speciesObservationDataManager = new SpeciesObservationDataManager(UserContext, MySettings); List <Dictionary <string, string> > dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields); return(dicResult); }
public List <Dictionary <string, string> > GetTablePagedResultInBbox(int start, int pageSize, double bottom, double left, double right, double top) { Polygon bbox = GetPolygon(bottom, left, right, top); SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, null, bbox); var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings); var fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel); var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings); ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel(); var speciesObservationDataManager = new SpeciesObservationDataManager(UserContext, MySettings); List <Dictionary <string, string> > dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields); return(dicResult); }
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); }
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); }
protected SpeciesObservationList GetPagedSpeciesObservationList(int start, int pageSize, int?taxonId, Polygon bbox) { SpeciesObservationPageSpecification pageSpecification = new SpeciesObservationPageSpecification(); pageSpecification.Size = pageSize; pageSpecification.Start = start; pageSpecification.SortOrder = new SpeciesObservationFieldSortOrderList(); SpeciesObservationFieldSortOrder sortOrderOne = new SpeciesObservationFieldSortOrder(); sortOrderOne.SortOrder = SortOrder.Descending; sortOrderOne.Class = new SpeciesObservationClass(); sortOrderOne.Class.Id = SpeciesObservationClassId.Event; sortOrderOne.Property = new SpeciesObservationProperty(); sortOrderOne.Property.Id = SpeciesObservationPropertyId.Start; pageSpecification.SortOrder.Add(sortOrderOne); var searchCriteriaManager = new SpeciesObservationSearchCriteriaManager(UserContext); SpeciesObservationSearchCriteria searchCriteria = searchCriteriaManager.CreateSearchCriteria(MySettings); if (taxonId.HasValue) { searchCriteria.TaxonIds = new List <int> { taxonId.Value }; } if (bbox != null) { searchCriteria.Polygons = new List <IPolygon> { bbox }; } if (UserContext.CurrentRole.IsNull() && UserContext.CurrentRoles.Count > 0) { UserContext.CurrentRole = UserContext.CurrentRoles[0]; } var displayCoordinateSystem = MySettings.Presentation.Map.DisplayCoordinateSystem; // Todo Add more pecifice page information //SpeciesObservationList speciesObservationList = CoreData.SpeciesObservationManager.GetSpeciesObservations(UserContext, searchCriteria, displayCoordinateSystem); SpeciesObservationList speciesObservationList = CoreData.SpeciesObservationManager.GetSpeciesObservations(UserContext, searchCriteria, displayCoordinateSystem, pageSpecification); return(speciesObservationList); }
/// <summary> /// Gets the species observation view model. /// </summary> /// <param name="observationId">The observation id.</param> /// <returns>A species observation view model.</returns> public SpeciesObservationViewModel GetSpeciesObservationViewModel(int observationId) { var displayCoordinateSystem = mySettings.Presentation.Map.DisplayCoordinateSystem; List <long> speciesObservationIds = new List <long> { observationId }; SpeciesObservationList speciesObservationList = CoreData.SpeciesObservationManager.GetSpeciesObservations(userContext, speciesObservationIds, displayCoordinateSystem); SpeciesObservationFieldDescriptionViewManager fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(userContext, mySettings); SpeciesObservationFieldDescriptionsViewModel fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); if (speciesObservationList.Count > 0) { ISpeciesObservation speciesObservation = speciesObservationList[0]; SpeciesObservationViewModel speciesObservationViewModel = SpeciesObservationViewModel.CreateFromSpeciesObservation(speciesObservation, fieldDescriptionsViewModel); return(speciesObservationViewModel); } return(null); }
/// <summary> /// Generate species observation properties to a text file. /// </summary> /// <returns></returns> public ActionResult GenerateObservationProperties() { string filePath = string.Empty; try { IUserContext userContext = CoreData.UserManager.GetApplicationContext(); // Serach griffelblomfluga to extract properties from var obsSearchCriteria = new SpeciesObservationSearchCriteria { TaxonIds = new List <int> { 100573 }, IncludePositiveObservations = true }; var coordinateSystem = new CoordinateSystem { Id = CoordinateSystemId.WGS84 }; userContext.CurrentRole = userContext.CurrentRoles[0]; var obsList = new SpeciesObservationList(); SpeciesObservationFieldList fieldList = new SpeciesObservationFieldList(); if (obsSearchCriteria.TaxonIds.Count > 0) { obsList = CoreData.SpeciesObservationManager.GetSpeciesObservations(userContext, obsSearchCriteria, coordinateSystem); } ISpeciesObservation observation = obsList[0]; Dictionary <string, string> tableData = new Dictionary <string, string>(); tableData = ExtractProperties(observation); filePath = GetFilePath("SpeciesObservationProperties" + System.DateTime.Now.ToShortDateString()); SaveFileToDisk(filePath, tableData); } catch (Exception ex) { throw ex; } ViewData["FilePath"] = filePath; return(View()); }
public JsonNetResult GetObservations() { JsonModel jsonModel; try { IUserContext user = CoreData.UserManager.GetCurrentUser(); var obsSearchCriteria = new SpeciesObservationSearchCriteria { TaxonIds = new List <int> { 100573 }, IncludePositiveObservations = true }; var coordinateSystem = new CoordinateSystem { Id = CoordinateSystemId.GoogleMercator }; //CoordinateSystemId.SWEREF99 user.CurrentRole = user.CurrentRoles[0]; var obsList = new SpeciesObservationList(); SpeciesObservationFieldList fieldList = new SpeciesObservationFieldList(); if (obsSearchCriteria.TaxonIds.Count > 0) { obsList = CoreData.SpeciesObservationManager.GetSpeciesObservations(user, obsSearchCriteria, coordinateSystem); } IList <ISpeciesObservation> resultList = obsList.GetGenericList(); var observationObject = GetObservationsObject(resultList); jsonModel = JsonModel.CreateFromObject(observationObject); } catch (Exception ex) { jsonModel = JsonModel.CreateFailure(ex.Message); } return(new JsonNetResult(jsonModel)); }
public List <ResultObservationsListItem> GetTablePagedResultInBboxAsItems(int start, int pageSize, double bottom, double left, double right, double top) { Polygon bbox = GetPolygon(bottom, left, right, top); SpeciesObservationList speciesObservationList = GetPagedSpeciesObservationList(start, pageSize, null, bbox); var fieldDescriptionViewManager = new SpeciesObservationFieldDescriptionViewManager(UserContext, MySettings); var fieldDescriptionsViewModel = fieldDescriptionViewManager.CreateSpeciesObservationFieldDescriptionsViewModel(); SpeciesObservationsData speciesObservationsData = new SpeciesObservationsData(speciesObservationList, fieldDescriptionsViewModel); List <ResultObservationsListItem> list = new List <ResultObservationsListItem>(); foreach (SpeciesObservationViewModel speciesObservationViewModel in speciesObservationsData.SpeciesObservationViewModels) { list.Add(ResultObservationsListItem.Create(speciesObservationViewModel)); } return(list); //speciesObservationsData.SpeciesObservationViewModels //var viewManager = new SpeciesObservationTableViewManager(UserContext, MySettings); //ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel(); //var speciesObservationDataManager = new SpeciesObservationDataManager(UserContext, MySettings); //List<Dictionary<string, string>> dicResult = speciesObservationDataManager.GetObservationsDataList(speciesObservationsData.SpeciesObservationViewModels, viewModel.TableFields); //return dicResult; }
public static SpeciesObservationsGeoJsonModel CreateResult(SpeciesObservationList speciesObservationList) { return(CreateResult(speciesObservationList, null)); }
public void GetObservationsListDictionary_WhenOneProjectParameter_ThenProjectAndProjectParameterArePairedTogether() { // Constants const string projectName = "My project"; const int observationId = 150; const string projectParameterName1 = "Degrees"; const string projectParameterValue1 = "25"; //Arrange LoginApplicationUser(); SpeciesObservationDataManager speciesObservationDataManager = new SpeciesObservationDataManager( SessionHandler.UserContext, SessionHandler.MySettings); List <SpeciesObservationViewModel> obsResultList = new List <SpeciesObservationViewModel>(); IEnumerable <ViewTableField> tableFields = null; // Arrange - Mock CoreData.SpeciesObservationManager.DataSource = new StubISpeciesObservationDataSource() { GetSpeciesObservationsIUserContextListOfInt64ICoordinateSystemISpeciesObservationSpecification = (userContext, speciesObservationIds, coordinateSystem, speciesObservationSpecification) => { SpeciesObservationList speciesObservationList = new SpeciesObservationList(); ISpeciesObservation speciesObservation = new ArtDatabanken.Data.SpeciesObservation(); speciesObservation.Id = observationId; speciesObservation.Project = new SpeciesObservationProject { ProjectName = projectName, ProjectParameters = new SpeciesObservationProjectParameterList { new SpeciesObservationProjectParameter { ProjectName = projectName, Property = projectParameterName1, Value = projectParameterValue1 } } }; speciesObservationList.Add(speciesObservation); return(speciesObservationList); } }; var viewManager = new SpeciesObservationTableViewManager( SessionHandler.UserContext, SessionHandler.MySettings); ViewTableViewModel viewModel = viewManager.CreateViewTableViewModel( SessionHandler.MySettings.Presentation.Table.SpeciesObservationTable.SpeciesObservationTableColumnsSetId); tableFields = viewModel.TableFields; obsResultList.Add(new SpeciesObservationViewModel { Id = observationId.ToString(), Projects = new List <ProjectViewModel> { new ProjectViewModel() { Name = projectName, ProjectParameters = new Dictionary <string, ProjectParameterObservationDetailFieldViewModel> { { projectParameterIdentifer1, new ProjectParameterObservationDetailFieldViewModel() { PropertyIdentifier = projectParameterIdentifer1, Name = projectParameterName1, Label = projectParameterName1, Value = projectParameterValue1, } } } } } }); //Act List <Dictionary <ViewTableField, string> > result = speciesObservationDataManager.GetObservationsListDictionary( obsResultList, tableFields); //Assert bool foundProjectParameter = false; foreach (KeyValuePair <ViewTableField, string> pair in result.First()) { string headerTitle = string.Format("[{0}].[{1}]", projectName, projectParameterName1); if (pair.Key.Title == headerTitle && pair.Key.DataField == headerTitle && pair.Value == projectParameterValue1) { foundProjectParameter = true; } } Assert.IsTrue(foundProjectParameter, "Project parameter not found"); }