handles existing cropfielditemcode

This commit is contained in:
2023-06-27 14:08:27 +02:00
parent b99191b7b1
commit 8a770a1762
4 changed files with 20 additions and 12 deletions

View File

@@ -98,18 +98,27 @@ namespace FarmmapsKPI
// Use already created cropfield or create new one, added a Data input, with field specific data for the KPI calculation
Item cropfieldItem;
if (useCreatedCropfield == true || string.IsNullOrEmpty(_settings.CropfieldItemCode))
//1 useCreatedCropfield = false -> get new
//2 useCreatedCropfield = true && CropfieldItemCode = "" or absent -> read from settings json
//2 useCreatedCropfield = true && CropfieldItemCode like "deb48a74c5b54299bb852f17288010e9" in KPIinput -> use this one
if (useCreatedCropfield == false || string.IsNullOrEmpty(_settings.CropfieldItemCode))
{
_logger.LogInformation("Creating cropfield");
_logger.LogInformation("Creating cropfield, writting to settings file");
cropfieldItem = await _generalService.CreateCropfieldItemAsync(myDriveRoot.Code,
$"DataCropfield {input.OutputFileName}", cropYear, input.GeometryJson.ToString(Formatting.None), input.Data.ToString(Formatting.None));
_settings.CropfieldItemCode = cropfieldItem.Code;
SaveSettings(settingsfile);
}
else if (string.IsNullOrEmpty(input.CropfieldItemCode))
{
_logger.LogInformation("CropfieldItemCode not in json input, reading from settings json");
cropfieldItem = await _farmmapsApiService.GetItemAsync(_settings.CropfieldItemCode);
}
else
{
_logger.LogInformation("Cropfield already exists, trying to get it");
cropfieldItem = await _farmmapsApiService.GetItemAsync(_settings.CropfieldItemCode);
_logger.LogInformation("CropfieldItemCode not in json input, reading from settings json");
cropfieldItem = await _farmmapsApiService.GetItemAsync(input.CropfieldItemCode);
}
//Get croprecordings
@@ -143,11 +152,10 @@ namespace FarmmapsKPI
}
// Get KPI data for saving it in a file, here the generalsedrvice is called to get the KPI data
_logger.LogInformation($"Trying to get the cropfielditem: {cropfieldItem}");
_logger.LogInformation($"Trying to get the cropfielditem: {cropfieldItem.Code}");
var KPIItem = await _generalService.GetKpiItemsForCropField(cropfieldItem);
var KPIItemPath = Path.Combine(downloadFolder, $"KPIItems_{KPIItem}.json");
var KPIItemPath = Path.Combine(downloadFolder, $"KPIItems_{cropfieldItem.Code}.json");
_logger.LogInformation($"Found {KPIItem.Count} KPI items");
var count = 0;
await Task.Delay(50);