namespace Yw
|
{
|
public sealed partial class BIMFaceClient
|
{
|
private const string _fileDeleteUrl = @"https://file.bimface.com/file";//文件删除URL
|
private const string _integrateDeleteUrl = @"https://api.bimface.com/integrate";//集成模型删除URL
|
private const string _compareDeleteUrl = @"https://api.bimface.com/v2/compare";//模型对比删除URL
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
public async Task<bool> Delete(string bimfaceId, eModelIdType modelIdType = eModelIdType.fileId)
|
{
|
await GetAccessToken();
|
bool result = false;
|
switch (modelIdType)
|
{
|
case eModelIdType.fileId: result = await DeleteFileAsync(bimfaceId); break;
|
case eModelIdType.integrateId: result = await DeleteIntegrateAsync(bimfaceId); break;
|
case eModelIdType.compareId: result = await DeleteCompareAsync(bimfaceId); break;
|
default: break;
|
}
|
return result;
|
}
|
|
//删除文件
|
private async Task<bool> DeleteFileAsync(string bimfaceId)
|
{
|
var url = $"{_fileDeleteUrl}?fileId={bimfaceId}";
|
var request = new FlurlRequest(url);
|
var header = HeaderHelper.GetHeader(_accessToken);
|
request.WithHeader(header.Key, header.Value);
|
var response = await request.DeleteAsync();
|
var jsonString = await response.GetStringAsync();
|
var result = JsonHelper.Json2Object<DeleteFileResponse>(jsonString);
|
result.TryThrowException();
|
return true;
|
}
|
|
//删除模型集成
|
private async Task<bool> DeleteIntegrateAsync(string bimfaceId)
|
{
|
var url = $"{_integrateDeleteUrl}?integrateId={bimfaceId}";
|
var request = new FlurlRequest(url);
|
var header = HeaderHelper.GetHeader(_accessToken);
|
request.WithHeader(header.Key, header.Value);
|
var response = await request.DeleteAsync();
|
var jsonString = await response.GetStringAsync();
|
var result = JsonHelper.Json2Object<DeleteIntegrateResponse>(jsonString);
|
result.TryThrowException();
|
return true;
|
}
|
|
//删除模型对比
|
private async Task<bool> DeleteCompareAsync(string bimfaceId)
|
{
|
var url = $"{_compareDeleteUrl}?compareId={bimfaceId}";
|
var request = new FlurlRequest(url);
|
var header = HeaderHelper.GetHeader(_accessToken);
|
request.WithHeader(header.Key, header.Value);
|
var response = await request.DeleteAsync();
|
var jsonString = await response.GetStringAsync();
|
var result = JsonHelper.Json2Object<DeleteCompareResponse>(jsonString);
|
result.TryThrowException();
|
return true;
|
}
|
|
|
|
|
|
|
|
}
|
}
|