示例#1
0
        public Task UpdateUrlMonitoring(int userId, UrlMonitoringType monitoringType)
        {
            _logger.LogInformation($"{nameof(MonitoringServerConnection)}.{nameof(UpdateUrlMonitoring)}.Sart");
            var body   = JsonConvert.SerializeObject(new { userId, UrlMonitoringType = monitoringType });
            var result = Task.Factory.StartNew(() => MonitoringServerConnect(_updateMonitoringServerUrl, body));

            _logger.LogInformation($"{nameof(MonitoringServerConnection)}.{nameof(UpdateUrlMonitoring)}.End");

            return(result);
        }
示例#2
0
        public async Task <bool> UpdateUserMonitoring(int userId, UrlMonitoringType monitoringType)
        {
            var userMonitoring = await _db.UrlMonitoringsDb.FirstOrDefaultAsync(x => x.UserId == userId);

            if (userMonitoring == null)
            {
                throw new NotFoundException("We can not find this user");
            }

            switch (monitoringType)
            {
            case UrlMonitoringType.GetsQuestionsUserAsked:
                userMonitoring.GetsQuestionsUserAsked++;
                break;

            case UrlMonitoringType.GetsQuestionsUserAnswered:
                userMonitoring.GetsQuestionsUserAnswered++;
                break;

            case UrlMonitoringType.GetsQuestionsUserFavorite:
                userMonitoring.GetsQuestionsUserFavorite++;
                break;

            case UrlMonitoringType.GetsQuestionsUserCommented:
                userMonitoring.GetsQuestionsUserCommented++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalAsked:
                userMonitoring.GetsQuestionsPersonalAsked++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalRecommended:
                userMonitoring.GetsQuestionsPersonalRecommended++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalChosen:
                userMonitoring.GetsQuestionsPersonalSelected++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalLiked:
                userMonitoring.GetsQuestionsPersonalLiked++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalSaved:
                userMonitoring.GetsQuestionsPersonalSaved++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalDayTop:
                userMonitoring.GetsQuestionsPersonalDayTop++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalWeekTop:
                userMonitoring.GetsQuestionsPersonalWeekTop++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalMonthTop:
                userMonitoring.GetsQuestionsPersonalMonthTop++;
                break;

            case UrlMonitoringType.GetsQuestionsPersonalAllTimeTop:
                userMonitoring.GetsQuestionsPersonalAllTimeTop++;
                break;

            case UrlMonitoringType.GetsQuestionsNews:
                userMonitoring.GetsQuestionsNews++;
                break;

            case UrlMonitoringType.OpensPersonalPage:
                userMonitoring.OpensPersonalPage++;
                break;

            case UrlMonitoringType.OpensUserPage:
                userMonitoring.OpensUserPage++;
                break;

            case UrlMonitoringType.GetsNotifications:
                userMonitoring.GetsNotifications++;
                break;

            case UrlMonitoringType.FiltersQuestions:
                userMonitoring.FiltersQuestions++;
                break;

            case UrlMonitoringType.OpensQuestionPage:
                userMonitoring.OpensQuestionPage++;
                break;

            case UrlMonitoringType.GetsComments:
                userMonitoring.GetsComments++;
                break;
            }

            return(await _db.SaveChangesAsync() > 0);
        }