Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Globalization;
- static double? CalculateAverageSession(List<CodeSession?>? allSessions)
- {
- List<double?>? values = GetTotalSessionTime(allSessions);
- double? totalSeconds = 0;
- foreach (double? value in values)
- {
- totalSeconds += value;
- }
- double? averateTime = totalSeconds / values.Count;
- return averateTime;
- }
- static List<double?>? GetTotalSessionTime(List<CodeSession?>? allSessions)
- {
- List<double?>? values = new();
- string format = @"hh\:mm";
- CultureInfo? provider = CultureInfo.InvariantCulture;
- foreach (CodeSession? session in allSessions)
- {
- TimeSpan startTime;
- TimeSpan endTime;
- TimeSpan start = TimeSpan.ParseExact(session.StartTime, format, provider);
- TimeSpan end = TimeSpan.ParseExact(session.EndTime, format, provider);
- TimeSpan difference = end.Subtract(start);
- double? timeInSeconds = difference.TotalSeconds;
- values.Add(timeInSeconds);
- }
- return values;
- }
- List<CodeSession?>? allSessions = new() {};
- CodeSession? session = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "8:00", EndTime = "12:00", Duration = "04:00:00" };
- CodeSession? session1 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "9:00", EndTime = "13:00", Duration = "04:00:00" };
- CodeSession? session2 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "10:00", EndTime = "14:00", Duration = "04:00:00" };
- CodeSession? session3 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "11:00", EndTime = "15:00", Duration = "04:00:00" };
- CodeSession? session4 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "12:00", EndTime = "16:00", Duration = "04:00:00" };
- CodeSession? session5 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "13:00", EndTime = "17:00", Duration = "04:00:00" };
- CodeSession? session6 = new() { Id = 1, TodaysDate = "10/05/2023", StartTime = "14:00", EndTime = "18:00", Duration = "04:00:00" };
- allSessions.Add(session);
- allSessions.Add(session1);
- allSessions.Add(session2);
- allSessions.Add(session3);
- allSessions.Add(session4);
- allSessions.Add(session5);
- allSessions.Add(session6);
- var totalTime = GetTotalSessionTime(allSessions);
- var averateTime = CalculateAverageSession(allSessions);
- Console.WriteLine("Total Time: {0}", totalTime);
- Console.WriteLine("Average Time: {0}", averateTime);
- class CodeSession
- {
- public int? Id { get; set; }
- public string? TodaysDate { get; set; }
- public string? StartTime { get; set; }
- public string? EndTime { get; set; }
- public string? Duration { get; set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment