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

53 lines
2.1 KiB
C#
Raw Normal View History

using AsbCloudApp.Data;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
2024-08-19 10:01:07 +05:00
namespace AsbCloudApp.Services;
/// <summary>
/// Сервис "Дело скважины"
/// </summary>
public interface IWellFinalDocumentsService
{
/// <summary>
2024-08-19 10:01:07 +05:00
/// Обновление записей дела скважины
/// </summary>
2024-08-19 10:01:07 +05:00
/// <param name="idWell"></param>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> UpdateRangeAsync(int idWell, IEnumerable<WellFinalDocumentInputDto> dtos, CancellationToken token);
2024-08-19 10:01:07 +05:00
/// <summary>
/// Получение истории файлов
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<WellFinalDocumentsHistoryDto> GetFilesHistoryByIdCategoryAsync(int idWell, int idCategory, CancellationToken token);
2024-08-19 10:01:07 +05:00
/// <summary>
/// Сохранение файла
/// </summary>
/// <param name="idWell"></param>
/// <param name="idCategory"></param>
/// <param name="idUser">пользователь, который сохраняет файл</param>
/// <param name="fileStream"></param>
/// <param name="fileName"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> SaveCategoryFileAsync(int idWell, int idCategory, int idUser, Stream fileStream, string fileName, CancellationToken token);
2022-11-23 14:03:08 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Повторно оповестить ответственных за загрузку
/// </summary>
/// <param name="idWell"></param>
/// <param name="idUser">запрашивающий пользователь, для проверки его прав и текста сообщения</param>
/// <param name="idCategory"></param>
/// <param name="token"></param>
/// <returns>count of notified publishers</returns>
Task<int> ReNotifyPublishersAsync(int idWell, int idUser, int idCategory, CancellationToken token);
}