public async Task <IActionResult> Edit(int id, string returnUrl) { var announcement = announcementService.GetAnnouncement(id); if (announcement == null) { return(NotFound()); } var authorizationResult = await authorizationService.AuthorizeAsync(User, announcement, Operations.Edit); if (authorizationResult.Succeeded) { var uploadedFile = new List <UploadedFile>(); foreach (var file in announcement.UploadedFiles) { uploadedFile.Add(new UploadedFile { FileName = file.FileName, FileExtension = file.FileExtension, UploadedFileID = file.UploadedFileID }); } var result = new EditAnnouncementViewData { Id = announcement.AnnouncementID, Content = announcement.Content, UploadedFiles = uploadedFile, SelectedCourseID = announcement.Course?.CourseID, UserCourses = coursesService.GetUserCourses(userManager.GetUserId(HttpContext.User)), ReturnUrl = returnUrl }; return(View(result)); } else { return(Forbid()); } }