Exemplo n.º 1
0
        //上传文件并保存流
        private void UploadFileAndSaveFlow(AuditStatus status, ArchiveWorkflow flow)
        {
            var file = GetNextUploadFile(flow);

            if (file != null)
            {
                BusyIndicator1.IsBusy      = true;
                BusyIndicator1.BusyContent = string.Format("正在{0}: {1}",
                                                           file.DocumentInfo.FileType == DocumentType.Folder ? "创建文件夹" : "上传文件",
                                                           file.DocumentInfo.FileName);
                if (file.DocumentInfo.Content == null && !string.IsNullOrEmpty(file.DocumentInfo.FilePath))
                {
                    using (var stream = new FileStream(file.DocumentInfo.FilePath, FileMode.Open))
                    {
                        int fileLenght = (int)stream.Length;
                        file.DocumentInfo.Content = new byte[fileLenght];
                        stream.Read(file.DocumentInfo.Content, 0, fileLenght);
                        file.DocumentInfo.FilePath = string.Empty;
                    }
                }
                WorkflowFileInfo file1 = file;
                docContext.UploadFile(file.DocumentInfo, obj =>
                {
                    if (Utility.Utility.CheckInvokeOperation(obj))
                    {
                        if (obj.Value != null)
                        {
                            file1.DocumentId            = obj.Value.Identity;
                            file1.DocumentInfo.Identity = obj.Value.Identity;
                        }
                        file1.DocumentInfo = obj.Value;
                        UploadFileAndSaveFlow(status, flow);
                    }
                }, null);
            }
            else
            {
                BusyIndicator1.IsBusy = false;
                DoSaveArchiveWorkflow(status, flow);
            }
        }
 private void OnSaveWrokflowButtonClick(object sender, RoutedEventArgs e)
 {
     if (ValidateWorkflowInfo())
     {
         var flow = LayoutRoot.DataContext as ArchiveWorkflow;
         foreach (var file in flow.Files)
         {
             if (file.DocumentInfo == null)
             {
                 continue;
             }
             BusyIndicator1.IsBusy      = true;
             BusyIndicator1.BusyContent = string.Format("正在上传: {0}", file.DocumentInfo.FileName);
             WorkflowFileInfo file1 = file;
             docContext.UploadFile(file.DocumentInfo, obj =>
             {
                 BusyIndicator1.IsBusy = false;
                 if (Utility.Utility.CheckInvokeOperation(obj))
                 {
                 }
             }, null);
         }
     }
 }
Exemplo n.º 3
0
 public SaveFileMessage(WorkflowFileInfo workflowFileInfo, object sender, object target, string notification, Action <SaveFileResult> callback)
     : base(sender, target, notification, callback)
 {
     WorkflowFileInfo = workflowFileInfo;
 }
Exemplo n.º 4
0
 public SaveFileMessage(WorkflowFileInfo workflowFileInfo, string notification, Action <SaveFileResult> callback)
     : base(notification, callback)
 {
     WorkflowFileInfo = workflowFileInfo;
 }