using AsbCloudApp.Data;
using AsbCloudApp.Data.User;
using AsbCloudApp.Requests;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
///
/// Сервис по работе с контактной информацией по скважине
///
public interface IWellContactService
{
///
/// Получение контактов по параметрам запроса
///
/// ключ скважины
///
///
Task> GetAllAsync(WellContactRequest request, CancellationToken token);
///
/// Получение контакта по ключу
///
/// ключ скважины
/// ключ пользователя
///
///
Task GetAsync(int idWell, int id, CancellationToken token);
///
/// Получение типов контактов
///
///
///
Task> GetTypesAsync(CancellationToken token);
///
/// Добавление контакта
///
///
///
///
Task InsertAsync(ContactDto contactDto, CancellationToken token);
///
/// Изменение контакта
///
///
///
///
Task UpdateAsync(ContactDto contactDto, CancellationToken token);
///
/// Удаление контакта
///
/// ключ скважины
/// ключ скважины
///
///
Task DeleteAsync(int idWell, int id, CancellationToken token);
///
/// Скопировать контакты в другую скважину
///
/// ключ скважины, откуда копировать контакты
/// ключ скважины, куда копировать контакты
///
///
///
Task CopyAsync(int idWell, int idWellTarget, IEnumerable contactIds, CancellationToken token);
}
}