private void printToPath(string root, List <PackageHeader> list) { int i = 1; string path; foreach (var pkg in list) { path = root + i + ".txt"; StreamWriter f = new StreamWriter(path); foreach (var item in items) { foreach (var property in item.comparedProperties) { var value = pkg.GetType().GetProperty(property).GetValue(pkg); if (PkgComparator.IsListOfStrings(value)) { value = String.Join(splitToken, ((List <string>)value).ToArray()); } if (PkgComparator.IsListOfDependencies(value)) { string result = ""; foreach (var dependency in (List <Dependency>)value) { result += "["; foreach (var dProperty in item.dependencies) { result += (dProperty + ": " + dependency.GetType().GetProperty(dProperty).GetValue(dependency)); } result += "]"; } value = result; } f.WriteLine(property + ": " + value); f.Flush(); } } i++; } }
static void Main(string[] args) { Console.WriteLine("start downloading..."); PkgDownloader oldPackages = new PkgDownloader("http://dynamopackages.com/"); PkgDownloader newPackages = new PkgDownloader("http://localhost:8000/"); List <PackageHeader> oldList = oldPackages.Lists; List <PackageHeader> newList = newPackages.Lists; PkgInfoPrinter pkgInfoPrinter = new PkgInfoPrinter(); pkgInfoPrinter.printPackages(oldList, newList); PkgComparator cp = new PkgComparator(oldList, newList); cp.CompareAll(); Console.WriteLine("Done"); }