This commit is contained in:
ngfrolov 2022-08-05 17:52:42 +05:00
parent fb12919d85
commit 4a8e15d8a1
8 changed files with 346 additions and 0 deletions

View File

@ -6,8 +6,18 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// ÐÒÊ
/// </summary>
public interface IDrillFlowChartService : ICrudWellRelatedService<DrillFlowChartDto>
{
/// <summary>
/// Ïîëó÷èòü ïàðàìåòðû áóðåíèÿ íà÷èíàÿ ñ äàòû.
/// </summary>
/// <param name="idWell"></param>
/// <param name="updateFrom"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<DrillFlowChartDto>> GetAllAsync(int idWell,
DateTime updateFrom, CancellationToken token = default);
}

View File

@ -2,6 +2,9 @@
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис добавления бурильщиков
/// </summary>
public interface IDrillerService : ICrudService<DrillerDto>
{

View File

@ -5,19 +5,109 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// Программа бурения
/// </summary>
public interface IDrillingProgramService
{
/// <summary>
/// Получить пользователей доступных для назначения в публикаторы или акцепторы
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<UserDto>> GetAvailableUsers(int idWell, CancellationToken token = default);
/// <summary>
/// Части программы бурения
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<FileCategoryDto>> GetCategoriesAsync(CancellationToken token = default);
/// <summary>
/// Состояние программы бурения
/// </summary>
/// <param name="idWell"></param>
/// <param name="idUser"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<DrillingProgramStateDto> GetStateAsync(int idWell, int idUser,
CancellationToken token = default);
/// <summary>
/// Загрузить файл
/// </summary>
/// <param name="idWell"></param>
/// <param name="idFileCategory"></param>
/// <param name="idUser"></param>
/// <param name="fileFullName"></param>
/// <param name="fileStream"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> AddFile(int idWell, int idFileCategory, int idUser, string fileFullName, System.IO.Stream fileStream, CancellationToken token = default);
/// <summary>
/// Добавить часть программы бурения
/// </summary>
/// <param name="idWell"></param>
/// <param name="idFileCategories"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> AddPartsAsync(int idWell, IEnumerable<int> idFileCategories, CancellationToken token = default);
/// <summary>
/// Удалить часть программы бурения
/// </summary>
/// <param name="idWell"></param>
/// <param name="idFileCategories"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> RemovePartsAsync(int idWell, IEnumerable<int> idFileCategories, CancellationToken token = default);
/// <summary>
/// Назначить пользователю роль
/// </summary>
/// <param name="idWell"></param>
/// <param name="idFileCategory"></param>
/// <param name="idUser"></param>
/// <param name="idUserRole"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> AddUserAsync(int idWell, int idFileCategory, int idUser, int idUserRole, CancellationToken token = default);
/// <summary>
/// Удалить пользователя
/// </summary>
/// <param name="idWell"></param>
/// <param name="idFileCategory"></param>
/// <param name="idUser"></param>
/// <param name="idUserRole"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> RemoveUserAsync(int idWell, int idFileCategory, int idUser, int idUserRole, CancellationToken token = default);
/// <summary>
/// Добавить или изменить отметку для файла (согласование/отклонение)
/// </summary>
/// <param name="fileMarkDto"></param>
/// <param name="idUser"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> AddOrReplaceFileMarkAsync(FileMarkDto fileMarkDto, int idUser, CancellationToken token);
/// <summary>
/// Удалить отметку с файла
/// </summary>
/// <param name="idFileMark"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MarkAsDeletedFileMarkAsync(int idFileMark, CancellationToken token);
/// <summary>
/// Сбросить ошибку формирования
/// </summary>
/// <param name="idWell"></param>
void ClearError(int idWell);
}
}

View File

@ -2,9 +2,25 @@
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис отправки сообщений
/// </summary>
public interface IEmailService
{
/// <summary>
/// добавить сообщение на отправку нескольким пользователям
/// </summary>
/// <param name="addresses"></param>
/// <param name="subject"></param>
/// <param name="htmlBody"></param>
void EnqueueSend(IEnumerable<string> addresses, string subject, string htmlBody);
/// <summary>
/// добавить сообщение на отправку одному пользователю
/// </summary>
/// <param name="address"></param>
/// <param name="subject"></param>
/// <param name="htmlBody"></param>
void EnqueueSend(string address, string subject, string htmlBody);
}
}

View File

@ -5,8 +5,18 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис сохранения списка сообщений от панелей
/// </summary>
public interface IEventService
{
/// <summary>
/// Сохранить. Добавить или заменить.
/// </summary>
/// <param name="uid"></param>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task UpsertAsync(string uid, IEnumerable<EventDto> dtos,
CancellationToken token = default);
}

View File

@ -7,35 +7,178 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
//TODO: refactor IFileService
/// <summary>
/// Сервис доступа к файлам
/// </summary>
public interface IFileService
{
/// <summary>
/// Директория хранения файлов
/// </summary>
string RootPath { get; }
/// <summary>
/// получить url Google drive
/// </summary>
/// <param name="idFileInfo"></param>
/// <param name="idUser"></param>
/// <param name="fileShareService"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<string> GetSharedUrlAsync(int idFileInfo, int idUser, IFileShareService fileShareService, CancellationToken token);
/// <summary>
/// получить url Google drive
/// </summary>
/// <param name="dto"></param>
/// <param name="idUser"></param>
/// <param name="fileShareService"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<string> GetSharedUrlAsync(FileInfoDto dto, int idUser, IFileShareService fileShareService,
CancellationToken token = default);
/// <summary>
/// Сохранить файл
/// </summary>
/// <param name="idWell"></param>
/// <param name="idUser"></param>
/// <param name="idCategory"></param>
/// <param name="fileFullName"></param>
/// <param name="fileStream"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<FileInfoDto> SaveAsync(int idWell, int? idUser, int idCategory, string fileFullName, Stream fileStream, CancellationToken token = default);
/// <summary>
/// Получить список файлов в контейнере
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="companyName"></param>
/// <param name="fileName"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
/// <param name="skip"></param>
/// <param name="take"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<PaginationContainer<FileInfoDto>> GetInfosAsync(int idWell,
int idCategory, string companyName = default, string fileName = default, DateTime begin = default, DateTime end = default,
int skip = 0, int take = 32, CancellationToken token = default);
/// <summary>
/// Инфо о файле
/// </summary>
/// <param name="idFile"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<FileInfoDto> GetInfoAsync(int idFile,
CancellationToken token);
/// <summary>
/// Пометить файл как удаленный
/// </summary>
/// <param name="idFile"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MarkAsDeletedAsync(int idFile,
CancellationToken token = default);
/// <summary>
/// Получить файлы определенной категории
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<FileInfoDto>> GetInfosByCategoryAsync(int idWell, int idCategory, CancellationToken token = default);
/// <summary>
/// удалить файл
/// </summary>
/// <param name="id"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteAsync(int id, CancellationToken token);
/// <summary>
/// удалить файлы
/// </summary>
/// <param name="ids"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteAsync(IEnumerable<int> ids, CancellationToken token);
/// <summary>
/// получить путь для скачивания
/// </summary>
/// <param name="fileInfo"></param>
/// <returns></returns>
string GetUrl(FileInfoDto fileInfo);
/// <summary>
/// получить путь для скачивания
/// </summary>
/// <param name="idFile"></param>
/// <returns></returns>
string GetUrl(int idFile);
/// <summary>
/// получить путь для скачивания
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="idFile"></param>
/// <param name="dotExtention"></param>
/// <returns></returns>
string GetUrl(int idWell, int idCategory, int idFile, string dotExtention);
/// <summary>
/// добавить метку на файл
/// </summary>
/// <param name="fileMarkDto"></param>
/// <param name="idUser"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> CreateFileMarkAsync(FileMarkDto fileMarkDto, int idUser, CancellationToken token);
/// <summary>
/// пометить метку файла как удаленную
/// </summary>
/// <param name="idMark"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MarkFileMarkAsDeletedAsync(int idMark, CancellationToken token);
/// <summary>
/// переместить файл
/// </summary>
/// <param name="idWell"></param>
/// <param name="idUser"></param>
/// <param name="idCategory"></param>
/// <param name="destinationFileName"></param>
/// <param name="srcFileFullName"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<FileInfoDto> MoveAsync(int idWell, int? idUser, int idCategory, string destinationFileName, string srcFileFullName, CancellationToken token = default);
/// <summary>
/// получить инфо о файле по метке
/// </summary>
/// <param name="idMark"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<FileInfoDto> GetByMarkId(int idMark, CancellationToken token);
/// <summary>
/// пометить метки файлов как удаленные
/// </summary>
/// <param name="idsMarks"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MarkFileMarkAsDeletedAsync(IEnumerable<int> idsMarks, CancellationToken token);
}
}

View File

@ -3,11 +3,29 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
//TODO: Óäàëèòü ýòîò ôóíêöèîíàë
/// <summary>
/// Ñåðâèñ âûêëàäûâàíèÿ ôàéëà íà Google disk
/// </summary>
public interface IFileShareService
{
/// <summary>
/// Îïóáëèêîâàòü
/// </summary>
/// <param name="filePath"></param>
/// <param name="originalName"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<string> PublishFileToCloudAsync(string filePath, string originalName,
CancellationToken token);
/// <summary>
/// Óäàëèòü ïóáëèêàöèþ
/// </summary>
/// <param name="sharedFileId"></param>
/// <param name="token"></param>
/// <returns></returns>
Task DeleteFileAsync(string sharedFileId,
CancellationToken token = default);
}

View File

@ -5,14 +5,70 @@ using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис хранения результатов лабораторных анализов и измерений
/// </summary>
public interface IMeasureService
{
/// <summary>
/// Категории измерений
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
Task<Dictionary<int, string>> GetCategoriesAsync(CancellationToken token);
/// <summary>
/// Последние измерения по категории
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<MeasureDto> GetLastAsync(int idWell, int idCategory, CancellationToken token);
/// <summary>
/// История измерений по категории
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<MeasureDto>> GetHisoryAsync(int idWell, int? idCategory, CancellationToken token);
/// <summary>
/// Добавить измерение
/// </summary>
/// <param name="idWell"></param>
/// <param name="data"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> InsertAsync(int idWell, MeasureDto data, CancellationToken token);
/// <summary>
/// Редактировать
/// </summary>
/// <param name="idWell"></param>
/// <param name="data"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> UpdateAsync(int idWell, MeasureDto data, CancellationToken token);
/// <summary>
/// Пометить удаленным
/// </summary>
/// <param name="idWell"></param>
/// <param name="idData"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> MarkAsDeleteAsync(int idWell, int idData, CancellationToken token);
/// <summary>
/// Удалить
/// </summary>
/// <param name="idWell"></param>
/// <param name="idData"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteAsync(int idWell, int idData, CancellationToken token);
}
}