예제 #1
0
        public async Task <HttpResponseMessage> Post(string id)
        {
            if (User.IsInRole(DomainRoles.Administrator) || User.IsInRole(DomainRoles.SuperAdministrator))
            {
                // preventing admin views
                return(Request.CreateResponse(HttpStatusCode.OK));
            }

            await _watchProjectService.CheckProjectAsync(id, UserId);

            // Add to statistics in background
            Task.Run(() => _cassandraStatisticsService.AddViewAsync(StatisticsSpaces.Projects, id, UserId))
            .ContinueWith(r => _projectService.IncrementHitsCounterAsync(id), TaskContinuationOptions.OnlyOnRanToCompletion).NoWarning();

            return(Request.CreateResponse(HttpStatusCode.OK));
        }