Last Works on Webinar ...
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
using xStringService.Interfaces;
|
||||
|
||||
namespace xWebinarService.Interfaces
|
||||
{
|
||||
public interface IXWebinarDescriptionResourceProvider : IXBaseStringResourceProvider
|
||||
{ }
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using xPushService.Base;
|
||||
using xPushService.Interfaces;
|
||||
|
||||
namespace xWebinarService.Interfaces
|
||||
{
|
||||
public abstract class XWebinarHub : XBaseWebRTCHub
|
||||
{
|
||||
protected XWebinarHub(
|
||||
IXPushGroupStore groupStore,
|
||||
IXPushConnectionStore connectionStore,
|
||||
IXWebRTCConnectionStore webRTCConnectionStore
|
||||
) : base(
|
||||
groupStore,
|
||||
connectionStore,
|
||||
webRTCConnectionStore
|
||||
)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using xDataService.Configuration;
|
||||
using xIdentityService.Interfaces;
|
||||
using xModels.Dtos;
|
||||
using xWebinarService.Interfaces.Entities;
|
||||
using xWebinarService.Models.Dtos;
|
||||
using xWebinarService.Models.Entities;
|
||||
|
||||
namespace xWebinarService.Interfaces
|
||||
{
|
||||
public interface IXWebinarProvider
|
||||
{
|
||||
//
|
||||
#region Props ...
|
||||
IXIdentityProvider IdentityProvider { get; }
|
||||
IXWebinarRepository WebinarRepository { get; }
|
||||
XDataServiceConfiguration DataSercviceConfiguration { get; }
|
||||
IXWebinarTitleResourceProvider TitleResourceProvider { get; }
|
||||
IXWebinarSubscriberRepository WebinarSubscriberRepository { get; }
|
||||
IXWebinarDescriptionResourceProvider DescriptionResourceProvider { get; }
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Tools ...
|
||||
/// <summary>
|
||||
/// Converts Specified XWebinar Entity to it's Corresponding Dto Presentation
|
||||
/// and also Fill Owner and Title/Description Resources ...
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarDto> ToXWebinarDto(XWebinar model);
|
||||
|
||||
/// <summary>
|
||||
/// Converts Specified WebinarSubscriber Entity to it's Dto Presentation ...
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarSubscriberDto> ToXWebinarSubscriberDto(XWebinarSubscriber model);
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Actions ...
|
||||
/// <summary>
|
||||
/// Create Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarDto> CreateWebinar(XWebinarDto item);
|
||||
|
||||
/// <summary>
|
||||
/// Update a Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarDto> UpdateWebinar(XWebinarDto item);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarDto> GetWebinar(Guid id);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve all Exists Webinars ...
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XWebinarDto>> GetWebinars();
|
||||
|
||||
/// <summary>
|
||||
/// Query Webinars ...
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
Task<XQueryResult<XWebinarDto>> QueryWebinars(XQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="webinarId"></param>
|
||||
/// <param name="requesterUserSelectByParam"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> RemoveWebinar(
|
||||
Guid webinarId,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
#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<bool> Subscribe(
|
||||
Guid webinarId,
|
||||
string subscriberId,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Check Specified User Subscribed on a Webinar or not ...
|
||||
/// </summary>
|
||||
/// <param name="webinarId"></param>
|
||||
/// <param name="subscriberId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> IsSubscribed(
|
||||
Guid webinarId,
|
||||
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<bool> Unsubscribe(
|
||||
Guid webinarId,
|
||||
string subscriberId,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Specified Subscriber ...
|
||||
/// </summary>
|
||||
/// <param name="webinarId"></param>
|
||||
/// <param name="subscriberId"></param>
|
||||
/// <param name="requesterUserSelectByParam"></param>
|
||||
/// <returns></returns>
|
||||
Task<XWebinarSubscriberDto> GetSubscriber(
|
||||
Guid webinarId,
|
||||
string subscriberId,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Get all Specified Webinars Subscribers ...
|
||||
/// </summary>
|
||||
/// <param name="webinarId"></param>
|
||||
/// <param name="requesterUserSelectByParam"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XWebinarSubscriberDto>> GetSubscribers(
|
||||
Guid webinarId,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Query Specified Webinar's Subscribers ...
|
||||
/// </summary>
|
||||
/// <param name="webinarId"></param>
|
||||
/// <param name="query"></param>
|
||||
/// <param name="requesterUserSelectByParam"></param>
|
||||
/// <returns></returns>
|
||||
Task<XQueryResult<XWebinarSubscriberDto>> QuerySubscribers(
|
||||
Guid webinarId,
|
||||
XQuery query,
|
||||
string requesterUserSelectByParam = null
|
||||
);
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
using xStringService.Interfaces;
|
||||
|
||||
namespace xWebinarService.Interfaces
|
||||
{
|
||||
public interface IXWebinarTitleResourceProvider : IXBaseStringResourceProvider
|
||||
{ }
|
||||
}
|
||||
Reference in New Issue
Block a user