public async Task <IActionResult> DownloadAttachment(int id) { var comment = await _commentRepository.FindByIdAsync(id); // return File(comment.File, comment.FileMimeType, comment.FileURL); try { if (comment?.FileMimeType != null) { ContentDisposition cd = new ContentDisposition { FileName = comment.FileURL, Inline = true }; Response.Headers["Content-Disposition"] = cd.ToString(); return(File(comment.File, comment.FileMimeType)); } else { return(File(comment?.File, MediaTypeNames.Application.Octet, comment?.FileURL)); } } catch (InvalidOperationException) { return(File(comment?.File, MediaTypeNames.Application.Octet, comment?.FileURL)); } }
public async Task <IActionResult> BulkEdit(BulkAction bulkAction, PagerParameters pagerParameters) { if (!await _authorizationService.AuthorizeAsync(User, Intelli.Comments.Permissions.ManageComments)) { return(Unauthorized()); } var viewModel = new CommentsIndexViewModel { Comments = new List <CommentRecord>(), Options = new SearchIndexOptions() }; if (!(await TryUpdateModelAsync(viewModel))) { return(View(viewModel)); } //todo create viewmodel with ischecked property var checkedEntries = viewModel.Comments.Take(1); // viewModel.Comments.Where(t => t.IsChecked); switch (bulkAction) { case BulkAction.None: break; case BulkAction.Delete: foreach (var entry in checkedEntries) { var commentRecord = await _commentsRepository.FindByIdAsync(entry.Id); if (commentRecord != null) { await _commentsRepository.DeleteAsync(commentRecord); _notifier.Success(H["Comment {0} has been deleted.", commentRecord.Content]); } } break; default: throw new ArgumentOutOfRangeException(); } return(RedirectToAction("Index", new { page = pagerParameters.Page, pageSize = pagerParameters.PageSize })); }