public async Task <IActionResult> ListRoots() { try { // ReSharper disable PossibleInvalidOperationException (var assets, var taskActualities) = await _assetHelper.ListRootAsync(TenantID.Value, TenantMemberID.Value); // ReSharper restore PossibleInvalidOperationException var result = BuildResut(assets, taskActualities); if (result == null) { return(NoContent()); } return(Ok(result)); } catch (Exception ex) { ErrorObject.StatusCode = (int)HttpStatusCode.InternalServerError; ErrorObject.Add(ex); return(ErrorObject); } }
public async Task <IActionResult> ListDescendants([FromRoute] int parentAssetID, [FromRoute] RouteExtension extension) { if (parentAssetID <= 0) { ErrorObject.Add(new ArgumentNullException(nameof(parentAssetID))); return(ErrorObject); } try { // ReSharper disable PossibleInvalidOperationException (var assets, var taskActualities) = extension == RouteExtension.All ? await _assetHelper.ListDescendantsAsync(TenantID.Value, TenantMemberID.Value, parentAssetID) : await _assetHelper.ListChildrenAsync(TenantID.Value, TenantMemberID.Value, parentAssetID); // ReSharper restore PossibleInvalidOperationException var result = BuildResut(assets, taskActualities); if (result == null || !result.Any()) { return(NoContent()); } return(Ok(result)); } catch (AssetDeletedException ex) { ErrorObject.Add(ex); return(ErrorObject); } catch (AssetArchivedException ex) { ErrorObject.Add(ex); return(ErrorObject); } catch (Exception ex) { ErrorObject.StatusCode = (int)HttpStatusCode.InternalServerError; ErrorObject.Add(ex); return(ErrorObject); } }