Projects (GanjooRazor -> DiwanRazor, GanjoorService.sln -> DiwanService.sln), files, folders, classes, namespaces, settings, API routes (/api/diwan) and DB tables (Diwan*). External addresses (ganjoor.net, github.com/ganjoor) unchanged. Migrations renamed consistently (no pending model changes); requires a fresh database. Upstream RUNNING_LOCALLY/SEMANTIC_SEARCH docs archived unmodified under docs/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
using RMuseum.Models.Diwan;
|
|
using RMuseum.Models.Diwan.ViewModels;
|
|
using RSecurityBackend.Models.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace RMuseum.Services
|
|
{
|
|
/// <summary>
|
|
/// numbering service
|
|
/// </summary>
|
|
public interface IDiwanNumberingService
|
|
{
|
|
/// <summary>
|
|
/// add numbering
|
|
/// </summary>
|
|
/// <param name="numbering"></param>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanNumbering>> AddNumberingAsync(DiwanNumbering numbering);
|
|
|
|
/// <summary>
|
|
/// update an existing numbering (only name)
|
|
/// </summary>
|
|
/// <param name="updated"></param>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<bool>> UpdateNumberingAsync(DiwanNumbering updated);
|
|
|
|
/// <summary>
|
|
/// delete numbering
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<bool>> DeleteNumberingAsync(int id);
|
|
|
|
/// <summary>
|
|
/// get numbering by id
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanNumbering>> GetNumberingAsync(int id);
|
|
|
|
/// <summary>
|
|
/// get all numberings
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanNumbering[]>> GetNumberingsAsync();
|
|
|
|
/// <summary>
|
|
/// get numberings for a cat
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanNumbering[]>> GetNumberingsForCatAsync(int catId);
|
|
|
|
/// <summary>
|
|
/// get numberings for direct subcats of parent cat
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanNumbering[]>> GetNumberingsForDirectSubCatsAsync(int parentCatId);
|
|
|
|
/// <summary>
|
|
/// get all numbering patterns for a couplet
|
|
/// </summary>
|
|
/// <param name="poemId"></param>
|
|
/// <param name="coupletIndex"></param>
|
|
/// <returns></returns>
|
|
Task<RServiceResult<DiwanCoupletNumberViewModel[]>> GetNumberingsForCouplet(int poemId, int coupletIndex);
|
|
|
|
/// <summary>
|
|
/// start counting
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
RServiceResult<bool> Recount(int numberingId);
|
|
|
|
/// <summary>
|
|
/// generate missing default numberings and start counting
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
RServiceResult<bool> GenerateMissingDefaultNumberings();
|
|
}
|
|
}
|