using EnablementBLL.ShowSchedule; using EnablementDAL.DTO; using EnablementSL.Parameters.ShowSchedule; using FastEndpoints; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.Framework.ResponseStandard; using GB5Shared.FastEndPoint; namespace EnablementSL.Endpoints.ShowSchedule; public class SaveShowSchedule : BaseEndpoint> { private readonly IShowScheduleBLL _bll; public SaveShowSchedule(IShowScheduleBLL bll) => _bll = bll; public override void Configure() { Post("/Enablement/SaveShowSchedule"); AllowAnonymous(); } protected override string? GetCacheKey(SaveShowScheduleParameters req, LoginDTO login) => null; protected override async Task> ExecuteAsync( SaveShowScheduleParameters req, LoginDTO login, CancellationToken ct) { var dto = new ShowScheduleDTO { ShowScheduleId = req.ShowScheduleId, ShowId = req.ShowId, ScheduleType = req.ScheduleType, ScheduleMode = req.ScheduleMode, StartDate = req.StartDate, EndDate = req.EndDate, ScheduleTime = req.ScheduleTime, Timezone = req.Timezone, RecurrenceJson = req.RecurrenceJson, IsActive = req.IsActive, Remarks = req.Remarks, SortOrder = req.SortOrder }; return await _bll.SaveShowScheduleAsync(dto, login, ct).ConfigureAwait(false); } }