static async Task SetAttributes(Exist.Query exist, DateTime day, Dictionary <string, int> counts, Dictionary <string, TimeSpan> durations, HashSet <string> tags) { Console.WriteLine($"{day.ToString("yyyy-MM-dd")} {String.Join(" ", counts.Select(kvp => $"{kvp.Key}={kvp.Value}"))} {String.Join(" ", durations.Select(kvp => $"{kvp.Key}={kvp.Value.ToString(@"hh\:mm")}"))} {String.Join(" ", tags.Select(tag => $"tag=\"{tag}\""))}"); var attributes = new Dictionary <string, int>( counts.Concat( durations.Select(kvp => new KeyValuePair <string, int>(kvp.Key, (int)kvp.Value.TotalMinutes)) ) ); await exist.SetAttributes(day, attributes); await exist.AddTags(day, tags); }