public void UpdateFileSet(long id, FSM.FileSet fs,string srcIp) { QS.Queries qs = new QS.Queries(); // 停止中转服务器文件传输 StopTrans(qs.QueryActInterSrv()); // 删除中转服务器上相关文件 //DeleteFiles(fs.ID,qs.QueryActInterSrv()); // 清除服务器上的文件集信息 ShareManDBDataContext context = new ShareManDBDataContext(); try { context.Connection.Open(); context.Transaction = context.Connection.BeginTransaction(); DeleteFileSet(id,context); FSM.FileSet tmp = CreateFileSet(id, fs, srcIp, context); TransFileSet("",srcIp,tmp); } catch (System.Exception e) { context.Transaction.Rollback(); throw e; } }
public void TransFileSet(string srcIp,string dstIp, FSM.FileSet fset) { Trans ts = new Trans(); QS.Queries qs = new QS.Queries(); ts.Url = qs.QueryUrl(dstIp, QS.ServiceType.FileService); Position pos = new Position(); pos.ip = srcIp; ts.Transform(Convert(fset),pos); ts.Start(); }
public void StopTrans(string srvIp) { Trans ts = new Trans(); QS.Queries qs = new QS.Queries(); ts.Url = qs.QueryUrl(srvIp, QS.ServiceType.FileService); // 停止中转服务器上的任务 ts.Stop(); }
public void RemoveBase(long id, ShareManDBDataContext context) { QS.Queries qs = new QS.Queries(); // 停止中转服务器文件传输 StopTrans(qs.QueryActInterSrv()); // 删除中转服务器上相关文件 //DeleteFiles(,qs.QueryActInterSrv()); // 清除服务器上的文件集信息 DeleteFileSet(id,context); // 清楚已经发布的数据 RemovePublish(id, context); // 清除其他相关信息 CleanInfos(id, context); }
public void DeleteFileSet(long id, ShareManDBDataContext context) { FSM.FileSetMan fsm = new ShareMan.FSM.FileSetMan(); QS.Queries qs = new QS.Queries(); var il = from l in context.ItemLink where l.ID == id select l; foreach (ItemLink it in il) { long[] ids = {it.InterLink, it.SrcLink}; var flink = from f in context.FileSetLink where ids.Contains(f.ID) select f; foreach (FileSetLink fl in flink) { fsm.Url = qs.QueryUrl(fl.IP, QS.ServiceType.FileSetMan); // 先清除文件 DeleteFiles(fl.FileSetID, fl.IP); // 在清除数据 fsm.DeleteFileSet(fl.FileSetID); context.FileSetLink.DeleteOnSubmit(fl); } context.ItemLink.DeleteOnSubmit(it); } }
public void DeleteFiles(long id, string srvIp) { Trans ts = new Trans(); QS.Queries qs = new QS.Queries(); ts.Url = qs.QueryUrl(srvIp, QS.ServiceType.FileService); // 停止中转服务器上的任务 ts.Delete(id.ToString()); }