DD.WellWorkover.Cloud/AsbCloudApp/Services/IWellService.cs

109 lines
3.8 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.Requests;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// сервис скважин
/// </summary>
public interface IWellService : ICrudRepository<WellDto>
{
/// <summary>
/// сервис телеметрии
/// </summary>
ITelemetryService TelemetryService { get; }
/// <summary>
/// Список скважин доступных компании
/// </summary>
/// <param name="request"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<WellDto>> GetAsync(WellRequest request, CancellationToken token);
/// <summary>
/// Статистика по скважине
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<WellMapInfoWithTelemetryStat?> GetOrDefaultStatAsync(int idWell, CancellationToken token);
/// <summary>
/// проверяет доступ к скважине для компании
/// </summary>
/// <param name="idCompany"></param>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<bool> IsCompanyInvolvedInWellAsync(int idCompany, int idWell, CancellationToken token);
//TODO: remove that
/// <summary>
/// получить название скважины по id
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<string> GetWellCaptionByIdAsync(int idWell, CancellationToken token);
/// <summary>
/// список компаний участвующих в скважине
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<CompanyDto>> GetCompaniesAsync(int idWell, CancellationToken token);
//TODO: remove that
/// <summary>
///
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
string GetStateText(int state);
/// <summary>
/// дата получения последних данных от панели
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
DateTime GetLastTelemetryDate(int idWell);
//TODO: выяснить и удалить отсюда
/// <summary>
/// получение списка скважин куста в котором находится указанная скважина
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<int>> GetClusterWellsIdsAsync(int idWell, CancellationToken token);
/// <summary>
/// часовой пояс скважины
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
SimpleTimezoneDto GetTimezone(int idWell);
/// <summary>
/// диапазон дат с данными телеметрии
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
DatesRangeDto GetDatesRange(int idWell);
/// <summary>
/// ВРЕМЕННЫЙ метод
/// </summary>
/// <param name="idCompany"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<DepositBranchDto>> GetWellTreeAsync(int idCompany, CancellationToken token);
}
}