Esempio n. 1
0
 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);
        }