private int calcTotalActivityCount(ActivityStats athleteStats) { int totalRides_Runs_Swims = athleteStats.AllRideTotals.Count.Value; totalRides_Runs_Swims += athleteStats.AllRunTotals.Count.Value; totalRides_Runs_Swims += athleteStats.AllSwimTotals.Count.Value; return(totalRides_Runs_Swims); }
public static async Task GetStatsAsync(int id) { //Получаем токен TokenModel token; token = Token.RenewToken(); Configuration.ApiKey.Add("access_token", token.Access_token); Configuration.ApiKey.Add("refresh_token", token.Refresh_token); Console.WriteLine(token.Access_token); //Подключаемся к БД string connString = "mongodb://192.168.1.200:27017"; MongoClient client = new(connString); IMongoDatabase mongoDatabase = client.GetDatabase("strava"); var api = new AthletesApi(); int?page = null; int?perpage = null; try { ActivityStats activityStats = api.GetStats(id, page, perpage); var collection = mongoDatabase.GetCollection <All_Ride_Totals>("allridetotals"); All_Ride_Totals ride_Totals = new() { Count = activityStats.AllRideTotals.Count, Distance = activityStats.AllRideTotals.Distance, Moving_time = activityStats.AllRideTotals.MovingTime, Elapsed_time = activityStats.AllRideTotals.ElapsedTime, Elevation_gain = activityStats.AllRideTotals.ElevationGain }; await collection.InsertOneAsync(ride_Totals); var collectionTotals = mongoDatabase.GetCollection <Recent_Ride_Totals>("recentridetotals"); Recent_Ride_Totals recent_Ride = new() { Count = activityStats.RecentRideTotals.Count, Distance = activityStats.RecentRideTotals.Distance, Moving_time = activityStats.RecentRideTotals.MovingTime, Elapsed_time = activityStats.RecentRideTotals.ElapsedTime, Elevation_gain = activityStats.RecentRideTotals.ElevationGain, Achievement_count = activityStats.RecentRideTotals.AchievementCount }; await collectionTotals.InsertOneAsync(recent_Ride); } catch (Exception e) { Console.WriteLine(e.Message); } } }
public void Setup() { athleteApi = Substitute.For <IAthletesApi>(); ActivityStats stats = new ActivityStats( allRideTotals: new ActivityTotal(count: totalRides), allRunTotals: new ActivityTotal(count: totalRuns), allSwimTotals: new ActivityTotal(count: totalSwims) ); athleteApi.GetStatsAsync(Arg.Any <int>()).Returns(stats); activitiesApi = Substitute.For <IActivitiesApi>(); List <SummaryActivity> activities = new List <SummaryActivity> { TestData.SummaryActivity1(), TestData.SummaryActivity2() }; List <SummaryActivity> emptyActivities = new List <SummaryActivity>(); activitiesApi.GetLoggedInAthleteActivitiesAsync(page: 1).Returns(Task.FromResult(activities)); activitiesApi.GetLoggedInAthleteActivitiesAsync(page: 2).Returns(Task.FromResult(emptyActivities)); List <SummaryActivity> activitiesAfter = new List <SummaryActivity> { TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3(), TestData.SummaryActivity3() }; activitiesApi.GetLoggedInAthleteActivitiesAsync(page: 1, after: Arg.Any <int>()).Returns(Task.FromResult(activitiesAfter)); activitiesApi.GetLoggedInAthleteActivitiesAsync(page: 2, after: Arg.Any <int>()).Returns(Task.FromResult(emptyActivities)); }
public static ActivityStatsModel ToModel(this ActivityStats entity) { return(entity.MapTo <ActivityStats, ActivityStatsModel>()); }