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); }
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); }