//发送者上传离线文件完成 void FileReceivingEvents_FileTransCompleted(ESPlus.FileTransceiver.TransferingProject project) { string accepterID = Comment4OfflineFile.ParseUserID(project.Comment); if (accepterID == null) { return; } OfflineFileItem item = new OfflineFileItem(); item.AccepterID = accepterID; item.FileLength = project.TotalSize; item.FileName = project.ProjectName; item.SenderID = project.SenderID; item.RelayFilePath = project.LocalSavePath; if (this.rapidServerEngine.UserManager.IsUserOnLine(accepterID)) //如果接收者在线,则直接转发离线文件 { string newProjectID = null; this.rapidServerEngine.FileController.BeginSendFile(item.AccepterID, item.RelayFilePath, Comment4OfflineFile.BuildComment(item.SenderID), out newProjectID); } else { this.globalCache.StoreOfflineFileItem(item); } }
/// <summary> /// 将一个离线文件条目保存到数据库中。 /// </summary> public void StoreOfflineFileItem(OfflineFileItem item) { if (!this.offlineFileTable.Contains(item.AccepterID)) { this.offlineFileTable.Add(item.AccepterID, new List <OfflineFileItem>()); } this.offlineFileTable.Get(item.AccepterID).Add(item); }
/// <summary> /// 将一个离线文件条目保存到数据库中。 /// </summary> public void StoreOfflineFileItem(OfflineFileItem item) { if (!this.offlineFileTable.Contains(item.AccepterID)) { this.offlineFileTable.Add(item.AccepterID, new List<OfflineFileItem>()); } this.offlineFileTable.Get(item.AccepterID).Add(item); }
//发送者上传离线文件完成 void FileReceivingEvents_FileTransCompleted(ESPlus.FileTransceiver.TransferingProject project) { string accepterID = Comment4OfflineFile.ParseUserID(project.Comment); if (accepterID == null) { return; } OfflineFileItem item = new OfflineFileItem(); item.AccepterID = accepterID; item.FileLength = project.TotalSize; item.FileName = project.ProjectName; item.SenderID = project.SenderID; item.RelayFilePath = project.LocalSavePath; if (this.rapidServerEngine.UserManager.IsUserOnLine(accepterID)) //如果接收者在线,则直接转发离线文件 { string newProjectID = null; this.rapidServerEngine.FileController.BeginSendFile(item.AccepterID, item.RelayFilePath, Comment4OfflineFile.BuildComment(item.SenderID), out newProjectID); } else { this.globalCache.StoreOfflineFileItem(item); } }