@ -40,6 +40,9 @@ using NPOI.SS.Formula.Atp;
using Org.BouncyCastle.Asn1.Pkcs ;
using System.Windows.Forms ;
using Org.BouncyCastle.Asn1.Ocsp ;
using System.Data ;
using System.Web.WebSockets ;
using System.Security.Cryptography ;
namespace IBKLinker_Minio.Controller.MinioController
{
@ -55,6 +58,7 @@ namespace IBKLinker_Minio.Controller.MinioController
/// 调用log日志文件
/// </summary>
private static readonly ILog logger = LogManager . GetLogger ( MethodBase . GetCurrentMethod ( ) . DeclaringType ) ;
public static List < SliceUploadModel > SliceUploadData = new List < SliceUploadModel > ( ) ;
#region minio权限表
@ -350,15 +354,25 @@ namespace IBKLinker_Minio.Controller.MinioController
{
try
{
bool Asstion = true ; //定义是否执行关联
IList < MinioFileassociation > SelMFdata = new List < MinioFileassociation > ( ) ;
SelMFdata = db . Query < MinioFileassociation > ( "select * from MINIO_FILEASSOCIATION where 1=1 and FILE_PK='"+ minioFileassociation . FilePk + "' and ASSOCIATION_FILE_PK='" + minioFileassociation . Association FilePk+ "' ") ;
SelMFdata = db . Query < MinioFileassociation > ( "select * from MINIO_FILEASSOCIATION where 1=1 and ( FILE_PK='" + minioFileassociation . FilePk + "' or ASSOCIATION_FILE_PK='" + minioFileassociation . FilePk + "' ) ") ;
//查询当前被关联文件是否已经被关联过
if ( SelMFdata . Count > 0 )
{
request . code = "1" ;
request . msg = "当前文件已经被关联过,请勿重复关联!" ;
foreach ( var item in SelMFdata )
{
if ( item . FilePk = = minioFileassociation . FilePk & & item . AssociationFilePk = = minioFileassociation . AssociationFilePk ) //如果当前要关联的pk 等于已有的关联pk 被关联pk 等于已有的被关联pk
{
Asstion = false ;
}
else
if ( item . FilePk = = minioFileassociation . AssociationFilePk & & item . AssociationFilePk = = minioFileassociation . FilePk ) //如果当前要关联的pk 等于已有的被关联pk 被关联pk 等于已有的关联pk
{
Asstion = false ;
}
}
}
if ( Asstion )
{
db . BeginTransaction ( ) ; //启动事务
///拿到表自增长的值赋值给自增长主键pk
@ -371,6 +385,11 @@ namespace IBKLinker_Minio.Controller.MinioController
request . code = "0" ;
request . msg = "关联成功!" ;
}
else
{
request . code = "1" ;
request . msg = "当前文件已经被关联过,请勿重复关联!" ;
}
}
catch ( Exception ex )
{
@ -439,9 +458,27 @@ namespace IBKLinker_Minio.Controller.MinioController
{
if ( master ! = null )
{
bool Asstion = true ;
List < MinioFileassociation > Deldata = new List < MinioFileassociation > ( ) ;
IList < MinioFileassociation > SelMFdata = new List < MinioFileassociation > ( ) ;
SelMFdata = db . Query < MinioFileassociation > ( "select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + master . FilePk + "' or ASSOCIATION_FILE_PK='" + master . FilePk + "')" ) ;
//查询当前被关联文件是否已经被关联过
if ( SelMFdata . Count > 0 )
{
foreach ( var item in SelMFdata )
{
if ( item . FilePk = = master . FilePk & & item . AssociationFilePk = = master . AssociationFilePk ) //如果当前要关联的pk 等于已有的关联pk 被关联pk 等于已有的被关联pk
{
Deldata . Add ( item ) ; //向需要删除的list中追加数据
}
if ( item . FilePk = = master . AssociationFilePk & & item . AssociationFilePk = = master . FilePk ) //如果当前要关联的pk 等于已有的被关联pk 被关联pk 等于已有的关联pk
{
Deldata . Add ( item ) ; //向需要删除的list中追加数据
}
}
}
db . BeginTransaction ( ) ; //启动事务
string sql = string . Format ( "delete from MINIO_FILEASSOCIATION where 1=1 and PK={0}" , master . Pk ) ;
db . Execute ( sql ) ;
db . Delete < MinioFileassociation > ( Deldata ) ;
db . Commit ( ) ; //提交事务
request . code = "0" ;
request . msg = "删除成功!" ;
@ -477,28 +514,9 @@ namespace IBKLinker_Minio.Controller.MinioController
{
if ( FilePk ! = null )
{
string sql = string . Empty ;
//先通过文件ID拿到文件的类型是技术协议还是质量要点或者工艺卡
MinioStoragePath ds = db . Query < MinioStoragePath > ( "select * from MINIO_STORAGE_PATH where PK= " + int . Parse ( FilePk ) + " and CLEAR_FLAG='0' ORDER BY PK" ) . FirstOrDefault ( ) ;
if ( ds ! = null )
{
if ( ds . DocumentType = = "1" )
{
sql + = string . Format ( " and FILE_PK ={0}" , int . Parse ( FilePk ) ) ;
}
else if ( ds . DocumentType = = "2" )
{
sql + = string . Format ( " and FILE_PK ={0} or ASSOCIATION_FILE_PK ={0}" , int . Parse ( FilePk ) ) ;
}
else
{
sql + = string . Format ( " and ASSOCIATION_FILE_PK ={0}" , int . Parse ( FilePk ) ) ;
}
}
//通过文件类型判断是查文件的下一级还是查文件的上下级
IList < MinioFileassociation > SelMFdata = new List < MinioFileassociation > ( ) ;
IList < MinioFileassociation > result = new List < MinioFileassociation > ( ) ;
SelMFdata = db . Query < MinioFileassociation > ( "select * from MINIO_FILEASSOCIATION where 1=1 " + sql + " ORDER BY PK") ;
SelMFdata = db . Query < MinioFileassociation > ( "select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + int . Parse ( FilePk ) + "' or ASSOCIATION_FILE_PK='" + int . Parse ( FilePk ) + "') ORDER BY PK" ) ;
if ( SelMFdata . Count > 0 ) //如果有数据
{
foreach ( var item in SelMFdata )
@ -966,6 +984,7 @@ namespace IBKLinker_Minio.Controller.MinioController
date . ModifyTime = time ; //修改时间
date . ClearFlag = "0" ; //删除标记 0未删除 1删除
date . DocumentType = item . DocumentType ; //文件种类
date . Version = item . Version ; //版本
if ( item . Bate64 ! = null ) //如果是修改文件
{
var contentType = item . FileCategory ;
@ -1288,7 +1307,7 @@ namespace IBKLinker_Minio.Controller.MinioController
#region minio文件下载及预览
/// <summary>
/// 件下载及预览接口
/// 文 件下载及预览接口
/// </summary>
[HttpPost, Route("FileDownload")]
public RequestEntity FileDownload ( List < MinioStoragePath > minioStoragePath )
@ -1296,6 +1315,7 @@ namespace IBKLinker_Minio.Controller.MinioController
MinioBusinessLogic bb = new MinioBusinessLogic ( ) ; //定义业务逻辑方法
RequestEntity request = new RequestEntity ( ) ; //定义返回集合
List < MinioStoragePath > data = new List < MinioStoragePath > ( ) ; //定义输出下载的list
string NewFileName = "" ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "db" ) )
{
try
@ -1306,7 +1326,15 @@ namespace IBKLinker_Minio.Controller.MinioController
{
MinioStoragePath date = new MinioStoragePath ( ) ; //定义单条返回数据
string BuckName = bb . GetBuckName ( ) ; //调用取桶名称方法
string NewFileName = item . FileName . Replace ( ".pdf" , "_" ) + item . Version + ".pdf" ;
NewFileName = item . FileName ;
if ( item . Version ! = null & & item . FileName . IndexOf ( ".pdf" ) > 0 ) //判断是否是pdf文件并且有版本做处理
{
NewFileName = item . FileName . Replace ( ".pdf" , "_" ) + item . Version + ".pdf" ;
}
if ( item . Version ! = null & & item . FileName . IndexOf ( ".PDF" ) > 0 ) //判断是否是pdf文件并且有版本做处理
{
NewFileName = item . FileName . Replace ( ".PDF" , "_" ) + item . Version + ".PDF" ;
}
var uploadTask = bb . Download ( BuckName , NewFileName ) ; //异步取base64
uploadTask . Wait ( ) ; //等待取值
if ( uploadTask . Status = = TaskStatus . RanToCompletion & & ! uploadTask . IsFaulted ) //判读是否有数值
@ -1544,6 +1572,336 @@ namespace IBKLinker_Minio.Controller.MinioController
}
# endregion
#region 切片上传
/// <summary>
/// 接收切片
/// </summary>
[HttpPost, Route("SliceUpload")]
public async Task < RequestEntity > SliceUploadAsync ( ) //string FileName,string SliceQuantity,string FileNum, string FileId,string Size,string Upk, string FileType, string FilePath, string CreatorUser, string DownloadNum, string FileLevel, string FileCategory
{
Dictionary < string , string > dic = new Dictionary < string , string > ( ) ;
SliceUploadModel master = new SliceUploadModel ( ) ;
RequestEntity request = new RequestEntity ( ) ; //定义返回集合
try
{
var multipartMemoryStreamProvider = await Request . Content . ReadAsMultipartAsync ( ) ;
foreach ( var content in multipartMemoryStreamProvider . Contents )
{
if ( ! string . IsNullOrEmpty ( content . Headers . ContentDisposition . FileName ) )
{
using ( Stream stream = await content . ReadAsStreamAsync ( ) )
{
if ( stream . CanSeek ) // 确保流支持查询长度和定位
{
long length = stream . Length ;
byte [ ] bytes = new byte [ length ] ;
int offset = 0 ;
int bytesRead ;
while ( ( bytesRead = stream . Read ( bytes , offset , bytes . Length - offset ) ) > 0 )
{
offset + = bytesRead ;
}
// bytes 数组现在包含了整个流的内容
master . FileBase64 = bytes ;
}
}
}
else
{
string val = await content . ReadAsStringAsync ( ) ;
dic . Add ( content . Headers . ContentDisposition . Name . Replace ( "\"" , "" ) , System . Web . HttpUtility . UrlDecode ( val ) ) ;
}
}
master . FileName = dic [ "FileName" ] . ToString ( ) ; //文件名称
master . SliceQuantity = dic [ "SliceQuantity" ] . ToString ( ) ; //切片总数量
master . FileNum = dic [ "FileNum" ] . ToString ( ) ;
master . FileId = dic [ "FileId" ] . ToString ( ) ;
master . Upk = Convert . ToInt32 ( dic [ "Upk" ] . ToString ( ) ) ;
master . FileType = Convert . ToInt32 ( dic [ "FileType" ] . ToString ( ) ) ;
master . FilePath = dic [ "FilePath" ] . ToString ( ) ;
master . CreatorUser = dic [ "CreatorUser" ] . ToString ( ) ;
master . DownloadNum = Convert . ToInt32 ( dic [ "DownloadNum" ] . ToString ( ) ) ;
master . FileLevel = Convert . ToInt32 ( dic [ "FileLevel" ] . ToString ( ) ) ;
master . FileCategory = dic [ "FileCategory" ] . ToString ( ) ;
SliceUploadData . Add ( master ) ;
request . code = "0" ;
request . msg = "已接收切片" ;
}
catch ( Exception ex )
{
request . code = "1" ;
logger . InfoFormat ( ex . ToString ( ) ) ;
}
return request ;
}
/// <summary>
/// 拼接上传切片文件
/// </summary>
[HttpPost, Route("SliceUploadOrver")]
public RequestEntity SliceUploadOrver ( SliceUploadModel master )
{
RequestEntity request = new RequestEntity ( ) ; //定义返回集合
MinioBusinessLogic bb = new MinioBusinessLogic ( ) ; //定义业务逻辑方法
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "db" ) )
{
try
{
#region 定义minio
MinioClient minio = bb . ConnectMinIO ( ) ; //调用连接minio数据库方法
string BuckName = bb . GetBuckName ( ) ; //调用取桶名称方法
var bucket = minio . BucketExistsAsync ( BuckName ) ; //判断桶是否存在
if ( bucket . Result = = false ) //不存在就创建
{
minio . MakeBucketAsync ( BuckName ) ; //创建桶
}
# endregion
string base64 = "" ;
string Operate = "" ; //操作
MinioStoragePath date = new MinioStoragePath ( ) ;
var file = SliceUploadData . Where ( a = > a . FileId = = master . FileId ) . OrderBy ( a = > a . FileNum ) . ToList ( ) ; //查询已经传完的唯一标识数据并以切片顺序排序
if ( file . Count ! = 0 ) //如果查询数据不为0
{
if ( file . Count . ToString ( ) = = master . SliceQuantity ) //如果已经缓存的文件条数与总条数相等
{
List < byte > combinedList = new List < byte > ( ) ;
foreach ( var item in file )
{
combinedList . AddRange ( item . FileBase64 ) ;
}
var contentType = file [ 0 ] . FileCategory ; //获取文件类型
//byte[] bt = Convert.FromBase64String(base64);//获取html base64
byte [ ] bt = combinedList . ToArray ( ) ;
var uploadTask = minio . PutObjectAsync ( BuckName , "/" + file [ 0 ] . FileName , new MemoryStream ( bt ) , bt . Length , contentType ) ; //上传文件到minio数据库
uploadTask . Wait ( ) ;
if ( uploadTask . Status = = TaskStatus . RanToCompletion & & ! uploadTask . IsFaulted ) //判断是否上传成功
{
#region 文件文件夹路径表字段赋值
date . Pk = Convert . ToInt32 ( db . QueryScalar ( "select S_MINIO_STORAGE_PATH.nextval from dual" ) ) ; ///拿到表自增长的值赋值给自增长主键pk
date . Upk = file [ 0 ] . Upk ; //子文件夹的父级id( 如果是根目录默认父级id为0)
date . FileName = file [ 0 ] . FileName ; //文件名称
date . FileType = file [ 0 ] . FileType ; //文件类型
date . FilePath = file [ 0 ] . FilePath ; //文件路径
date . CreatorUser = file [ 0 ] . CreatorUser ; //创建者
date . CreatorTime = DateTime . Now ; //创建时间
date . ClearFlag = "0" ; //删除状态为未删除
date . FileLevel = file [ 0 ] . FileLevel + 1 ; //层级
date . DocumentType = file [ 0 ] . DocumentType ; //文件种类
# endregion
db . Insert < MinioStoragePath > ( date ) ;
request . msg = "文件上传成功!" ;
request . code = "0" ;
#region 记录日志
Operate = " 上传了一个新的文档," ;
bb . MinioOperationLog ( file [ 0 ] . CreatorUser , file [ 0 ] . FileName , Operate , date . Pk . ToString ( ) , date . Upk . ToString ( ) , db ) ;
# endregion
SliceUploadData . RemoveAll ( a = > a . FileId = = master . FileId ) ; //清除已经上传文件的缓存
}
else
{
request . msg = "文件上传失败,请检查文件是否正确!" ;
request . code = "1" ;
}
}
else
{
SliceUploadData . RemoveAll ( a = > a . FileId = = master . FileId ) ; //清除已经上传文件的缓存
request . msg = "文件数量上传失败,请重试!" ;
request . code = "1" ;
}
}
}
catch ( Exception ex )
{
request . code = "1" ;
logger . InfoFormat ( ex . ToString ( ) ) ;
}
}
return request ;
}
# endregion
#region 同步关联
[HttpPost, Route("UdpDlsync")]
public RequestEntity UdpDlsync ( string master )
{
RequestEntity request = new RequestEntity ( ) ; //定义返回集合
List < MinioStoragePath > data = new List < MinioStoragePath > ( ) ; //定义输出下载的list
List < MinioStoragePath > newdata = new List < MinioStoragePath > ( ) ; //定义输出下载的list
List < Dlsync > dldata = new List < Dlsync > ( ) ; //定义输出下载的list
List < MinioStoragePath > datan = new List < MinioStoragePath > ( ) ;
List < MinioFileassociation > mfcion = new List < MinioFileassociation > ( ) ;
DataTable dt = new DataTable ( ) ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "db" ) )
{
using ( IDbContext filedb = ObjectContainer . GetObject < IDbContext > ( "filedb" ) )
{
string sql = "" ;
data = db . Query < MinioStoragePath > ( "select * from minio_storage_path where file_type='1' and upk='" + master + "' order by CREATOR_TIME asc" ) . ToList ( ) ;
foreach ( var item in data )
{
//sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName);
sql = string . Format ( "select g.title,g.username,g.createdate from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') and p.version='{1}' and ROWNUM = 1 order by p.version desc)o where t.classpk = o.fileid)) " , item . FileName , item . Version ) ;
dt = filedb . Query ( sql ) ;
if ( dt . Rows . Count > 0 )
{
for ( int i = 0 ; i < dt . Rows . Count ; i + + )
{
MinioFileassociation dc = new MinioFileassociation ( ) ;
datan = db . Query < MinioStoragePath > ( "select * from minio_storage_path where file_name='" + dt . Rows [ i ] [ "title" ] . ToString ( ) + "'" ) . ToList ( ) ;
if ( datan . Count ! = 0 )
{
if ( item . DocumentType = = "1" )
{
if ( datan [ 0 ] . DocumentType = = "2" | | datan [ 0 ] . DocumentType = = "4" )
{
dc . Pk = Convert . ToInt32 ( db . QueryScalar ( "select S_MINIO_FILEASSOCIATION.nextval from dual" ) ) ;
dc . FilePk = item . Pk ;
dc . FileName = item . FileName ;
dc . CreatorUser = dt . Rows [ i ] [ "username" ] . ToString ( ) . Replace ( " " , "" ) ;
dc . CreatorTime = dt . Rows [ i ] [ "createdate" ] . ToString ( ) . ToDateTime ( ) ;
dc . FilePath = item . FilePath ;
dc . FileLevel = item . FileLevel ;
dc . DownloadNum = item . DownloadNum ;
dc . FileType = item . FileType ;
dc . Version = item . Version ;
dc . AssociationFilePk = datan [ 0 ] . Pk ;
dc . AssociationFileName = datan [ 0 ] . FileName ;
dc . AssorciationFilePath = datan [ 0 ] . FilePath ;
dc . AssociationFileType = datan [ 0 ] . FileType ;
dc . AssociationFileLevel = datan [ 0 ] . FileLevel ;
dc . AssociationDownloadNum = datan [ 0 ] . DownloadNum ;
dc . AssociationVersion = datan [ 0 ] . Version ;
mfcion . Add ( dc ) ;
}
}
if ( item . DocumentType = = "2" )
{
if ( datan [ 0 ] . DocumentType = = "3" | | datan [ 0 ] . DocumentType = = "4" )
{
dc . Pk = Convert . ToInt32 ( db . QueryScalar ( "select S_MINIO_FILEASSOCIATION.nextval from dual" ) ) ;
dc . FilePk = item . Pk ;
dc . FileName = item . FileName ;
dc . CreatorUser = dt . Rows [ i ] [ "username" ] . ToString ( ) . Replace ( " " , "" ) ;
dc . CreatorTime = dt . Rows [ i ] [ "createdate" ] . ToString ( ) . ToDateTime ( ) ;
dc . FilePath = item . FilePath ;
dc . FileLevel = item . FileLevel ;
dc . DownloadNum = item . DownloadNum ;
dc . FileType = item . FileType ;
dc . Version = item . Version ;
dc . AssociationFilePk = datan [ 0 ] . Pk ;
dc . AssociationFileName = datan [ 0 ] . FileName ;
dc . AssorciationFilePath = datan [ 0 ] . FilePath ;
dc . AssociationFileType = datan [ 0 ] . FileType ;
dc . AssociationFileLevel = datan [ 0 ] . FileLevel ;
dc . AssociationDownloadNum = datan [ 0 ] . DownloadNum ;
dc . AssociationVersion = datan [ 0 ] . Version ;
mfcion . Add ( dc ) ;
}
}
if ( item . DocumentType = = "3" )
{
if ( datan [ 0 ] . DocumentType = = "4" )
{
dc . Pk = Convert . ToInt32 ( db . QueryScalar ( "select S_MINIO_FILEASSOCIATION.nextval from dual" ) ) ;
dc . FilePk = item . Pk ;
dc . FileName = item . FileName ;
dc . CreatorUser = dt . Rows [ i ] [ "username" ] . ToString ( ) . Replace ( " " , "" ) ;
dc . CreatorTime = dt . Rows [ i ] [ "createdate" ] . ToString ( ) . ToDateTime ( ) ;
dc . FilePath = item . FilePath ;
dc . FileLevel = item . FileLevel ;
dc . DownloadNum = item . DownloadNum ;
dc . FileType = item . FileType ;
dc . Version = item . Version ;
dc . AssociationFilePk = datan [ 0 ] . Pk ;
dc . AssociationFileName = datan [ 0 ] . FileName ;
dc . AssorciationFilePath = datan [ 0 ] . FilePath ;
dc . AssociationFileType = datan [ 0 ] . FileType ;
dc . AssociationFileLevel = datan [ 0 ] . FileLevel ;
dc . AssociationDownloadNum = datan [ 0 ] . DownloadNum ;
dc . AssociationVersion = datan [ 0 ] . Version ;
mfcion . Add ( dc ) ;
}
}
}
}
}
}
db . Insert < MinioFileassociation > ( mfcion ) ;
}
}
return request ;
}
# endregion
# region
[HttpPost, Route("UdpDlsyncFile")]
public RequestEntity UdpDlsyncFile ( string master , string parentfolderid , string DocumentType )
{
RequestEntity request = new RequestEntity ( ) ; //定义返回集合
List < MinioStoragePath > data = new List < MinioStoragePath > ( ) ; //定义输出下载的list
List < MinioStoragePath > newdata = new List < MinioStoragePath > ( ) ; //定义输出下载的list
List < Dlsync > dldata = new List < Dlsync > ( ) ; //定义输出下载的list
List < MinioStoragePath > datan = new List < MinioStoragePath > ( ) ;
List < MinioFileassociation > mfcion = new List < MinioFileassociation > ( ) ;
DataTable dt = new DataTable ( ) ;
DataTable dta = new DataTable ( ) ;
string ctime = "" ;
string mtime = "" ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "db" ) )
{
using ( IDbContext filedb = ObjectContainer . GetObject < IDbContext > ( "filedb" ) )
{
string sql = "" ;
data = db . Query < MinioStoragePath > ( "select * from minio_storage_path where file_type='1' and upk='" + master + "' order by CREATOR_TIME desc" ) . ToList ( ) ;
//foreach (var item in data)
//{
//sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName);
sql = string . Format ( "select * from DLSYNC where parentfolderid='{0}' and (event='update' or event='add') " , parentfolderid , data [ 0 ] . CreatorTime ) ;
dt = filedb . Query ( sql ) ;
string sel = string . Format ( "select * from minio_storage_path where pk='{0}'" , master ) ; ;
dta = db . Query ( sel ) ;
if ( dt . Rows . Count > 0 )
{
for ( int i = 0 ; i < dt . Rows . Count ; i + + )
{
ctime = dt . Rows [ i ] [ "CREATEDATE" ] . ToString ( ) ;
mtime = dt . Rows [ i ] [ "MODIFIEDDATE" ] . ToString ( ) ;
MinioStoragePath dc = new MinioStoragePath ( ) ;
datan = db . Query < MinioStoragePath > ( "select * from minio_storage_path where file_name='" + dt . Rows [ i ] [ "NAME" ] . ToString ( ) + "'" ) . ToList ( ) ;
if ( datan . Count < 1 )
{
dc . Pk = Convert . ToInt32 ( db . QueryScalar ( "select s_minio_storage_path.nextval from dual" ) ) ;
dc . Upk = Convert . ToInt32 ( master ) ;
dc . FileName = dt . Rows [ i ] [ "NAME" ] . ToString ( ) ;
dc . FileType = 1 ;
dc . FilePath = dta . Rows [ 0 ] [ "FILE_PATH" ] . ToString ( ) + "/" + dt . Rows [ i ] [ "NAME" ] . ToString ( ) ;
dc . CreatorUser = "sunliang" ;
dc . CreatorTime = ctime . ToDateTime ( ) ;
dc . DownloadNum = 0 ;
dc . FileLevel = Convert . ToInt32 ( dta . Rows [ 0 ] [ "FILE_LEVEL" ] . ToString ( ) ) + 1 ;
dc . ModifyTime = mtime . ToDateTime ( ) ;
dc . ClearFlag = "0" ;
dc . DocumentType = DocumentType ;
dc . Version = dt . Rows [ i ] [ "VERSION" ] . ToString ( ) ;
newdata . Add ( dc ) ;
}
}
}
//}
db . Insert < MinioStoragePath > ( newdata ) ;
}
}
return request ;
}
# endregion
}
}