public static CreateDocumentOKResponse CreateDocument(ServiceHelper serviceHelper, DocumentInfo documentInfo, CaseInfo caseInfo, ProjectInfo projectInfo) { Byte[] bytes = File.ReadAllBytes(@$ "{documentInfo.File_Path}"); String base64file = Convert.ToBase64String(bytes); CreateDocumentArgsParameterFilesItem file = new CreateDocumentArgsParameterFilesItem() { Title = documentInfo.File_Title, Format = documentInfo.File_Format, Base64Data = base64file }; List <CreateDocumentArgsParameterFilesItem> files = new List <CreateDocumentArgsParameterFilesItem>(); files.Add(file); CreateCaseWithProjectResponse createCaseWithProjectResponse = null; if (documentInfo.CreateCase) { createCaseWithProjectResponse = CreateCase(serviceHelper, caseInfo, projectInfo); documentInfo.CaseNumber = createCaseWithProjectResponse.createCaseOKResponse.CaseNumber; } CreateDocumentArgs createDocumentArgs = new CreateDocumentArgs(new CreateDocumentArgsParameter() { CaseNumber = documentInfo.CaseNumber, Title = documentInfo.Title, UnofficialTitle = documentInfo.UnofficialTitle, DocumentDate = documentInfo.DocumentDate, JournalDate = documentInfo.JournalDate, DispatchedDate = documentInfo.DispatchedDate, Category = documentInfo.Category, Status = documentInfo.Status, Files = files }); CreateDocumentOKResponse createDocumentOKResponse = serviceHelper.DocumentService.CreateDocument(createDocumentArgs); CreateDocumentWithCaseResponse createDocumentWithFileStreamResponse = new CreateDocumentWithCaseResponse() { createDocumentOKResponse = createDocumentOKResponse, createCaseWithProjectResponse = createCaseWithProjectResponse ?? new CreateCaseWithProjectResponse() }; return(createDocumentOKResponse); }
public static CreateDocumentWithFileUploadResponse CreateDocumentWithFileUpload(ServiceHelper serviceHelper, DocumentInfo documentInfo, CaseInfo caseInfo, ProjectInfo projectInfo) { Byte[] bytes = File.ReadAllBytes(@$ "{documentInfo.File_Path}"); UploadArgs uploadArgsParameter = new UploadArgs(new UploadArgsParameter() { FileData = bytes.Select(b => b as object).ToList() }); if (String.IsNullOrWhiteSpace(documentInfo.File_Format) == false) { uploadArgsParameter.Parameter.FileFormat = documentInfo.File_Format; } if (String.IsNullOrWhiteSpace(documentInfo.File_Title) == false) { uploadArgsParameter.Parameter.FileName = documentInfo.File_Title; } if (String.IsNullOrWhiteSpace(documentInfo.AdContextUser) == false) { uploadArgsParameter.Parameter.ADContextUser = documentInfo.AdContextUser; } if (String.IsNullOrWhiteSpace(documentInfo.User) == false) { uploadArgsParameter.Parameter.User = documentInfo.User; } UploadOKResponse uploadOKResponse = serviceHelper.FileService.Upload(uploadArgsParameter); CreateDocumentArgsParameterFilesItem file = new CreateDocumentArgsParameterFilesItem() { Title = documentInfo.File_Title, Format = documentInfo.File_Format, UploadedFileReference = uploadOKResponse.FileReference }; List <CreateDocumentArgsParameterFilesItem> files = new List <CreateDocumentArgsParameterFilesItem>(); files.Add(file); CreateDocumentArgsParameterFilesFromTemplateItem template = null; if (String.IsNullOrWhiteSpace(documentInfo.TemplateId) == false && String.IsNullOrWhiteSpace(documentInfo.TemplateTitle) == false) { template = new CreateDocumentArgsParameterFilesFromTemplateItem() { TemplateId = documentInfo.TemplateId, Title = documentInfo.TemplateTitle }; } CreateCaseWithProjectResponse createCaseWithProjectResponse = null; if (documentInfo.CreateCase) { createCaseWithProjectResponse = CreateCase(serviceHelper, caseInfo, projectInfo); documentInfo.CaseNumber = createCaseWithProjectResponse.createCaseOKResponse.CaseNumber; } CreateDocumentArgs createDocumentArgs = new CreateDocumentArgs(new CreateDocumentArgsParameter() { CaseNumber = documentInfo.CaseNumber, Title = documentInfo.Title, UnofficialTitle = documentInfo.UnofficialTitle, DocumentDate = documentInfo.DocumentDate, JournalDate = documentInfo.JournalDate, DispatchedDate = documentInfo.DispatchedDate, Category = documentInfo.Category, Status = documentInfo.Status, Files = files }); if (template != null) { createDocumentArgs.Parameter.FilesFromTemplate = new[] { template }; } CreateDocumentOKResponse createDocumentOKResponse = serviceHelper.DocumentService.CreateDocument(createDocumentArgs); CreateDocumentWithFileUploadResponse createDocumentWithFileStreamResponse = new CreateDocumentWithFileUploadResponse() { uploadOKResponse = uploadOKResponse, createDocumentOKResponse = createDocumentOKResponse, createCaseWithProjectResponse = createCaseWithProjectResponse ?? new CreateCaseWithProjectResponse() }; return(createDocumentWithFileStreamResponse); }