last works ...
This commit is contained in:
@@ -13,6 +13,7 @@ using xIdentityService.Interfaces;
|
||||
using xModels.Dtos;
|
||||
using xWebinarService.Interfaces;
|
||||
using xWebinarService.Models.Dtos;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace xWebinarService.Controllers
|
||||
{
|
||||
@@ -52,10 +53,14 @@ namespace xWebinarService.Controllers
|
||||
/// Create Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="files"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("Create")]
|
||||
public virtual async Task<ActionResult<XWebinarDto>> CreateWebinar(
|
||||
[FromBody] XWebinarDto item
|
||||
[FromBody] XWebinarDto item,
|
||||
[FromQuery] string tags = null,
|
||||
[FromForm] IFormFileCollection files = null
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -77,9 +82,12 @@ namespace xWebinarService.Controllers
|
||||
}
|
||||
|
||||
//
|
||||
var tagList = tags.ParseListString<string>();
|
||||
var result = await WebinarProvider
|
||||
.CreateWebinar(
|
||||
item: item,
|
||||
files: files,
|
||||
tags: tagList,
|
||||
connectionId: connectionId
|
||||
);
|
||||
|
||||
@@ -200,33 +208,6 @@ namespace xWebinarService.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve all Exists Webinar Ids ...
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Ids")]
|
||||
public virtual ActionResult<IEnumerable<Guid>> GetWebinarIds()
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
var result = WebinarProvider
|
||||
.GetWebinarIds();
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Query Webinars ...
|
||||
/// </summary>
|
||||
@@ -258,12 +239,12 @@ namespace xWebinarService.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Query Webinar Ids ...
|
||||
/// Query Owned Webinars ...
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("QueryIds")]
|
||||
public virtual ActionResult<XQueryResult<Guid>> QueryWebinarIds(
|
||||
[HttpGet("QueryOwned")]
|
||||
public virtual async Task<ActionResult<XQueryResult<XWebinarDto>>> QueryOwnedWebinars(
|
||||
[FromQuery] XQuery query
|
||||
)
|
||||
{
|
||||
@@ -272,8 +253,52 @@ namespace xWebinarService.Controllers
|
||||
try
|
||||
{
|
||||
//
|
||||
var result = WebinarProvider
|
||||
.QueryWebinarIds(query);
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
|
||||
//
|
||||
var result = await WebinarProvider
|
||||
.QueryOwnedWebinars(
|
||||
query: query,
|
||||
userInfo: userInfo
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Query Joinable Webinars ...
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("QueryJoinable")]
|
||||
public virtual async Task<ActionResult<XQueryResult<XWebinarDto>>> QueryJoinableWebinars(
|
||||
[FromQuery] XQuery query
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
|
||||
//
|
||||
var result = await WebinarProvider
|
||||
.QueryJoinableWebinars(
|
||||
query: query,
|
||||
userInfo: userInfo
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
@@ -708,5 +733,209 @@ namespace xWebinarService.Controllers
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region File Actions ...
|
||||
/// <summary>
|
||||
/// Upload Specified Files for Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="files"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("{id}/Files")]
|
||||
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> Upload(
|
||||
[FromRoute] Guid id,
|
||||
[FromForm] IFormFileCollection files
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var result = await WebinarProvider
|
||||
.Upload(
|
||||
id: id,
|
||||
files: files,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified (All) Files of Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id}/Files")]
|
||||
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> Remove(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string ids = null
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var result = await WebinarProvider
|
||||
.RemoveFiles(
|
||||
id: id,
|
||||
ids: ids,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Specified Webinar's Files ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{id}/Files")]
|
||||
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> GetFiles(
|
||||
[FromRoute] Guid id
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
var result = await WebinarProvider
|
||||
.GetFiles(id);
|
||||
|
||||
//
|
||||
return Ok(result.
|
||||
ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Tags Actions ...
|
||||
/// <summary>
|
||||
/// Attach Specified Tags To Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("{id}/Tags")]
|
||||
public virtual async Task<ActionResult> TagsAttach(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var tagsList = tags.ParseListString<string>();
|
||||
await WebinarProvider
|
||||
.TagsAttach(
|
||||
id: id,
|
||||
tags: tagsList,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
|
||||
//
|
||||
return Ok();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Detach Specified Tags From Specified Webinar ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id}/Tags")]
|
||||
public virtual async Task<ActionResult> TagsDetach(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
// Retrieve User Info ...
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var tagsList = tags.ParseListString<string>();
|
||||
await WebinarProvider
|
||||
.TagsDetach(
|
||||
id: id,
|
||||
tags: tagsList,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
|
||||
//
|
||||
return Ok();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user