Example #1
0
        private MultipartFormDataContent CreateUploadFilesContent(UploadFilesRequest request)
        {
            MultipartFormDataContent form = new MultipartFormDataContent();

            if (request == null || request.Files == null || !request.Files.Any())
            {
                return(form);
            }

            form.Add(new StringContent(request.OrganizationId), nameof(UploadFilesRequest.OrganizationId));
            form.Add(new StringContent(request.ApplicationId), nameof(UploadFilesRequest.ApplicationId));
            form.Add(new StringContent(request.RequestLogId), nameof(UploadFilesRequest.RequestLogId));
            form.Add(new StringContent(request.RequestLogClientId), nameof(UploadFilesRequest.RequestLogClientId));
            form.Add(new StringContent(request.HttpStatusCode.ToString()), nameof(UploadFilesRequest.HttpStatusCode));

            foreach (var file in request.Files)
            {
                if (!System.IO.File.Exists(file.FilePath))
                {
                    continue;
                }

                form.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(file.FilePath)), nameof(UploadFilesRequest.Files), file.FullFileName);
            }

            return(form);
        }
Example #2
0
        private void UploadRequestLogFiles(string requestLogId, CreateRequestLogRequest request, IList <LoggerFile> files)
        {
            if (files == null || !files.Any())
            {
                return;
            }

            if (string.IsNullOrEmpty(requestLogId))
            {
                return;
            }

            IList <File> requestFiles = files.Select(p => new File
            {
                FileName     = p.FileName,
                Extension    = p.Extension,
                FullFileName = p.FullFileName,
                FilePath     = p.FilePath
            }).ToList();

            UploadFilesRequest uploadRequest = new UploadFilesRequest
            {
                OrganizationId     = request.OrganizationId,
                ApplicationId      = request.ApplicationId,
                RequestLogId       = requestLogId,
                RequestLogClientId = request.ClientId,
                HttpStatusCode     = request.WebRequest?.Response?.HttpStatusCode ?? 500,
                Files = requestFiles
            };

            _kissLogApi.UploadRequestLogFiles(uploadRequest);
        }
Example #3
0
        public ApiResult <bool> UploadRequestLogFiles(UploadFilesRequest request)
        {
            MultipartFormDataContent content = CreateUploadFilesContent(request);

            string url = "api/logs/v1.0/uploadRequestLogFiles";

            return(_apiClient.Post <bool>(url, content));
        }
Example #4
0
        public async Task <ApiResult <bool> > UploadRequestLogFilesAsync(UploadFilesRequest request)
        {
            MultipartFormDataContent content = CreateUploadFilesContent(request);

            string url = "api/logs/v1.0/uploadRequestLogFiles";

            return(await _apiClient.PostAsync <bool>(url, content).ConfigureAwait(false));
        }
Example #5
0
        /// <summary>
        ///     Uploads a single file
        ///     Does not replace already existing files, instead the file will be renamed (e.g. test(1).txt if test.txt already
        ///     exists)
        ///     Use UpdateSingle to replace the contents of an already existing file
        /// </summary>
        /// <param name="libraryId">The id of the library the file should be uploaded to</param>
        /// <param name="targetDirectory">The directory the file should be uploaded to</param>
        /// <param name="targetFilename">The name of the file</param>
        /// <param name="fileContent">The new content of the file</param>
        /// <param name="progressCallback">Optional progress callback (will report percentage of upload)</param>
        public async Task <bool> UploadSingle(string libraryId, string targetDirectory, string targetFilename, Stream fileContent, Action <float> progressCallback = null)
        {
            // to upload files we need to get an upload link first
            var req        = new GetUploadLinkRequest(AuthToken, libraryId);
            var uploadLink = await _webConnection.SendRequestAsync(ServerUri, req);

            var uploadRequest = new UploadFilesRequest(AuthToken, uploadLink, targetDirectory, targetFilename, fileContent, progressCallback);

            return(await _webConnection.SendRequestAsync(ServerUri, uploadRequest));
        }
Example #6
0
        public async Task <IActionResult> AddAdditionalThesisFile(Guid id, [FromForm] UploadFilesRequest request)
        {
            if (!_thesisService.ThesisExists(id))
            {
                return(new NotFoundObjectResult("Nie znaleziono pracy dla podanego id."));
            }

            var isPromoter = _thesisService.IsPromoter(id);

            if (!isPromoter && !_userContext.CurrentUser.IsAdmin)
            {
                return(new ForbidResult("Brak uprawnień do dodania plików."));
            }

            await _fileService.SaveAdditionalThesisFiles(id, request.Files);

            return(new OkResult());
        }
Example #7
0
 public ApiResult <bool> UploadRequestLogFiles(UploadFilesRequest request)
 {
     return(_v1Api.UploadRequestLogFiles(request));
 }
Example #8
0
 public async Task <ApiResult <bool> > UploadRequestLogFilesAsync(UploadFilesRequest request)
 {
     return(await _v1Api.UploadRequestLogFilesAsync(request).ConfigureAwait(false));
 }