public override Task <ActionResult> Index(ContentModel contentModel)
        {
            if (contentModel is null)
            {
                throw new ArgumentNullException(nameof(contentModel));
            }

            var model = new EditStatisticsViewModel(contentModel.Content, Services.UserService);

            model.IsAuthorized[AuthorizedAction.EditStatistics] = Members.IsMemberAuthorized(null, new[] { Groups.Administrators }, null);

            model.Metadata.PageTitle = "Update statistics";

            return(Task.FromResult(CurrentTemplate(model)));
        }
        public ActionResult UpdateStatistics()
        {
            var model = new EditStatisticsViewModel(CurrentPage, Services.UserService);

            model.IsAuthorized[AuthorizedAction.EditStatistics] = Members.IsMemberAuthorized(null, new[] { Groups.Administrators }, null);

            if (model.IsAuthorized[AuthorizedAction.EditStatistics] && ModelState.IsValid)
            {
                model.BackgroundTaskId = Guid.NewGuid();
                var currentMember = Members.GetCurrentMember();
                HostingEnvironment.QueueBackgroundWorkItem(ct => UpdateStatistics(model.BackgroundTaskId.Value, currentMember.Key, currentMember.Name, ct));
            }

            model.Metadata.PageTitle = "Update statistics";

            return(View("EditStatistics", model));
        }