diff --git a/Controllers/XWebinarServiceControllerBase.cs b/Controllers/XWebinarServiceControllerBase.cs
index 99c735b..543e31e 100644
--- a/Controllers/XWebinarServiceControllerBase.cs
+++ b/Controllers/XWebinarServiceControllerBase.cs
@@ -10,10 +10,11 @@ using xCommons.Providers;
using xExceptions.Constants;
using xIdentityService.Controllers;
using xIdentityService.Interfaces;
-using xModels.Dtos;
using xWebinarService.Interfaces;
using xWebinarService.Models.Dtos;
using Microsoft.AspNetCore.Http;
+using XFileDto = xFileService.Models.Dtos.XFileDto;
+using xModels.Dtos;
namespace xWebinarService.Controllers
{
@@ -56,9 +57,16 @@ namespace xWebinarService.Controllers
///
///
///
- [HttpPost("Create")]
+ ///
+ /// Create Webinar ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("")]
public virtual async Task> CreateWebinar(
- [FromBody] XWebinarDto item,
+ [FromForm] XWebinarDto item,
[FromQuery] string tags = null,
[FromForm] IFormFileCollection files = null
)
@@ -106,10 +114,12 @@ namespace xWebinarService.Controllers
///
/// Update a Webinar ...
///
+ ///
///
///
- [HttpPut("Update")]
+ [HttpPut("{id}")]
public virtual async Task> UpdateWebinar(
+ [FromRoute] Guid id,
[FromBody] XWebinarDto item
)
{
@@ -156,9 +166,9 @@ namespace xWebinarService.Controllers
///
///
///
- [HttpGet("")]
+ [HttpGet("{id}")]
public virtual async Task> GetWebinar(
- [FromQuery] Guid id
+ [FromRoute] Guid id
)
{
//
@@ -243,7 +253,7 @@ namespace xWebinarService.Controllers
///
///
///
- [HttpGet("QueryOwned")]
+ [HttpGet("Query/Owned")]
public virtual async Task>> QueryOwnedWebinars(
[FromQuery] XQuery query
)
@@ -280,7 +290,7 @@ namespace xWebinarService.Controllers
///
///
///
- [HttpGet("QueryJoinable")]
+ [HttpGet("Query/Joinable")]
public virtual async Task>> QueryJoinableWebinars(
[FromQuery] XQuery query
)
@@ -317,9 +327,9 @@ namespace xWebinarService.Controllers
///
///
///
- [HttpDelete("Remove")]
+ [HttpDelete("{id}")]
public virtual async Task> RemoveWebinar(
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id
)
{
//
@@ -335,7 +345,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -353,7 +363,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.RemoveWebinar(
- webinarId: webinarId,
+ webinarId: id,
connectionId: connectionId
);
@@ -375,13 +385,13 @@ namespace xWebinarService.Controllers
///
/// Subscribe a User to Webinar ...
///
- ///
+ ///
///
///
- [HttpPost("Subscribe")]
+ [HttpPost("{id}/Subscribe/{subscriberId}")]
public virtual async Task> Subscribe(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
)
{
//
@@ -397,7 +407,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -418,7 +428,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.Subscribe(
- webinarId: webinarId,
+ webinarId: id,
subscriberId: subscriberId,
connectionId: connectionId
);
@@ -438,13 +448,13 @@ namespace xWebinarService.Controllers
///
/// Check Specified User Subscribed on a Webinar or not ...
///
- ///
+ ///
///
///
- [HttpGet("IsSubscribed")]
+ [HttpGet("{id}/IsSubscribed/{subscriberId}")]
public virtual async Task> IsSubscribed(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
)
{
//
@@ -459,7 +469,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -479,7 +489,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.IsSubscribed(
- webinarId: webinarId,
+ webinarId: id,
subscriberId: subscriberId
);
@@ -498,13 +508,13 @@ namespace xWebinarService.Controllers
///
/// Unsubscribe Specified User from a Specified Webinar ...
///
- ///
+ ///
///
///
- [HttpDelete("Unsubscribe")]
+ [HttpDelete("{id}/Unsubscribe/{subscriberId}")]
public virtual async Task> Unsubscribe(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
)
{
//
@@ -520,7 +530,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -541,7 +551,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.Unsubscribe(
- webinarId: webinarId,
+ webinarId: id,
subscriberId: subscriberId,
connectionId: connectionId
);
@@ -561,13 +571,13 @@ namespace xWebinarService.Controllers
///
/// Retrieve Specified Subscriber ...
///
- ///
+ ///
///
///
- [HttpGet("GetSubscriber")]
+ [HttpGet("{id}/Subscriber/{subscriberId}")]
public virtual async Task> GetSubscriber(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
)
{
//
@@ -582,7 +592,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -602,7 +612,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.GetSubscriber(
- webinarId: webinarId,
+ webinarId: id,
subscriberId: subscriberId
);
@@ -621,11 +631,11 @@ namespace xWebinarService.Controllers
///
/// Get all Specified Webinars Subscribers ...
///
- ///
+ ///
///
- [HttpGet("GetSubscribers")]
+ [HttpGet("{id}/Subscribers")]
public virtual async Task>> GetSubscribers(
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id
)
{
//
@@ -640,7 +650,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -659,7 +669,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
- .GetSubscribers(webinarId);
+ .GetSubscribers(id);
//
return Ok(result.
@@ -676,13 +686,13 @@ namespace xWebinarService.Controllers
///
/// Query Specified Webinar's Subscribers ...
///
- ///
+ ///
///
///
- [HttpGet("QuerySubscribers")]
+ [HttpGet("{id}/Subscribers/Query")]
public virtual async Task>> QuerySubscribers(
- [FromQuery] XQuery query,
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id,
+ [FromQuery] XQuery query
)
{
//
@@ -697,7 +707,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
- var entity = await WebinarProvider.GetWebinar(webinarId);
+ var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -718,7 +728,7 @@ namespace xWebinarService.Controllers
var result = await WebinarProvider
.QuerySubscribers(
query: query,
- webinarId: webinarId
+ webinarId: id
);
//
@@ -743,7 +753,7 @@ namespace xWebinarService.Controllers
///
///
[HttpPost("{id}/Files")]
- public virtual async Task>> Upload(
+ public virtual async Task>> UploadFiles(
[FromRoute] Guid id,
[FromForm] IFormFileCollection files
)
@@ -759,7 +769,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
- .Upload(
+ .UploadFiles(
id: id,
files: files,
userInfo: userInfo,
@@ -785,7 +795,7 @@ namespace xWebinarService.Controllers
///
///
[HttpDelete("{id}/Files")]
- public virtual async Task>> Remove(
+ public virtual async Task>> RemoveFiles(
[FromRoute] Guid id,
[FromQuery] string ids = null
)
diff --git a/Interfaces/IXWebinarProvider.cs b/Interfaces/IXWebinarProvider.cs
index 49c7747..5755ae9 100644
--- a/Interfaces/IXWebinarProvider.cs
+++ b/Interfaces/IXWebinarProvider.cs
@@ -238,7 +238,7 @@ namespace xWebinarService.Interfaces
///
///
///
- Task> Upload(
+ Task> UploadFiles(
Guid id,
IFormFileCollection files,
XUserClaimsInfoDto userInfo = null,
diff --git a/Interfaces/IXWebinarServiceControllerActions.cs b/Interfaces/IXWebinarServiceControllerActions.cs
index 49a14a4..928c107 100644
--- a/Interfaces/IXWebinarServiceControllerActions.cs
+++ b/Interfaces/IXWebinarServiceControllerActions.cs
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using xModels.Dtos;
+using XFileDto = xFileService.Models.Dtos.XFileDto;
using xWebinarService.Models.Dtos;
namespace xWebinarService.Interfaces
@@ -23,7 +24,7 @@ namespace xWebinarService.Interfaces
///
///
Task> CreateWebinar(
- [FromBody] XWebinarDto item,
+ [FromForm] XWebinarDto item,
[FromQuery] string tags = null,
[FromForm] IFormFileCollection files = null
);
@@ -31,9 +32,11 @@ namespace xWebinarService.Interfaces
///
/// Update a Webinar ...
///
+ ///
///
///
Task> UpdateWebinar(
+ [FromRoute] Guid id,
[FromBody] XWebinarDto item
);
@@ -43,7 +46,7 @@ namespace xWebinarService.Interfaces
///
///
Task> GetWebinar(
- [FromQuery] Guid id
+ [FromRoute] Guid id
);
///
@@ -82,11 +85,10 @@ namespace xWebinarService.Interfaces
///
/// Remove Specified Webinar ...
///
- ///
- ///
+ ///
///
Task> RemoveWebinar(
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id
);
#endregion
@@ -95,72 +97,67 @@ namespace xWebinarService.Interfaces
///
/// Subscribe a User to Webinar ...
///
- ///
+ ///
///
- ///
///
Task> Subscribe(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
);
///
/// Check Specified User Subscribed on a Webinar or not ...
///
- ///
+ ///
///
///
Task> IsSubscribed(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
);
///
/// Unsubscribe Specified User from a Specified Webinar ...
///
- ///
+ ///
///
- ///
///
Task> Unsubscribe(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
);
///
/// Retrieve Specified Subscriber ...
///
- ///
+ ///
///
- ///
///
Task> GetSubscriber(
- [FromQuery] Guid webinarId,
- [FromQuery] string subscriberId
+ [FromRoute] Guid id,
+ [FromRoute] string subscriberId
);
///
/// Get all Specified Webinars Subscribers ...
///
- ///
- ///
+ ///
///
Task>> GetSubscribers(
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id
);
///
/// Query Specified Webinar's Subscribers ...
///
- ///
+ ///
///
- ///
///
Task>> QuerySubscribers(
- [FromQuery] XQuery query,
- [FromQuery] Guid webinarId
+ [FromRoute] Guid id,
+ [FromQuery] XQuery query
);
- #endregion
+ #endregion
//
#region File Actions ...
@@ -170,7 +167,7 @@ namespace xWebinarService.Interfaces
///
///
///
- Task>> Upload(
+ Task>> UploadFiles(
[FromRoute] Guid id,
[FromForm] IFormFileCollection files
);
@@ -181,7 +178,7 @@ namespace xWebinarService.Interfaces
///
///
///
- Task>> Remove(
+ Task>> RemoveFiles(
[FromRoute] Guid id,
[FromQuery] string ids = null
);
@@ -218,7 +215,7 @@ namespace xWebinarService.Interfaces
Task TagsDetach(
[FromRoute] Guid id,
[FromQuery] string tags
- );
+ );
#endregion
}
}
\ No newline at end of file
diff --git a/Providers/XWebinarProvider.cs b/Providers/XWebinarProvider.cs
index 1ca3435..5606920 100644
--- a/Providers/XWebinarProvider.cs
+++ b/Providers/XWebinarProvider.cs
@@ -313,7 +313,7 @@ namespace xWebinarService.Providers
try
{
//
- await Upload(
+ await UploadFiles(
id: entity.Id,
files: files,
userInfo: userInfo
@@ -1409,7 +1409,7 @@ namespace xWebinarService.Providers
///
///
///
- public async Task> Upload(
+ public async Task> UploadFiles(
Guid id,
IFormFileCollection files,
XUserClaimsInfoDto userInfo = null,