Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }