using Cloud.Models;
using Cloud.Services.Broker.Support;
namespace Cloud.Services.Domain;
public interface IGreenhouseService
{
///
/// Возвращает текущую информацию о конкретной теплице из брокера
///
/// ID теплицы
/// ID фермы, то есть брокера
/// Текущие данные о теплице от менеджера теплицы
public Task GetGreenhouseInfo(int id, int farmId);
///
/// Возвращает сохраненные данные для автоматизации теплицы из базы данных
///
/// ID теплицы
/// Данные для автоматизации теплицы
public Task GetGreenhouse(int id);
///
/// Возвращает список данных о всех теплицах пользователя из брокера
///
/// ID фермы
/// Список текущих данных о теплицах
public Task?> GetAll(int farmId);
///
/// Сохраняет данные об автоматизации теплицы в базу данных
///
/// Данные автоматизации теплицы
/// Созданную сущность из базы данных
public Task Create(Greenhouse greenhouse);
///
/// Обновляет данные автоматизации теплицы в базе данных
///
/// Новая информация об автоматизации теплицы
/// Обновленную сущность из базы данных
public Task Update(Greenhouse greenhouse);
///
/// Удаляет данные об автоматизации теплицы из базы данных
///
/// ID данных автоматизации теплицы
/// Возвращает удаленную сущность
public Task Delete(int id);
}