147 lines
4.8 KiB
C#
147 lines
4.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using xModels.Dtos;
|
|
using xWebinarService.Models.Dtos;
|
|
|
|
namespace xWebinarService.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// an Interface to Provides Webinar Provider Actions ...
|
|
/// </summary>
|
|
public interface IXWebinarServiceControllerActions
|
|
{
|
|
//
|
|
#region Actions ...
|
|
/// <summary>
|
|
/// Create Webinar ...
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XWebinarDto>> CreateWebinar([FromBody] XWebinarDto item);
|
|
|
|
/// <summary>
|
|
/// Update a Webinar ...
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XWebinarDto>> UpdateWebinar([FromBody] XWebinarDto item);
|
|
|
|
/// <summary>
|
|
/// Retrieve Specified Webinar ...
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XWebinarDto>> GetWebinar([FromQuery] Guid id);
|
|
|
|
/// <summary>
|
|
/// Retrieve all Exists Webinars ...
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<ActionResult<IEnumerable<XWebinarDto>>> GetWebinars();
|
|
|
|
/// <summary>
|
|
/// Retrieve all Exists Webinar Ids ...
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<ActionResult<IEnumerable<Guid>>> GetWebinarIds();
|
|
|
|
/// <summary>
|
|
/// Query Webinars ...
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XQueryResult<XWebinarDto>>> QueryWebinars([FromQuery] XQuery query);
|
|
|
|
/// <summary>
|
|
/// Query Webinar Ids ...
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XQueryResult<Guid>>> QueryWebinarIds([FromQuery] XQuery query);
|
|
|
|
/// <summary>
|
|
/// Remove Specified Webinar ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<bool>> RemoveWebinar(
|
|
[FromQuery] Guid webinarId
|
|
);
|
|
#endregion
|
|
|
|
//
|
|
#region WebinarSubscriber ...
|
|
/// <summary>
|
|
/// Subscribe a User to Webinar ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="subscriberId"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<bool>> Subscribe(
|
|
[FromQuery] Guid webinarId,
|
|
[FromQuery] string subscriberId
|
|
);
|
|
|
|
/// <summary>
|
|
/// Check Specified User Subscribed on a Webinar or not ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="subscriberId"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<bool>> IsSubscribed(
|
|
[FromQuery] Guid webinarId,
|
|
[FromQuery] string subscriberId
|
|
);
|
|
|
|
/// <summary>
|
|
/// Unsubscribe Specified User from a Specified Webinar ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="subscriberId"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<bool>> Unsubscribe(
|
|
[FromQuery] Guid webinarId,
|
|
[FromQuery] string subscriberId
|
|
);
|
|
|
|
/// <summary>
|
|
/// Retrieve Specified Subscriber ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="subscriberId"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XWebinarSubscriberDto>> GetSubscriber(
|
|
[FromQuery] Guid webinarId,
|
|
[FromQuery] string subscriberId
|
|
);
|
|
|
|
/// <summary>
|
|
/// Get all Specified Webinars Subscribers ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<IEnumerable<XWebinarSubscriberDto>>> GetSubscribers(
|
|
[FromQuery] Guid webinarId
|
|
);
|
|
|
|
/// <summary>
|
|
/// Query Specified Webinar's Subscribers ...
|
|
/// </summary>
|
|
/// <param name="webinarId"></param>
|
|
/// <param name="query"></param>
|
|
/// <param name="requesterUserSelectByParam"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XQueryResult<XWebinarSubscriberDto>>> QuerySubscribers(
|
|
[FromQuery] XQuery query,
|
|
[FromQuery] Guid webinarId
|
|
);
|
|
#endregion
|
|
}
|
|
} |