using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using IStation.Bimface;
namespace IStation
{
public sealed partial class BimfaceClient
{
///
/// 删除文件
///
public bool DeleteFile(long FileID, eModelIdType ModelType = eModelIdType.fileId)
{
GetAccessToken();
var preurl = string.Empty;
switch (ModelType)
{
case eModelIdType.fileId: preurl = _fileDeleteUrl; break;
case eModelIdType.integrateId: preurl = _integrateDeleteUrl; break;
case eModelIdType.compareId: preurl = _compareDeleteUrl; break;
default: preurl = _fileDeleteUrl; break;
}
var url = string.Format("{0}?{1}={2}", preurl, ModelType.ToString(), FileID);
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Method","Delete");
var autoHeader = new HttpHeaders().GetBasicAuthorHeader(_accesstoken);
httpClient.DefaultRequestHeaders.Add(autoHeader.Key, autoHeader.Value);
var response = httpClient.DeleteAsync(url).Result;
response.EnsureSuccessStatusCode();
var responsetext = response.Content.ReadAsStringAsync().Result;
var result = JsonHelper.Json2Object>(responsetext);
if (result.code != Constants.Success)
{
throw new BimfaceException(result.code);
}
if (result.data != null)
return false;
if (_viewtokenDic.ContainsKey(FileID))
{
_viewtokenDic.Remove(FileID);
}
_expiretime.RemoveViewTokenTime(FileID);
return true;
}
}
//文件删除URL
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";
}
}