public async Task Edit(Guid id, Lecture lectureEdited, LectureEditModel lectureModel) { _repository.EditLecture(lectureEdited); //var searchedPath = Path.Combine(_env.WebRootPath, "Lectures/" + id); //if (Directory.Exists(searchedPath) && oldTitle.Equals(lectureModel.Title) == false) //{ // Directory.Delete(searchedPath, true); //} if (lectureModel.File != null) { foreach (var file in lectureModel.File) { if (file.Length > 0) { var path = Path.Combine(_env.WebRootPath, "Lectures/" + id); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } // string extension = lectureModel.Title + "." + Path.GetExtension(file.FileName).Substring(1); using (var fileStream = new FileStream(Path.Combine(path, file.FileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } } } } }
public async Task <IActionResult> Edit(Guid id, [Bind("Title,Description,File")] LectureEditModel lectureModel) { var lectureEdited = _lectureService.GetLectureById(id); if (lectureEdited == null) { return(NotFound()); } if (!ModelState.IsValid) { return(View(lectureModel)); } lectureEdited.Title = lectureModel.Title; lectureEdited.Description = lectureModel.Description; try { await _lectureService.Edit(id, lectureEdited, lectureModel); } catch (DbUpdateConcurrencyException) { if (!LectureExists(_lectureService.GetLectureById(id).Id)) { return(NotFound()); } throw; } return(RedirectToAction(nameof(Index))); }
public async Task EditLecture_WhenCalled_ExpectToEditALecture() { // Arrange var sut = CreateSut(); var idValue = new Guid("e7c51c3a-3f56-40a7-832c-96246fdfe986"); var mockFile = new Mock <IFormFile>(); mockFile.Setup(_ => _.FileName).Returns("TestFile.txt"); var lectureTobeEdited = new LectureEditModel { Title = "NewTitle", Description = "DescriptionA", File = new List <IFormFile> { mockFile.Object } }; Mock.Lectures[0].Description = lectureTobeEdited.Description; Mock.Lectures[0].Title = lectureTobeEdited.Title; // Act await sut.Edit(idValue, Mock.Lectures[0], lectureTobeEdited); // Assert Assert.AreEqual(Mock.Lectures[0].Description, "DescriptionA"); }
public IActionResult Edit(Guid?id) { if (id == null) { return(NotFound()); } var lecture = _lectureService.GetLectureById(id.Value); if (lecture == null) { return(NotFound()); } var lectureEditModel = new LectureEditModel( lecture.Title, lecture.Description ); return(View(lectureEditModel)); }