using Widgets.Slider.Domain;

namespace Widgets.Slider.Services;

public interface ISliderService
{
    /// <summary>
    ///     Delete a slider
    /// </summary>
    /// <param name="slide">Slide</param>
    Task DeleteSlider(PictureSlider slide);

    /// <summary>
    ///     Gets all
    /// </summary>
    /// <returns>Picture Sliders</returns>
    Task<IList<PictureSlider>> GetPictureSliders();

    /// <summary>
    ///     Gets by type
    /// </summary>
    /// <returns>Picture Sliders</returns>
    Task<IList<PictureSlider>> GetPictureSliders(SliderType sliderType, string objectEntry = "");

    /// <summary>
    ///     Gets a tax rate
    /// </summary>
    /// <param name="slideId">Slide identifier</param>
    /// <returns>Tax rate</returns>
    Task<PictureSlider> GetById(string slideId);

    /// <summary>
    ///     Inserts a slide
    /// </summary>
    /// <param name="slide">Picture Slider</param>
    Task InsertPictureSlider(PictureSlider slide);

    /// <summary>
    ///     Updates slide
    /// </summary>
    /// <param name="slide">Picture Slider</param>
    Task UpdatePictureSlider(PictureSlider slide);
}