feat(api): WorkloadBaseQuery добавлен параметр TimeZoneOffsetHours, смещение таймзоны для построения отчетов в часовом поясе клиента
This commit is contained in:
@@ -6,16 +6,16 @@ namespace PARR.API.Services.Implementations
|
||||
{
|
||||
internal class WorkLoadService : IWorkLoadService
|
||||
{
|
||||
private DateTime GetStartDate()
|
||||
private DateTime GetStartDate(int timeZoneOffsetHours)
|
||||
{
|
||||
//начинаем не с сегодняшнего дня, а с завтра, так как на сегодня уже некоторые работы были проведены и их дата изменилась
|
||||
return DateTimeOffset.UtcNow.Date.AddDays(1);
|
||||
return DateTimeOffset.UtcNow.AddHours(timeZoneOffsetHours).Date.AddDays(1);
|
||||
}
|
||||
|
||||
|
||||
private DateTime GetEndDate(bool? isMonth)
|
||||
private DateTime GetEndDate(bool? isMonth, int timeZoneOffsetHours)
|
||||
{
|
||||
var startDate = GetStartDate();
|
||||
var startDate = GetStartDate(timeZoneOffsetHours);
|
||||
|
||||
return isMonth == true ? startDate.AddDays(30) : startDate.AddDays(6);
|
||||
}
|
||||
@@ -23,8 +23,8 @@ namespace PARR.API.Services.Implementations
|
||||
|
||||
public List<DateTimeOffset> GetDatesForPeriod(WorkloadBaseQuery requestQuery)
|
||||
{
|
||||
var startDate = GetStartDate();
|
||||
var endDate = GetEndDate(requestQuery.IsMonth);
|
||||
var startDate = GetStartDate(requestQuery.TimeZoneOffsetHours);
|
||||
var endDate = GetEndDate(requestQuery.IsMonth, requestQuery.TimeZoneOffsetHours);
|
||||
|
||||
var daysList = new List<DateTimeOffset>();
|
||||
|
||||
@@ -39,8 +39,8 @@ namespace PARR.API.Services.Implementations
|
||||
|
||||
public IQueryable<Template> FilterTemplatesQuery(IQueryable<Template> query, WorkloadBaseQuery requestQuery)
|
||||
{
|
||||
var startDate = GetStartDate();
|
||||
var endDate = GetEndDate(requestQuery.IsMonth);
|
||||
var startDate = GetStartDate(requestQuery.TimeZoneOffsetHours);
|
||||
var endDate = GetEndDate(requestQuery.IsMonth, requestQuery.TimeZoneOffsetHours);
|
||||
|
||||
query = query.Where(t =>
|
||||
t.NextRun.DateTime.Date >= startDate.Date && t.NextRun.DateTime.Date <= endDate.Date
|
||||
|
||||
Reference in New Issue
Block a user