예제 #1
0
        public SpeciesObservationList GetSpeciesObservationsBySearchCriteria(IUserContext userContext,
                                                                             ISpeciesObservationSearchCriteria searchCriteria,
                                                                             ICoordinateSystem coordinateSystem,
                                                                             SpeciesObservationFieldList fieldList)
        {
            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>
        /// 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));
        }