Exemplo n.º 1
0
        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());
            }
        }