From 0f9fe0a4333b8afaa281b22c9b6ae69d99278e3b Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Mon, 28 Feb 2022 14:29:56 +0100 Subject: [PATCH] Updated receiving of root items --- FarmMapsBlight/BlightApplication.cs | 14 +++++++------- FarmmapsApi/Services/FarmmapsApiService.cs | 15 ++++++++++++++- .../BulkSatDownloadApplication.cs | 4 ++-- FarmmapsDataDownload/DataDownloadApplication.cs | 4 ++-- FarmmapsHaulmkilling/HaulmkillingApplication.cs | 4 ++-- FarmmapsHerbicide/HerbicideApplication.cs | 8 ++++---- FarmmapsNbs/NbsApplication.cs | 6 +++--- FarmmapsPoten/PotenApplication.cs | 4 ++-- FarmmapsZonering/ZoneringApplication.cs | 4 ++-- 9 files changed, 38 insertions(+), 25 deletions(-) diff --git a/FarmMapsBlight/BlightApplication.cs b/FarmMapsBlight/BlightApplication.cs index 4b96c88..dcceb73 100644 --- a/FarmMapsBlight/BlightApplication.cs +++ b/FarmMapsBlight/BlightApplication.cs @@ -44,14 +44,14 @@ namespace FarmMapsBlight await _farmmapsApiService.GetCurrentUserCodeAsync(); var roots = await _farmmapsApiService.GetCurrentUserRootsAsync(); - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); return; } - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); @@ -61,12 +61,12 @@ namespace FarmMapsBlight Item cropfieldItem; if (string.IsNullOrEmpty(_settings.CropfieldItemCode)) { - _logger.LogInformation("Creating cropfield"); - int year = DateTime.Now.Year; - string emergenDate = new DateTime(year, 4, 25).ToString("o"); - string cropFieldData = "{\"area\":10.96,\"final\":true,\"soilCode\":\"1\",\"soilName\":\"Zand\",\"varietyCode\":\"10019\",\"varietyName\":\"Abana\",\"cropTypeCode\":\"1010101\",\"cropTypeName\":\"Aardappel\",\"rootDepthMax\":45,\"emergenceDate\":\"" + emergenDate + "\",\"productionPurposeCode\":\"003\",\"productionPurposeName\":\"Consumptie\"}"; + _logger.LogInformation("Creating cropfield"); + int year = DateTime.Now.Year; + string emergenDate = new DateTime(year, 4, 25).ToString("o"); + string cropFieldData = "{\"area\":10.96,\"final\":true,\"soilCode\":\"1\",\"soilName\":\"Zand\",\"varietyCode\":\"10019\",\"varietyName\":\"Abana\",\"cropTypeCode\":\"1010101\",\"cropTypeName\":\"Aardappel\",\"rootDepthMax\":45,\"emergenceDate\":\"" + emergenDate + "\",\"productionPurposeCode\":\"003\",\"productionPurposeName\":\"Consumptie\"}"; cropfieldItem = await _generalService.CreateCropfieldItemAsync(myDrive.Code, "Cropfield Blight", year, - @"{""type"":""Polygon"",""coordinates"":[[[4.617786844284247,52.22533706956424],[4.618642601314543,52.225938364585989],[4.6192153806397,52.22563988897754],[4.619192414656403,52.2256242822442],[4.620306732153958,52.225031745661528],[4.620542019225217,52.22519855319158],[4.621157509147853,52.22487436515405],[4.623387917230182,52.22367660757213],[4.624563444939009,52.22304740241544],[4.624562779355982,52.223046635247019],[4.624534908813479,52.22302596787506],[4.627873021330343,52.221240670658399],[4.627504935938338,52.220104419135129],[4.627324878706837,52.22020569669098],[4.627320696113512,52.22020660117888],[4.626707169518044,52.22053923770041],[4.624700376420229,52.221619047547488],[4.623471571183885,52.22227447969577],[4.623471511010673,52.22227500174403],[4.623468838689317,52.22228052566992],[4.617786844284247,52.22533706956424]]]}", cropFieldData); + @"{""type"":""Polygon"",""coordinates"":[[[4.617786844284247,52.22533706956424],[4.618642601314543,52.225938364585989],[4.6192153806397,52.22563988897754],[4.619192414656403,52.2256242822442],[4.620306732153958,52.225031745661528],[4.620542019225217,52.22519855319158],[4.621157509147853,52.22487436515405],[4.623387917230182,52.22367660757213],[4.624563444939009,52.22304740241544],[4.624562779355982,52.223046635247019],[4.624534908813479,52.22302596787506],[4.627873021330343,52.221240670658399],[4.627504935938338,52.220104419135129],[4.627324878706837,52.22020569669098],[4.627320696113512,52.22020660117888],[4.626707169518044,52.22053923770041],[4.624700376420229,52.221619047547488],[4.623471571183885,52.22227447969577],[4.623471511010673,52.22227500174403],[4.623468838689317,52.22228052566992],[4.617786844284247,52.22533706956424]]]}", cropFieldData); _settings.CropfieldItemCode = cropfieldItem.Code; SaveSettings(); } diff --git a/FarmmapsApi/Services/FarmmapsApiService.cs b/FarmmapsApi/Services/FarmmapsApiService.cs index b828381..dec584c 100644 --- a/FarmmapsApi/Services/FarmmapsApiService.cs +++ b/FarmmapsApi/Services/FarmmapsApiService.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; @@ -95,7 +96,19 @@ namespace FarmmapsApi.Services var jsonString = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject>(jsonString); + var roots = JsonConvert.DeserializeObject>(jsonString); + roots.ForEach(v => + { + v.Name = GetSuffixFromSystemItemCode(v.Code); + }); + + return roots; + } + + private static string GetSuffixFromSystemItemCode(string itemCode) + { + string[] strArray = itemCode.Split(":"); + return strArray.Length == 2 ? strArray[1] : throw new ArgumentException("No system item code :" + itemCode); } public async Task GetItemAsync(string itemCode, string itemType = null, JObject dataFilter = null) diff --git a/FarmmapsBulkSatDownload/BulkSatDownloadApplication.cs b/FarmmapsBulkSatDownload/BulkSatDownloadApplication.cs index 52ed864..f663a77 100644 --- a/FarmmapsBulkSatDownload/BulkSatDownloadApplication.cs +++ b/FarmmapsBulkSatDownload/BulkSatDownloadApplication.cs @@ -225,14 +225,14 @@ LIMIT 5;", schemaname, parceltablename, groenmonitorlatestviewname); //LIMIT x LoadSettings(settingsfile); - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); return; } - var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDriveRoot == null) { _logger.LogError("Could not find a needed root item"); diff --git a/FarmmapsDataDownload/DataDownloadApplication.cs b/FarmmapsDataDownload/DataDownloadApplication.cs index 4292f07..e4534d0 100644 --- a/FarmmapsDataDownload/DataDownloadApplication.cs +++ b/FarmmapsDataDownload/DataDownloadApplication.cs @@ -82,14 +82,14 @@ namespace FarmmapsDataDownload LoadSettings(settingsfile); - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); return; } - var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDriveRoot == null) { _logger.LogError("Could not find a needed root item"); diff --git a/FarmmapsHaulmkilling/HaulmkillingApplication.cs b/FarmmapsHaulmkilling/HaulmkillingApplication.cs index bf57ac8..cfa4140 100644 --- a/FarmmapsHaulmkilling/HaulmkillingApplication.cs +++ b/FarmmapsHaulmkilling/HaulmkillingApplication.cs @@ -45,14 +45,14 @@ namespace FarmmapsHaulmkilling await _farmmapsApiService.GetCurrentUserCodeAsync(); var roots = await _farmmapsApiService.GetCurrentUserRootsAsync(); - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); return; } - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); diff --git a/FarmmapsHerbicide/HerbicideApplication.cs b/FarmmapsHerbicide/HerbicideApplication.cs index 4d76566..6a732a8 100644 --- a/FarmmapsHerbicide/HerbicideApplication.cs +++ b/FarmmapsHerbicide/HerbicideApplication.cs @@ -50,14 +50,14 @@ namespace FarmmapsHerbicide private async Task SingleLutumTiffFlow(List roots) { - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); return; } - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); @@ -91,14 +91,14 @@ namespace FarmmapsHerbicide private async Task MultiVanDenBorneShapeFlow(List roots) { - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); return; } - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); diff --git a/FarmmapsNbs/NbsApplication.cs b/FarmmapsNbs/NbsApplication.cs index 87e642c..c62f472 100644 --- a/FarmmapsNbs/NbsApplication.cs +++ b/FarmmapsNbs/NbsApplication.cs @@ -64,13 +64,13 @@ namespace FarmmapsNbs { LoadSettings(settingsfile); - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); return; } - var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDriveRoot == null) { _logger.LogError("Could not find a needed root item"); return; @@ -308,4 +308,4 @@ namespace FarmmapsNbs { } } -} +} diff --git a/FarmmapsPoten/PotenApplication.cs b/FarmmapsPoten/PotenApplication.cs index 91e27a9..7f11919 100644 --- a/FarmmapsPoten/PotenApplication.cs +++ b/FarmmapsPoten/PotenApplication.cs @@ -61,13 +61,13 @@ namespace FarmmapsVRApoten bool countPerArea = input.CountPerArea; var inputLayerName = input.InputLayerName; - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); return; } - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item"); return; diff --git a/FarmmapsZonering/ZoneringApplication.cs b/FarmmapsZonering/ZoneringApplication.cs index 00ec7d0..47107a6 100644 --- a/FarmmapsZonering/ZoneringApplication.cs +++ b/FarmmapsZonering/ZoneringApplication.cs @@ -66,7 +66,7 @@ namespace FarmmapsZonering private async Task ZoningAsync(List roots, ZoneringInput input) { - var myDrive = roots.SingleOrDefault(r => r.Name == "My drive"); + var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES"); if (myDrive == null) { _logger.LogError("Could not find a needed root item"); @@ -83,7 +83,7 @@ namespace FarmmapsZonering // Load settings from previous cropfield LoadSettings(settingsfile); - var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded"); + var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN"); if (uploadedRoot == null) { _logger.LogError("Could not find a needed root item");