using System.Collections.Generic;
using EventsAppQuest.Domain.Models;

namespace EventsAppQuest.Application.Services
{
    /// <summary>
    /// Contrato para servico de itens do showroom/proposta.
    /// </summary>
    public interface IShowroomService
    {
        IReadOnlyList<ShowroomItem> GetAll();
        ShowroomItem GetById(string id);

        /// <summary>Itens vinculados ao template (para carregar itens padrao ao iniciar projeto).</summary>
        IReadOnlyList<ShowroomItem> GetByTemplateId(string templateId);

        /// <summary>Itens disponiveis para adicionar à proposta (ex.: do template, excluindo ja incluidos). Base para futura filtragem por categoria/espaco.</summary>
        IReadOnlyList<ShowroomItem> GetAvailableItemsToAdd(EventProject project);
    }
}
