public void Setup() { _stubFileDto = new FileDto { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), ItemId = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), Name = "Stub file", Size = 25424, Status = Models.ViewModels.FileStatus.Uploading, Type = "Image/PNG", UploadedBy = "Stub test", UploadedOn = DateTime.Now, UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), }; _stubFiles = new UploadFilesVm { Files = new System.Collections.Generic.List <FileMetadataVm> { new FileMetadataVm { Name = "Stub file metadata", Size = 1000, Type = "Image/PNG" } }, ItemId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a2"), UploadedBy = "Stub tester", UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"), }; _stubStatusUpdate = new UpdateStatusVm { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), Status = FileStatus.Uploaded, }; _stubAttachmentList = new List <AttachmentVm> { new AttachmentVm { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"), Name = "Stub attachment", Size = 100, Status = FileStatus.Failed, UploadedBy = "Stub tester", UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"), UploadedOn = DateTime.Now } }; _mockAttachmentsRepository = new Mock <IAttachmentsRepository>(); _attachmentsController = new AttachmentsController(_mockAttachmentsRepository.Object); }
public async Task <PreparedFileVm> PrepareFileUpload(UploadFilesVm files) { var preparedFiles = new List <FileVm>(); foreach (var file in files.Files) { // create file dto var fileId = Guid.NewGuid(); var fileMetadata = new FileDto { Id = fileId, ItemId = files.ItemId, Name = file.Name, Size = file.Size, Status = FileStatus.Uploading, Type = file.Type, UploadedBy = files.UploadedBy, UploadedOn = DateTime.Now, UploaderId = files.UploaderId }; preparedFiles.Add(new FileVm { Id = fileId, Name = file.Name, Size = file.Size, Type = file.Type }); await _context.Attachments.AddAsync(fileMetadata); } await _context.SaveChangesAsync(); var sas = await _blobStorageService.GetContainerSasUri("sas"); return(new PreparedFileVm { Files = preparedFiles, SasToken = sas }); }
public void Setup() { _stubFileDto = new FileDto { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), ItemId = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), Name = "Stub file", Size = 25424, Status = Models.ViewModels.FileStatus.Uploading, Type = "Image/PNG", UploadedBy = "Stub test", UploadedOn = DateTime.Now, UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), }; _stubFiles = new UploadFilesVm { Files = new System.Collections.Generic.List <FileMetadataVm> { new FileMetadataVm { Name = "Stub file metadata", Size = 1000, Type = "Image/PNG" } }, ItemId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a2"), UploadedBy = "Stub tester", UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"), }; _stubStatusUpdate = new UpdateStatusVm { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), Status = FileStatus.Uploaded, }; _mockBlobStorageService = new Mock <IBlobStorageService>(); _mockLogger = new Mock <ILogger <AttachmentsRepository> >(); _attachmentsRepository = new AttachmentsRepository(GetInMemoryContextWithSeedData(), _mockBlobStorageService.Object, _mockLogger.Object); }
public async Task <IActionResult> PrepareAttachments([FromBody] UploadFilesVm files) { var preparedAttachments = await _attachmentsRepository.PrepareFileUpload(files); return(Ok(preparedAttachments)); }