public static void WriteToFiles(this WatchdogData data, string outputFolder) { Directory.CreateDirectory(outputFolder); File.WriteAllLines(Path.Combine(outputFolder, "intervals.json"), data.Intervals.Select(o => o.ToString())); File.WriteAllLines(Path.Combine(outputFolder, "projects.json"), data.Projects.Select(o => o.ToString())); File.WriteAllLines(Path.Combine(outputFolder, "users.json"), data.Users.Select(o => o.ToString())); }
public static WatchdogData Convert(IList <Interval> intervals) { intervals = intervals.OrderBy(i => i.StartTime).ToList(); var data = new WatchdogData(); var createdProjectObjects = new HashSet <string>(); var createdUserObjects = new HashSet <string>(); foreach (var interval in intervals) { data.Intervals.Add(Convert(interval)); if (!createdUserObjects.Contains(interval.UserId)) { data.Users.Add(CreateUserObject(interval)); createdUserObjects.Add(interval.UserId); } if (!createdProjectObjects.Contains(interval.Project)) { data.Projects.Add(CreateProjectObject(interval)); createdProjectObjects.Add(interval.Project); } } return(data); }