Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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)));
        }