diff --git a/API/Models/Analysis.cs b/API/Models/Analysis.cs index aa45938..f9aa634 100644 --- a/API/Models/Analysis.cs +++ b/API/Models/Analysis.cs @@ -9,27 +9,27 @@ public class Analysis public int Id { get; set; } [XmlIgnore] public int SoilId { get; set; } // foreign key property - public List Thickness { get; set; } = null!; - public List? Rocks { get; set; } = null; - public List? RocksMetadata { get; set; } = null; - public List? Texture { get; set; } = null; - public List? TextureMetadata { get; set; } = null; - public List PH { get; set; } = null!; - public List? PHMetadata { get; set; } = null; - public List? EC { get; set; } = null; - public List? ECMetadata { get; set; } = null; - public List? CL { get; set; } = null; - public List? CLMetadata { get; set; } = null; - public List? CEC { get; set; } = null; - public List? CECMetadata { get; set; } = null; - public List? ESP { get; set; } = null; - public List? ESPMetadata { get; set; } = null; - public List? ParticleSizeSand { get; set; } = null; - public List? ParticleSizeSandMetadata { get; set; } = null; - public List? ParticleSizeSilt { get; set; } = null; - public List? ParticleSizeSiltMetadata { get; set; } = null; - public List? ParticleSizeClay { get; set; } = null; - public List? ParticleSizeClayMetadata { get; set; } = null; + public double[] Thickness { get; set; } = null!; + public double[]? Rocks { get; set; } = null; + public string[]? RocksMetadata { get; set; } = null; + public string[]? Texture { get; set; } = null; + public string[]? TextureMetadata { get; set; } = null; + public double[] PH { get; set; } = null!; + public string[]? PHMetadata { get; set; } = null; + public double[]? EC { get; set; } = null; + public string[]? ECMetadata { get; set; } = null; + public double[]? CL { get; set; } = null; + public string[]? CLMetadata { get; set; } = null; + public double[]? CEC { get; set; } = null; + public string[]? CECMetadata { get; set; } = null; + public double[]? ESP { get; set; } = null; + public string[]? ESPMetadata { get; set; } = null; + public double[]? ParticleSizeSand { get; set; } = null; + public string[]? ParticleSizeSandMetadata { get; set; } = null; + public double[]? ParticleSizeSilt { get; set; } = null; + public string[]? ParticleSizeSiltMetadata { get; set; } = null; + public double[]? ParticleSizeClay { get; set; } = null; + public string[]? ParticleSizeClayMetadata { get; set; } = null; public string? PHUnits { get; set; } = null; public string? BoronUnits { get; set; } = null; } diff --git a/API/Models/SoilCrop.cs b/API/Models/SoilCrop.cs index 7772605..036fcdf 100644 --- a/API/Models/SoilCrop.cs +++ b/API/Models/SoilCrop.cs @@ -12,9 +12,9 @@ public class SoilCrop [XmlAttribute("name")] public string Name { get; set; } = null!; - public List Thickness { get; set; } = null!; - public List LL { get; set; } = null!; - public List KL { get; set; } = null!; - public List XF { get; set; } = null!; - public List? LLMetadata { get; set; } = null; + public double[] Thickness { get; set; } = null!; + public double[] LL { get; set; } = null!; + public double[] KL { get; set; } = null!; + public double[]? XF { get; set; } = null; + public string[]? LLMetadata { get; set; } = null; } diff --git a/API/Models/SoilOrganicMatter.cs b/API/Models/SoilOrganicMatter.cs index ac268b8..1a2540f 100644 --- a/API/Models/SoilOrganicMatter.cs +++ b/API/Models/SoilOrganicMatter.cs @@ -14,10 +14,10 @@ public class SoilOrganicMatter public double SoilCN { get; set; } public double EnrACoeff { get; set; } public double EnrBCoeff { get; set; } - public List Thickness { get; set; } = null!; - public List OC { get; set; } = null!; - public List? OCMetadata { get; set; } - public List FBiom { get; set; } = null!; - public List FInert { get; set; } = null!; + public double[] Thickness { get; set; } = null!; + public double[] OC { get; set; } = null!; + public string[]? OCMetadata { get; set; } + public double[]? FBiom { get; set; } = null; + public double[]? FInert { get; set; } = null; public string? OCUnits { get; set; } } diff --git a/API/Models/SoilWater.cs b/API/Models/SoilWater.cs index e9621e8..43b4885 100644 --- a/API/Models/SoilWater.cs +++ b/API/Models/SoilWater.cs @@ -26,6 +26,6 @@ public class SoilWater public double? DischargeWidth { get; set; } public double? CatchmentArea { get; set; } public double? MaxPond { get; set; } - public List Thickness { get; set; } = null!; - public List SWCON { get; set; } = null!; + public double[] Thickness { get; set; } = null!; + public double[] SWCON { get; set; } = null!; } diff --git a/API/Models/Water.cs b/API/Models/Water.cs index d6a56ec..e171ed4 100644 --- a/API/Models/Water.cs +++ b/API/Models/Water.cs @@ -9,18 +9,18 @@ public class Water public int Id { get; set; } [XmlIgnore] public int SoilId { get; set; } // foreign key property - public List Thickness { get; set; } = null!; - public List BD { get; set; } = null!; - public List AirDry { get; set; } = null!; - public List LL15 { get; set; } = null!; - public List DUL { get; set; } = null!; - public List SAT { get; set; } = null!; - public List? KS { get; set; } = null; - public List? BDMetadata { get; set; } = null; - public List? AirDryMetadata { get; set; } = null; - public List? LL15Metadata { get; set; } = null; - public List? DULMetadata { get; set; } = null; - public List? SATMetadata { get; set; } = null; + public double[] Thickness { get; set; } = null!; + public double[] BD { get; set; } = null!; + public double[] AirDry { get; set; } = null!; + public double[] LL15 { get; set; } = null!; + public double[] DUL { get; set; } = null!; + public double[] SAT { get; set; } = null!; + public double[]? KS { get; set; } = null; + public string[]? BDMetadata { get; set; } = null; + public string[]? AirDryMetadata { get; set; } = null; + public string[]? LL15Metadata { get; set; } = null; + public string[]? DULMetadata { get; set; } = null; + public string[]? SATMetadata { get; set; } = null; [XmlElement("SoilCrop")] public List? SoilCrops { get; set; } = null; } diff --git a/API/Services/Extensions.cs b/API/Services/Extensions.cs index b03e118..ff0611d 100644 --- a/API/Services/Extensions.cs +++ b/API/Services/Extensions.cs @@ -152,20 +152,20 @@ public static Models.SoilInfo ToInfo(this Models.Soil soil) Site = soil.Site, Region = soil.Region, NearestTown = soil.NearestTown, - Thickness = soil.Water?.Thickness.ToArray(), - Texture = soil.Analysis?.Texture.ToArray(), - DUL = soil.Water?.DUL.ToArray(), - LL15 = soil.Water?.LL15.ToArray(), - EC = soil.Analysis?.EC.ToArray(), - CL = soil.Analysis?.CL.ToArray(), - ESP = soil.Analysis?.ESP.ToArray(), - PH = soil.Analysis?.PH.ToArray(), - Crops = soil.Water?.SoilCrops.Select(c => new Models.SoilCropInfo + Thickness = soil.Water?.Thickness, + Texture = soil.Analysis?.Texture, + DUL = soil.Water?.DUL, + LL15 = soil.Water?.LL15, + EC = soil.Analysis?.EC, + CL = soil.Analysis?.CL, + ESP = soil.Analysis?.ESP, + PH = soil.Analysis?.PH, + Crops = soil.Water?.SoilCrops?.Select(c => new Models.SoilCropInfo { Name = c.Name, - LL = c.LL.ToArray(), - KL = c.KL.ToArray(), - XF = c.XF.ToArray() + LL = c.LL, + KL = c.KL, + XF = c.XF }).ToList() }; } diff --git a/API/Services/OldToNewSoilMap.cs b/API/Services/OldToNewSoilMap.cs index dd9d78f..d7945fc 100644 --- a/API/Services/OldToNewSoilMap.cs +++ b/API/Services/OldToNewSoilMap.cs @@ -36,16 +36,16 @@ public static APSIM.Soils.Soil ToAPSIMSoil(this Models.Soil soil) var apsimSoil = mapper.Map(soil); // Some manual mapping. Can't find a way for AutoMapper to do it. - apsimSoil.Physical.Rocks = soil.Analysis.Rocks; - apsimSoil.Physical.RocksMetadata = soil.Analysis.RocksMetadata; - apsimSoil.Physical.Texture = soil.Analysis.Texture; - apsimSoil.Physical.TextureMetadata = soil.Analysis.TextureMetadata; - apsimSoil.Physical.ParticleSizeClay = soil.Analysis.ParticleSizeClay; - apsimSoil.Physical.ParticleSizeClayMetadata = soil.Analysis.ParticleSizeClayMetadata; - apsimSoil.Physical.ParticleSizeSand = soil.Analysis.ParticleSizeSand; - apsimSoil.Physical.ParticleSizeSandMetadata = soil.Analysis.ParticleSizeSandMetadata; - apsimSoil.Physical.ParticleSizeSilt = soil.Analysis.ParticleSizeSilt; - apsimSoil.Physical.ParticleSizeSiltMetadata = soil.Analysis.ParticleSizeSiltMetadata; + apsimSoil.Physical.Rocks = soil.Analysis.Rocks.ToList(); + apsimSoil.Physical.RocksMetadata = soil.Analysis.RocksMetadata.ToList(); + apsimSoil.Physical.Texture = soil.Analysis.Texture.ToList(); + apsimSoil.Physical.TextureMetadata = soil.Analysis.TextureMetadata.ToList(); + apsimSoil.Physical.ParticleSizeClay = soil.Analysis.ParticleSizeClay.ToList(); + apsimSoil.Physical.ParticleSizeClayMetadata = soil.Analysis.ParticleSizeClayMetadata.ToList(); + apsimSoil.Physical.ParticleSizeSand = soil.Analysis.ParticleSizeSand.ToList(); + apsimSoil.Physical.ParticleSizeSandMetadata = soil.Analysis.ParticleSizeSandMetadata.ToList(); + apsimSoil.Physical.ParticleSizeSilt = soil.Analysis.ParticleSizeSilt.ToList(); + apsimSoil.Physical.ParticleSizeSiltMetadata = soil.Analysis.ParticleSizeSiltMetadata.ToList(); return apsimSoil; }