From 04052af87434dbabe2f22e7a36bbcbeaa5668a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=80=D0=BE=D0=BB=D0=BE=D0=B2?= Date: Wed, 1 Dec 2021 11:08:25 +0500 Subject: [PATCH] =?UTF-8?q?CS2-115=20TelemetryDataBaseService.Get()=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=80=D0=B5=D0=B6=D0=B8=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=B5=D1=82=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=BD=D0=B5=20=D0=BA=D0=BE=D1=80=D1=80?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TelemetryDataBaseService.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/AsbCloudInfrastructure/Services/TelemetryDataBaseService.cs b/AsbCloudInfrastructure/Services/TelemetryDataBaseService.cs index e3272ef5..42e86342 100644 --- a/AsbCloudInfrastructure/Services/TelemetryDataBaseService.cs +++ b/AsbCloudInfrastructure/Services/TelemetryDataBaseService.cs @@ -125,6 +125,25 @@ namespace AsbCloudInfrastructure.Services if (fullDataCount > 1.75 * approxPointsCount) { var m = (int)Math.Round(1d * fullDataCount / approxPointsCount); + + switch (m) + { + //case var i when i <= 1: // тут для полноты, но никогда не сработает из-за условия выше + // break; + case var i when i < 10: + query = query.Where((d) => d.Date.Second % m == 0); + break; + case var i when i < 30: + query = query.Where((d) => (d.Date.Minute * 60 + d.Date.Second) % m == 0); + break; + case var i when i < 600: + query = query.Where((d) => ((d.Date.Hour * 60 + d.Date.Minute) * 60 + d.Date.Second) % m == 0); + break; + default: + query = query.Where((d) => (((d.Date.DayOfYear * 24 + d.Date.Hour) * 60 + d.Date.Minute) * 60 + d.Date.Second) % m == 0); + break; + } + if (m > 1) query = query.Where((d) => (((d.Date.DayOfYear*24 + d.Date.Hour)*60 + d.Date.Minute)*60 + d.Date.Second) % m == 0); }