Working query filter for co2s

This commit is contained in:
2020-07-03 09:42:44 -04:00
parent a9a024d35e
commit d107cc8e8b
2 changed files with 38 additions and 18 deletions
+10 -7
View File
@@ -72,18 +72,21 @@ namespace LeafWeb.WebCms.Utility
lid.Site.Longitude <= longitude + range)
select li;
}
// co2s
if (!string.IsNullOrEmpty(query.co2s))
{
var co2s = double.Parse(query.co2s);
var p = double.Parse(query.co2s);
resultItems =
from li in resultItems
where co2s >=
li.LeafInputData.Max(lid =>
lid.Data.Max(d => d.CO2S) -
lid.Data.Min(d => d.CO2S)
)
where
// maximum range inside LeafInputFiles
li.LeafInputData.Max(lid =>
// range of LeafInputData
lid.Data.Max(d => d.CO2S)
- lid.Data.Min(d => d.CO2S))
>= p
select li;
}
@@ -11,17 +11,34 @@
@RendDistinctValues("Latitude [&deg;]", Model.Select(m => m.Site.Latitude?.ToString()))
@RendDistinctValues("Longitude [&deg;]", Model.Select(m => m.Site.Longitude?.ToString()))
@RendDistinctValues("Elevation [m]", Model.Select(m => m.Site.Elevation?.ToString()))
@RendDistinctValues("CO2S",
Model.Select(m =>
m.SiteName + ": "
+ string.Join(", ",
@RendDistinctValues("CO2S",
Model.Select(m =>
m.SiteName + " (" + m.Id + "): " +
string.Join(", ",
m.Data?.Select(d => d.CO2S?.ToString())
)
)
), "<br />"
)
@RendDistinctValues("CO2S Min", Model.Select(m => m.Data?.Min(d => d.CO2S).ToString()))
@RendDistinctValues("CO2S Average", Model.Select(m => m.Data?.Average(d => d.CO2S).ToString()))
@RendDistinctValues("CO2S Max", Model.Select(m => m.Data?.Max(d => d.CO2S).ToString()))
@RendDistinctValues("CO2S Min", Model.Select(m =>
m.SiteName + " (" + m.Id + "): " +
m.Data?.Min(d => d.CO2S).ToString()), "<br />")
@RendDistinctValues("CO2S Average", Model.Select(m =>
m.SiteName + " (" + m.Id + "): " +
m.Data?.Average(d => d.CO2S).ToString()), "<br />")
@RendDistinctValues("CO2S Max", Model.Select(m =>
m.SiteName + " (" + m.Id + "): " +
m.Data?.Max(d => d.CO2S).ToString()), "<br />")
@RendDistinctValues("CO2S Range", Model.Select(m =>
m.SiteName + " (" + m.Id + "): " +
(m.Data?.Max(d => d.CO2S)
- m.Data?.Min(d => d.CO2S))), "<br />")
@RendValue("CO2S Max Range", Model.Max(m =>
m.Data?.Max(d => d.CO2S)
- m.Data?.Min(d => d.CO2S))?.ToString())
@RendValue("CO2S Min Range", Model.Min(m =>
m.Data?.Max(d => d.CO2S)
- m.Data?.Min(d => d.CO2S))?.ToString())
@helper RendValue(string label, string value)
@@ -31,13 +48,13 @@
@Html.Raw(label)
</div>
<div class="col-sm-9 border-bottom pl-5 pl-sm-2">
@value
@Html.Raw(@value)
</div>
</div>
}
@helper RendDistinctValues(string label, IEnumerable<string> values)
@helper RendDistinctValues(string label, IEnumerable<string> values, string seperator = ", ")
{
var value = string.Join(", ", values.Distinct());
var value = string.Join(seperator, values.Distinct());
@RendValue(label, value)
}