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

54 lines
2.3 KiB
C#
Raw Normal View History

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