forked from ddrilling/AsbCloudServer
fix Get* methods. add orderBy, specify dateTimeKind and return value:)
This commit is contained in:
parent
b60b84b45c
commit
90bdb264cb
@ -88,6 +88,9 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
if (dateBegin == default)
|
if (dateBegin == default)
|
||||||
dateBegin = DateTime.Now.AddSeconds(-intervalSec);
|
dateBegin = DateTime.Now.AddSeconds(-intervalSec);
|
||||||
|
|
||||||
|
if (dateBegin.Kind == DateTimeKind.Unspecified)
|
||||||
|
dateBegin = DateTime.SpecifyKind(dateBegin, DateTimeKind.Utc);
|
||||||
|
|
||||||
var datEnd = dateBegin.AddSeconds(intervalSec);
|
var datEnd = dateBegin.AddSeconds(intervalSec);
|
||||||
var dbSet = db.Set<TModel>();
|
var dbSet = db.Set<TModel>();
|
||||||
|
|
||||||
@ -109,8 +112,11 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
query = query.Where(d => d.Id % m == 0);
|
query = query.Where(d => d.Id % m == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
var entities = await query.AsNoTracking()
|
var entities = await query
|
||||||
.ToListAsync(token).ConfigureAwait(false);
|
.OrderBy(d=>d.Date)
|
||||||
|
.AsNoTracking()
|
||||||
|
.ToListAsync(token)
|
||||||
|
.ConfigureAwait(false);
|
||||||
|
|
||||||
var dtos = entities.Select(e => Convert(e));
|
var dtos = entities.Select(e => Convert(e));
|
||||||
|
|
||||||
|
@ -79,15 +79,24 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
public virtual async Task<IActionResult> GetDataAsync(int idWell, DateTime begin = default,
|
public virtual async Task<IActionResult> GetDataAsync(int idWell, DateTime begin = default,
|
||||||
int intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default)
|
int intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default)
|
||||||
{
|
{
|
||||||
|
int? idCompany = User.GetCompanyId();
|
||||||
|
|
||||||
|
if (idCompany is null)
|
||||||
|
return Forbid();
|
||||||
|
|
||||||
|
bool isCompanyOwnsWell = await wellService.IsCompanyInvolvedInWellAsync((int)idCompany,
|
||||||
|
idWell, token).ConfigureAwait(false);
|
||||||
|
|
||||||
|
if (!isCompanyOwnsWell)
|
||||||
|
return Forbid();
|
||||||
|
|
||||||
if (begin == default)
|
if (begin == default)
|
||||||
begin = DateTime.Now.AddSeconds(-intervalSec);
|
begin = DateTime.Now.AddSeconds(-intervalSec);
|
||||||
|
|
||||||
var content = await telemetryDataService.GetAsync(idWell, begin,
|
var content = await telemetryDataService.GetAsync(idWell, begin,
|
||||||
intervalSec, approxPointsCount, token).ConfigureAwait(false);
|
intervalSec, approxPointsCount, token).ConfigureAwait(false);
|
||||||
|
|
||||||
if (content is null || !content.Any())
|
return Ok(content);
|
||||||
return NoContent();
|
|
||||||
|
|
||||||
return Ok(null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -113,10 +122,10 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
if (!isCompanyOwnsWell)
|
if (!isCompanyOwnsWell)
|
||||||
return Forbid();
|
return Forbid();
|
||||||
|
|
||||||
DatesRangeDto dataDatesRange = await telemetryDataService.GetDataDatesRangeAsync(idWell,
|
var dataDatesRange = await telemetryDataService.GetDataDatesRangeAsync(idWell,
|
||||||
token).ConfigureAwait(false);
|
token).ConfigureAwait(false);
|
||||||
|
|
||||||
return Ok(null);
|
return Ok(dataDatesRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user