using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using xModels.Dtos; using xWebinarService.Models.Dtos; namespace xWebinarService.Interfaces { /// /// an Interface to Provides Webinar Provider Actions ... /// public interface IXWebinarServiceControllerActions { // #region Actions ... /// /// Create Webinar ... /// /// /// Task> CreateWebinar([FromBody] XWebinarDto item); /// /// Update a Webinar ... /// /// /// Task> UpdateWebinar([FromBody] XWebinarDto item); /// /// Retrieve Specified Webinar ... /// /// /// Task> GetWebinar([FromQuery] Guid id); /// /// Retrieve all Exists Webinars ... /// /// Task>> GetWebinars(); /// /// Query Webinars ... /// /// /// Task>> QueryWebinars([FromQuery] XQuery query); /// /// Remove Specified Webinar ... /// /// /// /// Task> RemoveWebinar( [FromQuery] Guid webinarId ); #endregion // #region WebinarSubscriber ... /// /// Subscribe a User to Webinar ... /// /// /// /// /// Task> Subscribe( [FromQuery] Guid webinarId, [FromQuery] string subscriberId ); /// /// Check Specified User Subscribed on a Webinar or not ... /// /// /// /// Task> IsSubscribed( [FromQuery] Guid webinarId, [FromQuery] string subscriberId ); /// /// Unsubscribe Specified User from a Specified Webinar ... /// /// /// /// /// Task> Unsubscribe( [FromQuery] Guid webinarId, [FromQuery] string subscriberId ); /// /// Retrieve Specified Subscriber ... /// /// /// /// /// Task> GetSubscriber( [FromQuery] Guid webinarId, [FromQuery] string subscriberId ); /// /// Get all Specified Webinars Subscribers ... /// /// /// /// Task>> GetSubscribers( [FromQuery] Guid webinarId ); /// /// Query Specified Webinar's Subscribers ... /// /// /// /// /// Task>> QuerySubscribers( [FromQuery] XQuery query, [FromQuery] Guid webinarId ); #endregion } }