예제 #1
0
        public static ArtefactFileResponse GetArtefactFile(string fileId)
        {
            ArtefactFileResponse response = new ArtefactFileResponse();

            // Get and set the response file
            ArtefactFilesResponse retFile = GetArtefactFiles(ArtefactSearchKey.ArtefactNumber, fileId);
            if (retFile.Response.ReturnCode != 200)
            {
                response.Response = retFile.Response;
                return response;
            }

            // Get the byte stream for the file
            ItemResponse retBytes = GetArtefactAttachment(retFile.ArtefactFileList[0]);
            if (retBytes.Response.ReturnCode != 200)
            {
                response.Response = retBytes.Response;
                return response;
            }

            response = ArtefactFileHelper.CreateArtefactFileResponse(retFile.ArtefactFileList);
            response.FileBase64 = Convert.ToBase64String(retBytes.Bytes);
            response.Response.ReturnCode = 200;
            return response;
        }
예제 #2
0
        public ArtefactFileResponse ArtefactFileUpload(ArtefactFile artefactFile)
        {
            // Create listitem, and set metadata
            ItemResponse ret = ArtefactService.SetArtefactFile(artefactFile, AppSettings.ArtefactFileContentType);
            if (ret.Response.ReturnCode != 200)
                return new ArtefactFileResponse(ret.Response);

            artefactFile.Id = ret.Id;

            // Update listitem with unique fileid
            ArtefactFile updateFile = new ArtefactFile();
            updateFile.Id = ret.Id;
            updateFile.ArtefactId = string.Format("{0}-{1}", Guid.NewGuid().ToString(), ret.Id);
            ret = ArtefactService.SetArtefactFile(updateFile);
            if (ret.Response.ReturnCode != 200)
                return new ArtefactFileResponse(ret.Response);;

            // Update listitem with attachment
            Response resp = ArtefactService.SetArtefactAttachment(artefactFile);
            if (resp.ReturnCode != 200)
                return new ArtefactFileResponse(resp);

            // Return created item details
            ArtefactFileResponse response = new ArtefactFileResponse(resp);
            response.Response.ReturnCode = 201;
            response.Id = updateFile.Id;
            response.ArtefactId = updateFile.ArtefactId;
            return response;
        }
예제 #3
0
 public static ArtefactFileResponse CreateArtefactFileResponse(List<ArtefactFile> files)
 {
     ArtefactFileResponse response = new ArtefactFileResponse();
     if (files.Count > 0)
     {
         response.IdNumber = files[0].IdNumber;
         response.Firstname = files[0].Firstname;
         response.Surname = files[0].Surname;
         response.Status = files[0].Status;
         response.FileName = files[0].FileName;
         response.CreatedByDA = files[0].CreatedByDA;
         response.ModifiedByDA = files[0].ModifiedByDA;
     }
     return response;
 }