public async Task <IEnumerable <UploadData> > List(UploadQuery query) { if (query.Page < 1) { query.Page = 1; } if (query.PageSize < 1) { query.PageSize = 1; } if (query.PageSize > 20) { query.PageSize = 20; } return(await _dbContext.UploadResults .Where(t => query.Status == null || query.Status == t.Status) .OrderBy(t => t.SubmissionTime) .Select(uploadResult => new UploadData { Status = uploadResult.Status, FailureCount = uploadResult.ReadingsFailed, SuccessCount = uploadResult.ReadingsStored, UploadId = uploadResult.UploadResultId }) .Skip((query.Page - 1) * query.PageSize) .Take(query.PageSize) .ToListAsync()); }
/// <summary> /// Uploads a file with the data specified in query parameter /// </summary> /// <param name="query">Upload query information to upload a file</param> /// <returns>Task representing the upload</returns> public async Task <SaveMediaResponse> UploadFileAsync(UploadQuery query) { var uploadRequest = await RequestUploadInformationAsync(new RequestUploadQuery { Filename = query.Filepath }).ConfigureAwait(false); uint chunkNumber = 0; using (var file = File.Open(query.Filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete)) { int bytesRead = 0; var buffer = new byte[CHUNK_SIZE]; long numberOfChunks = (file.Length + CHUNK_SIZE - 1) / CHUNK_SIZE; while ((bytesRead = file.Read(buffer, 0, buffer.Length)) > 0) { ++chunkNumber; await UploadPartAsync(Path.GetFileName(query.Filepath), buffer, bytesRead, chunkNumber, uploadRequest, (uint)numberOfChunks).ConfigureAwait(false); } } var finalizeResponse = await FinalizeUploadAsync(uploadRequest, chunkNumber).ConfigureAwait(false); if (await HasFinishedSuccessfullyAsync(finalizeResponse).ConfigureAwait(false)) { return(await SaveMediaAsync(new SaveMediaQuery { Filename = query.Filepath, BrandId = query.BrandId, ImportId = finalizeResponse.ImportId, MediaId = query.MediaId, Tags = query.Tags }).ConfigureAwait(false)); } else { throw new BynderUploadException("Converter did not finished. Upload not completed"); } }
/// <summary> /// Check <see cref="IAssetService"/> for more information /// </summary> /// <param name="query">Check <see cref="IAssetService"/> for more information</param> /// <returns>Check <see cref="IAssetService"/> for more information</returns> public async Task UploadFileAsync(UploadQuery query) { await _uploader.UploadFileAsync(query).ConfigureAwait(false); }
/// <summary> /// Check <see cref="IAssetBankManager"/> for more information /// </summary> /// <param name="query">Check <see cref="IAssetBankManager"/> for more information</param> /// <returns>Check <see cref="IAssetBankManager"/> for more information</returns> public Task UploadFileAsync(UploadQuery query) { return(_uploader.UploadFile(query)); }
public async Task <IActionResult> Upload([FromQuery] UploadQuery query) { return(Ok(await appService.InsertBulkAsync(query.GetStreamReader()))); }
/// <summary> /// Check <see cref="IAssetService"/> for more information /// </summary> /// <param name="query">Check <see cref="IAssetService"/> for more information</param> /// <returns>Check <see cref="IAssetService"/> for more information</returns> public async Task <SaveMediaResponse> UploadFileAsync(UploadQuery query) { return(await _uploader.UploadFileAsync(query).ConfigureAwait(false)); }