Пример #1
0
 /// <summary>
 /// Submit a sample to Indicia Warehouse
 /// Required post parameters: "submission" : {JSON containing sample}
 /// </summary>
 /// <returns>Success, or JSON from Indicia Warehouse describing validation failures</returns>
 public dynamic SaveData()
 {
     Uri URL = new Uri(_serviceURI, SAVEDATA);
     _tokenType = IndiciaTokenType.write;
     _method = Method.POST;
     BuildRequest(URL);
     return MakeRequest();
 }
Пример #2
0
 /// <summary>
 /// Get possible matches from taxon list 
 /// Example get parameters: "taxon_list_id":  int (required)
 /// "limit": "100"
 /// "q", "fox"
 /// "qfield", "searchterm"
 /// "query", "{\"where\":[\"(simplified='t' or simplified is null) AND (preferred='t' or language_iso<>'lat')\"]}
 /// More information in Indicia docs
 /// </summary>
 /// <returns>List of TaxonSearchItem</returns>
 public List<TaxonSearchItem> GetTaxaSearchList()
 {
     Uri URL = new Uri(_serviceURI, TAXALIST);
     _tokenType = IndiciaTokenType.read;
     BuildRequest(URL);
     var jsonResponse = MakeRequest();
     return jsonResponse.ToObject<List<TaxonSearchItem>>();
 }
Пример #3
0
 /// <summary>
 /// Get Term List. List of options for Indicia Survey question
 /// Required get parameters: termlist_id:  int 
 /// </summary>
 /// <returns>List of TermItem</returns>
 public List<TermItem> GetTermList()
 {
     Uri URL = new Uri(_serviceURI, TERMLIST);
     _tokenType = IndiciaTokenType.read;
     BuildRequest(URL);
     var jsonResponse = MakeRequest();
     List<TermItem> tmp = jsonResponse.ToObject<List<TermItem>>();
     return tmp.OrderBy(t => t.SortOrder).ToList();
 }
Пример #4
0
        /// <summary>
        /// Gets attribute list for Indicia Survey from Indicia Warehouse
        /// Required get parameters: restrict_to_survey_id:  int id 
        /// </summary>
        /// <returns>List of SurveyAttribute</returns>
        public List<SurveyAttribute> GetSurvey()
        {
            List<SurveyAttribute> attrs = new List<SurveyAttribute>();
            _tokenType = IndiciaTokenType.read;
            //samples
            Uri URL = new Uri(_serviceURI, SAMPLEATTRIBUTELIST);
            BuildRequest(URL);
            var jsonResponse = MakeRequest();
            List<SurveyAttribute> sa = jsonResponse.ToObject<List<SurveyAttribute>>();
            sa.ForEach(a => a.AttributeType = SurveyAttributeType.sample);
            attrs.AddRange(sa);

            //occurences
            URL = new Uri(_serviceURI, OCCURRENCEATTRIBUTELIST);
            BuildRequest(URL);
            jsonResponse = MakeRequest();
            List<SurveyAttribute> sa2 = jsonResponse.ToObject<List<SurveyAttribute>>();
            sa2.ForEach(a => a.AttributeType = SurveyAttributeType.occurrence);
            attrs.AddRange(sa2);

            //locations
            URL = new Uri(_serviceURI, LOCATIONATTRIBUTELIST);
            BuildRequest(URL);
            jsonResponse = MakeRequest();
            List<SurveyAttribute> sa3 = jsonResponse.ToObject<List<SurveyAttribute>>();
            sa3.ForEach(a => a.AttributeType = SurveyAttributeType.location);
            attrs.AddRange(sa3);

            return attrs;
        }