DD.WellWorkover.Cloud/AsbCloudApp/Services/ITelemetryService.cs
ngfrolov e185d8b82a #7576630 refactor telemetryService.
Добавить nullable.
Заменить зависимость от CacheTable/CacheDb.
Удалить не используемые методы.
2022-10-31 15:29:47 +05:00

87 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AsbCloudApp.Data;
using AsbCloudApp.Data.SAUB;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
#nullable enable
/// <summary>
/// Сервис телеметрии
/// </summary>
public interface ITelemetryService
{
/// <summary>
/// сервис временных зон
/// </summary>
ITimezoneService TimeZoneService { get; }
/// <summary>
/// трекер запросов
/// </summary>
ITelemetryTracker TelemetryTracker { get; }
/// <summary>
/// получить idWell по uid телеметрии
/// </summary>
/// <param name="uid"></param>
/// <returns></returns>
int? GetIdWellByTelemetryUid(string uid);
/// <summary>
/// Получить id телеметрии. Если её нет в БД, то добавить новую.
/// </summary>
/// <param name="uid"></param>
/// <returns></returns>
int GetOrCreateTelemetryIdByUid(string uid);
/// <summary>
/// получить временную зону скважины по idTelemetry
/// </summary>
/// <param name="idTelemetry"></param>
/// <returns></returns>
SimpleTimezoneDto GetTimezone(int idTelemetry);
/// <summary>
/// Получить дату получения последних данных
/// </summary>
/// <param name="idTelemetry"></param>
/// <returns></returns>
DateTime GetLastTelemetryDate(int idTelemetry);
/// <summary>
/// получить idTelemetry по IdWell
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
int? GetIdTelemetryByIdWell(int idWell);
/// <summary>
/// получить диапазон дат за которые есть данные
/// </summary>
/// <param name="idTelemetry"></param>
/// <returns></returns>
DatesRangeDto GetDatesRange(int idTelemetry);
/// <summary>
/// обновить данные о телеметрии (используется панелью)
/// </summary>
/// <param name="uid"></param>
/// <param name="info"></param>
/// <param name="token"></param>
/// <returns></returns>
Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token);
/// <summary>
/// Слить данные телеметрии в одну
/// </summary>
/// <param name="from">старая (исходная)</param>
/// <param name="to">новая</param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MergeAsync(int from, int to, CancellationToken token);
}
#nullable disable
}