/// <summary> /// 写入文件 /// </summary> /// <param name="fileItem"></param> /// <param name="proxy"></param> /// <returns></returns> public static WriteFileResultItemData WriteFile(WriteFileItemData fileItem, IRemoteFileStorage proxy) { WriteFileResultItemData result = null; ManagerHelper.CheckNullReference(fileItem, "fileItem"); WriteFileParameter param = new WriteFileParameter(); param.InputData.Add(fileItem); WriteFileResult itemResult = WriteFile(param, proxy); if (itemResult.RecordCount > 0) { result = itemResult.ExecuteResult[0]; } return(result); }
protected WriteFileResultItemData WriteFileItem(WriteFileItemData itemParam, Guid userID, DbTransaction trans) { WriteFileResultItemData item = new WriteFileResultItemData(); RecordLockedManager.ServiceProxy.SetDataProvider(RecordLockedDataProvider); RecordLockedManager.UpdateLockInfo(itemParam.LockID, DateTime.UtcNow.Add(RecordLocked.DefaultExpireTimeSpan)); string extendsionName = string.Empty; if (!string.IsNullOrEmpty(itemParam.ClientFileName)) { extendsionName = Path.GetExtension(itemParam.ClientFileName); } long length = FileStorageManager.WriteFile(this.DataProvider, itemParam.PhysicalFileID, extendsionName, itemParam.Position, itemParam.WriteData); this.DataProvider.UpdatePhysicalFileLength(itemParam.PhysicalFileID, length, DateTime.UtcNow, userID, trans); return(item); }
public WriteFileResult WriteFile(WriteFileParameter writeFileParam) { WriteFileResult result = new WriteFileResult(); try { if (writeFileParam != null) { WriteFileResultItemDataCollection items = result.ExecuteResult; foreach (WriteFileItemData itemParam in writeFileParam.InputData) { WriteFileResultItemData item = this.WriteFileItem(itemParam, writeFileParam.CurrentUserID, null); items.Add(item); } } } catch (Exception e) { Utils.BuilderExecuteResult(result, e); } return(result); }