убран Extension-метод для DateOnly, функциональность добавлена в локальный метод ExtractDate

This commit is contained in:
Olga Nemt 2023-03-10 10:59:04 +05:00
parent f8c26f1835
commit c835896ce7
2 changed files with 6 additions and 23 deletions

View File

@ -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);
}
}
}

View File

@ -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)