public void FileMinimal_FromDLModelShouldMapToFileMinimal()
        {
            var newFile = new File {
                ID = 1, FileURL = "fileUrl", FileName = "filename", FileDescription = "description", ParsedID = "parsedId", Uploader = new User {
                    ID = 1, UserName = "******"
                }, Pilot = new Pilot {
                    Files = new List <File>(), Script = new Script {
                        ScriptWriter = new User()
                    }
                }, SceneFiles = new List <SceneFile>()
            };
            var result = FileMinimal.FromDLModel(newFile);

            Assert.Equal(result.ID, newFile.ID);
            Assert.Equal(result.FileURL, newFile.FileURL);
            Assert.Equal(result.ParsedID, newFile.ParsedID);
        }
Exemple #2
0
        public IActionResult Create([FromForm] FileCreate apiModel)
        {
            BlobContainerClient containerClient = _blobSC.GetBlobContainerClient($"pilot{apiModel.PilotID}");

            if (!containerClient.Exists())
            {
                containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer);
            }
            BlobClient blobClient = containerClient.GetBlobClient(apiModel.FileName);

            if (blobClient.Exists())
            {
                return(BadRequest(new { error = "File name already taken for this pilot" }));
            }
            blobClient.Upload(apiModel.File.OpenReadStream());
            apiModel.FileURL = blobClient.Uri.AbsoluteUri;
            return(Ok(FileMinimal.FromDLModel(_aviBL.AddFile(apiModel.ToDLModel()))));
        }