feat(api, bll): StatHostController, StatApplicationController добавлена статистика за период. ICalendarService - публичный метод для получения списка дат, метод получения даты с учетом часового пояса.

This commit is contained in:
Mikhail Trubnikov
2024-08-30 16:40:06 +10:00
parent 933bfcbeb1
commit 0c37de6238
15 changed files with 205 additions and 70 deletions

View File

@@ -214,11 +214,13 @@
{
public const string Get = BaseStat + "/hosts/";
public const string GetWithTemplates = BaseStat + "/hosts/templates";
public const string GetForPeriod = BaseStat + "/hosts/period";
}
public static class StatApplication
{
public const string Get = BaseStat + "/applications/";
public const string GetForPeriod = BaseStat + "/applications/period";
}
public static class StatOrder

View File

@@ -0,0 +1,10 @@
namespace PARR.API.Contracts.V1.Requests.BaseRequests
{
/// <summary>
/// Смещение таймзоны относительно клиента
/// </summary>
public class TimeZoneOffsetClient
{
public int TimeZoneOffsetHours { get; set; } = 0;
}
}

View File

@@ -1,9 +1,11 @@
namespace PARR.API.Contracts.V1.Requests.Queries
using PARR.API.Contracts.V1.Requests.BaseRequests;
namespace PARR.API.Contracts.V1.Requests.Queries
{
/// <summary>
/// Базовый запрос по загрузке по ЗО, РГ...
/// </summary>
public class WorkloadBaseQuery
public class WorkloadBaseQuery: TimeZoneOffsetClient
{
public bool? IsActiveTemplate { get; set; }
@@ -11,6 +13,6 @@
public bool? IsMonth { get; set; }
public int TimeZoneOffsetHours { get; set; } = 0;
//public int TimeZoneOffsetHours { get; set; } = 0;
}
}

View File

@@ -0,0 +1,9 @@
namespace PARR.API.Contracts.V1.Responses.Statistics
{
public class StatApplicationPeriodResponse
{
public DateOnly Date { get; set; }
public int CreatedApplicationsCount { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace PARR.API.Contracts.V1.Responses.Statistics
{
public class StatHostPeriodResponse
{
public DateOnly Date { get; set; }
public int CreatedHostsCount { get; set; }
}
}

View File

@@ -11,7 +11,8 @@
public class StatWorkLoadDataResponse
{
public DateTimeOffset Date { get; set; }
//public DateTimeOffset Date { get; set; }
public DateOnly Date { get; set; }
public int TemplateCount { get; set; }
}
}