private void averageStepsTakenStatement(FitbitJournal currentCategoryManager) { var averageStepsTaken = "The average number of steps take all year: " + Math.Round(currentCategoryManager.AverageSteps, 2).ToString("N"); this.outputStatements.Add(averageStepsTaken); }
/// <summary> /// Adds the last boundary statement. /// </summary> /// <param name="lastBoundary">The last boundary.</param> /// <param name="currentFitbitJournal"></param> private void addLastBoundaryStatement(int lastBoundary, FitbitJournal currentFitbitJournal) { var boundarySix = "Days with " + lastBoundary.ToString(Numberformat) + " or more: " + currentFitbitJournal .CountDaysWithStepsOver(lastBoundary).ToString(Numberformat); this.outputStatements.Add(boundarySix); }
private void addMonthlyEntryData(FitbitJournal monthlyCategoryManager, List <FitbitEntry> monthCollection) { foreach (var fitbitEntry in monthCollection) { var monthlyFitbitEntry = this.fitbitJournal.GetEntryByDate(fitbitEntry.Date); monthlyCategoryManager.AddEntry(monthlyFitbitEntry); } }
private void addAverageActiveMinutesStatements(FitbitJournal yearlyJournal) { var entry = yearlyJournal.MostActiveMinutes; var mostActiveMinutesStatement = "Most Active minutes: " + entry.ActiveMinutes.ToString(Timespanformat) + " occurred on " + entry.Date.GetDateTimeFormats()[0]; this.outputStatements.Add(mostActiveMinutesStatement); }
private void addMonthlyStatisticsStatements(FitbitJournal monthlyCategoryManager) { if (!monthlyCategoryManager.IsEmpty()) { this.addMaxAndMinStepStatements(monthlyCategoryManager.MaxSteps, monthlyCategoryManager.MinSteps); this.averageStepsTakenStatement(monthlyCategoryManager); monthlyCategoryManager.ClearEntries(); } }
/// <summary> /// Adds the step statements. /// </summary> private void addStepStatements(FitbitJournal currentFitbitJournal) { var daysWithOverTenThousandSteps = "The number of days with more than " + this.currentThreshold + " steps: " + this.fitbitJournal.CountDaysWithStepsOver(this.currentThreshold).ToString(Numberformat); this.addMaxAndMinStepStatements(currentFitbitJournal.MaxSteps, currentFitbitJournal.MinSteps); this.averageStepsTakenStatement(currentFitbitJournal); this.outputStatements.Add(daysWithOverTenThousandSteps); }
/// <summary> /// Initializes a new instance of the <see cref="MainPage" /> class. /// </summary> public MainPage() { this.InitializeComponent(); this.fitbitJournal = new FitbitJournal(); ApplicationView.PreferredLaunchViewSize = new Size { Width = ApplicationWidth, Height = ApplicationHeight }; ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize; ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(ApplicationWidth, ApplicationHeight)); }
private void generateYearlyOutput() { var dateTime = new DateTimeFormatInfo(); var months = dateTime.MonthNames; var monthlyCategoryManager = new FitbitJournal(); for (var yearIndex = this.fitbitJournal.FirstEntryDate.Year; yearIndex <= this.fitbitJournal.LastEntryDate.Year; yearIndex++) { this.outputStatements.Add(Environment.NewLine + "Yearly Overview: " + Environment.NewLine); this.generateYearlyBreakDown(yearIndex); this.outputStatements.Add(Environment.NewLine + "Monthly Breakdown: "); this.generateMonthlyBreakDown(yearIndex, months, monthlyCategoryManager); } }
/// <summary> /// Adds the boundary statements. /// </summary> private void addBoundaryStatements(FitbitJournal currentFitbitJournal) { var lowerBound = 1; var upperBound = this.currentBinSize; for (var index = 0; index < this.currentAmountOfCategories; index++) { if (index == 0) { this.addDaysWithStepBetweenBoundariesStatements(lowerBound - 1, upperBound); } else if (index == this.currentAmountOfCategories - 1) { this.addLastBoundaryStatement(lowerBound, currentFitbitJournal); } else { this.addDaysWithStepBetweenBoundariesStatements(lowerBound, upperBound); } lowerBound += this.currentBinSize; upperBound += this.currentBinSize; } }
private void generateMonthlyBreakDown(int year, string[] months, FitbitJournal monthlyFitbitJournal) { for (var month = 1; month < months.Length; month++) { var monthCollection = this.fitbitJournal.GetEntriesOrderedDatesByMonthAndYear(month, year); this.addMonthlyEntryData(monthlyFitbitJournal, monthCollection); var averageActiveMinutesStatement = ""; if (monthCollection.Count > 0) { var average = monthlyFitbitJournal.AverageActiveMinutes; averageActiveMinutesStatement = "Average Active minutes: " + average.ToString(Timespanformat); } this.outputStatements.Add(Environment.NewLine); this.outputStatements.Add(months[month - 1] + " " + year + " (" + this.fitbitJournal.CountPerMonthAndYear(month, year) + " days of data)" + ": "); this.addMonthlyStatisticsStatements(monthlyFitbitJournal); this.outputStatements.Add(averageActiveMinutesStatement); } }
private async Task handleXMLFile(Stream stream) { try { var serializer = new XmlSerializer(typeof(FitbitJournal)); using (var xmlStream = new StreamReader(stream)) { var journal = serializer.Deserialize(xmlStream); this.fitbitJournal = journal as FitbitJournal; } } catch (Exception) { var result = await isUserContinuing(); if (!result) { return; } } }
/// <summary> /// Initializes a new instance of the <see cref="FitbitJournalOutput" /> class. /// </summary> /// <param name="fitbitJournal">The fitbit journal.</param> public FitbitJournalOutput(FitbitJournal fitbitJournal) { this.fitbitJournal = fitbitJournal; }
/// <summary> /// Parses the file. /// </summary> /// <param name="file">The file.</param> /// <returns></returns> private async Task parseFile(StorageFile file) { if (file == null) { return; } char[] seperator = { ',' }; var stream = await file.OpenStreamForReadAsync(); switch (file.FileType) { case ".csv": try { using (var reader = new StreamReader(stream)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); var input = line.Split(seperator); var fitbitEntry = Parser.ParseCsv(input); await this.manageAndAddFitbitEntry(fitbitEntry, fitbitEntry.Date); } } } catch (Exception) { await informTheUserOfIssue(); } break; case ".txt": try { using (var reader = new StreamReader(stream)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); var input = line.Split(seperator); var fitbitEntry = Parser.ParseCsv(input); await this.manageAndAddFitbitEntry(fitbitEntry, fitbitEntry.Date); } } } catch (Exception) { await informTheUserOfIssue(); } break; case ".xml": try { var serializer = new XmlSerializer(typeof(FitbitJournal)); using (var xmlStream = new StreamReader(stream)) { var journal = serializer.Deserialize(xmlStream); this.fitbitJournal = journal as FitbitJournal; } } catch (Exception) { await informTheUserOfIssue(); } break; } }