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