using System.Collections.Generic;
using System.Threading.Tasks;
using Dpz.Core.Public.ViewModel.V4;
using Dpz.Core.Web.Pager;
namespace Dpz.Core.Service.V4.Services;
public interface IPictureRecordService
{
/// <summary>
/// 获取所有图片标签
/// </summary>
/// <returns></returns>
Task<ICollection<string>> GetTagsAsync();
/// <summary>
/// 设置Banner
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task SetBannerAsync(string id);
/// <summary>
/// 获取所有Banner
/// </summary>
/// <returns></returns>
Task<ICollection<VmPictureRecord>> GetBannerAsync();
/// <summary>
/// 分页获取图片信息
/// </summary>
/// <param name="tags"></param>
/// <param name="description"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
Task<IPagedList<VmPictureRecord>> GetPagesAsync(ICollection<string>? tags, string? description, int pageIndex = 1,
int pageSize = 20);
/// <summary>
/// 获取图片信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<VmPictureRecord?> GetPictureRecordAsync(string id);
/// <summary>
/// 创建一个图片记录
/// </summary>
/// <param name="pictureRecord"></param>
/// <returns></returns>
Task<VmPictureRecord> CreateRecordAsync(VmPictureRecord pictureRecord);
/// <summary>
/// 修改图片信息
/// </summary>
/// <param name="change"></param>
/// <returns></returns>
Task<VmPictureRecord?> ChangeInformationAsync(VmPictureRecordChange change);
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task DeleteAsync(string id);
}