public async Task CreateUpload_WhenCalled_ExpectToCreateAnUpload() { // Arrange var sut = CreateSut(); var mockFile = new Mock <IFormFile>(); mockFile.Setup(_ => _.FileName).Returns("TestFile.txt"); var uploadCreateModel = new UploadsCreateModel { Seminar = "2", Type = "Laboratory", File = mockFile.Object }; var path = Directory.GetCurrentDirectory() + "\\wwwroot\\Uploads\\" + uploadCreateModel.Type + "\\" + uploadCreateModel.Seminar; // Act await sut.CreateUploads("B3", "Test", "Test", uploadCreateModel); // Assert Assert.AreEqual(Directory.Exists(path), true); }
public async Task CreateUploads(string userGroup, string userFirstName, string userLastName, UploadsCreateModel uploadCreateModel) { var file = uploadCreateModel.File; var path = Path.Combine(_env.WebRootPath, "Uploads\\" + uploadCreateModel.Type + "\\" + uploadCreateModel.Seminar); var extensions = new List <string> { ".zip", ".rar", ".7z" }; var types = new List <string> { "Seminar", "Laboratory", "Kata" }; if (!extensions.Contains(Path.GetExtension(file.FileName)) || !types.Contains(uploadCreateModel.Type)) { return; } if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var extension = userFirstName + "" + userLastName + "" + userGroup + "." + Path.GetExtension(file.FileName).Substring(1); using (var fileStream = new FileStream(Path.Combine(path, extension), FileMode.Create)) { await file.CopyToAsync(fileStream); } }
public async Task <IActionResult> Create(string userGroup, string userFirstName, string userLastName, [Bind("Type,Seminar,File")] UploadsCreateModel uploadCreateModel) { await _service.CreateUploads(userGroup, userFirstName, userLastName, uploadCreateModel); return(RedirectToAction(nameof(Index))); }