forked from ddrilling/AsbCloudServer
убран Extension-метод для DateOnly, функциональность добавлена в локальный метод ExtractDate
This commit is contained in:
parent
f8c26f1835
commit
c835896ce7
@ -1,15 +0,0 @@
|
|||||||
namespace System
|
|
||||||
{
|
|
||||||
public static class Extentions
|
|
||||||
{
|
|
||||||
public static DateOnly ExtractDateOnly(this DateTime date)
|
|
||||||
{
|
|
||||||
return new DateOnly(date.Year, date.Month, date.Day);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static DateOnly ExtractDateOnly(this DateTimeOffset date)
|
|
||||||
{
|
|
||||||
return new DateOnly(date.Date.Year, date.Date.Month, date.Date.Day);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -35,24 +35,22 @@ namespace AsbCloudInfrastructure.Services.DailyReport
|
|||||||
|
|
||||||
var query = db.DailyReports.Where(r => r.IdWell == idWell);
|
var query = db.DailyReports.Where(r => r.IdWell == idWell);
|
||||||
|
|
||||||
DateTimeOffset ExtractDate(DateTime dateTime)
|
DateOnly ExtractDate(DateTime dateTime)
|
||||||
{
|
{
|
||||||
var dateTimeOffset = dateTime.ToUtcDateTimeOffset(well!.Timezone.Hours);
|
var dateTimeOffset = dateTime.ToUtcDateTimeOffset(well!.Timezone.Hours);
|
||||||
var date = new DateTimeOffset(dateTimeOffset.Year, dateTimeOffset.Month, dateTimeOffset.Day, 0, 0, 0, TimeSpan.Zero);
|
var date = new DateOnly(dateTimeOffset.Year, dateTimeOffset.Month, dateTimeOffset.Day);
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (begin is not null)
|
if (begin is not null)
|
||||||
{
|
{
|
||||||
var beginUTC = ExtractDate(begin.Value);
|
var beginDateOnly = ExtractDate(begin.Value);
|
||||||
var beginDateOnly = beginUTC.ExtractDateOnly();
|
|
||||||
query = query.Where(d => d.StartDate >= beginDateOnly);
|
query = query.Where(d => d.StartDate >= beginDateOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (end is not null)
|
if (end is not null)
|
||||||
{
|
{
|
||||||
var endUTC = ExtractDate(end.Value);
|
var endDateOnly = ExtractDate(end.Value);
|
||||||
var endDateOnly = endUTC.ExtractDateOnly();
|
|
||||||
query = query.Where(d => d.StartDate <= endDateOnly);
|
query = query.Where(d => d.StartDate <= endDateOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +74,7 @@ namespace AsbCloudInfrastructure.Services.DailyReport
|
|||||||
if (well is null || well.Timezone is null)
|
if (well is null || well.Timezone is null)
|
||||||
throw new ArgumentInvalidException("idWell doesn`t exist", nameof(idWell));
|
throw new ArgumentInvalidException("idWell doesn`t exist", nameof(idWell));
|
||||||
|
|
||||||
var startDateOnly = startDate.ExtractDateOnly();
|
var startDateOnly = DateOnly.FromDateTime(startDate);
|
||||||
|
|
||||||
var entity = await db.DailyReports
|
var entity = await db.DailyReports
|
||||||
.FirstOrDefaultAsync(r => r.IdWell == idWell && r.StartDate == startDateOnly, token);
|
.FirstOrDefaultAsync(r => r.IdWell == idWell && r.StartDate == startDateOnly, token);
|
||||||
@ -127,7 +125,7 @@ namespace AsbCloudInfrastructure.Services.DailyReport
|
|||||||
|
|
||||||
public async Task<int> UpdateBlockAsync<Tdto>(int idWell, DateTime date, Tdto dto, CancellationToken token)
|
public async Task<int> UpdateBlockAsync<Tdto>(int idWell, DateTime date, Tdto dto, CancellationToken token)
|
||||||
{
|
{
|
||||||
var startDateOnly = date.ExtractDateOnly();
|
var startDateOnly = DateOnly.FromDateTime(date);
|
||||||
var entity = await db.DailyReports.FirstOrDefaultAsync(r => r.IdWell == idWell && r.StartDate == startDateOnly, token);
|
var entity = await db.DailyReports.FirstOrDefaultAsync(r => r.IdWell == idWell && r.StartDate == startDateOnly, token);
|
||||||
|
|
||||||
if (entity is null)
|
if (entity is null)
|
||||||
|
Loading…
Reference in New Issue
Block a user