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
///
/// 删除
///
public async Task 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 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(jsonString);
result.TryThrowException();
return true;
}
//删除模型集成
private async Task 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(jsonString);
result.TryThrowException();
return true;
}
//删除模型对比
private async Task 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(jsonString);
result.TryThrowException();
return true;
}
}
}