private void HandleInfoParts(string filename, string schema) { InfoParts p = GZfileIO.ReadGZtoPOCO <InfoParts>(filename); //p.SqlConnectionString = this.SqlConnectionString; //var p2db = new InfoPartsToDB(SqlConnectionString, TablePrefix); var p2db = new InfoPartsToDB(TablePrefix); p2db.PartsToDataSet(p, schema); }
//private void HandleFile(string filename, string schema) private void HandleFile(string filename, string schema) { Console.WriteLine($"{LogTime()} Processing file {filename}."); //InfoParts p = InfoParts.FromJsonFile(filename); //InfoParts p = GZfileIO.ReadGZtoJson<InfoParts>(filename); var header = GZfileIO.Head(filename).Left(64); var sniffType = GZfileIO.Sniff(filename, possibilities); switch (sniffType) { case 0: // AsOf -> InfoParts HandleInfoParts(filename, schema); break; case 1: // Directories - file inventory { // pull the ACLs into the database var aclfilename = Regex.Replace(filename, "_files.json", "_Acls.json", RegexOptions.IgnoreCase); var acl = DirectorySecurityList.ACLSet.FromJSON(aclfilename); acl.ToDB(); // now can use the ACLs via json ACL id => database ACL id var files = DirectorySecurityList.CIMDirectoryCollection.FromJSON(filename); var filestoDb = new CimDirectoryToDB(files, acl); filestoDb.ToDB(); } Console.WriteLine($"{LogTime()} Processed directory file {filename}."); //Console.WriteLine($" >>>{header}<<< "); //throw new NotImplementedException(header); break; case 2: // ACL list //{ // var x = DirectorySecurityList.ACLSet.FromJSON(filename); // x.ToDB(); //} Console.WriteLine($"{LogTime()} ACL file {filename} processed elsewhere."); //Console.WriteLine($" >>>{header}<<< "); //throw new NotImplementedException(header); break; case -1: // unknown default: Console.WriteLine($"{LogTime()} Unable to process file {filename}."); Console.WriteLine($" >>>{header}<<< "); break; } //Pause(); }
public static T ReadGZtoJson <T>(string jsonfilename) { var json = GZfileIO.ReadGZtoString(jsonfilename); //var deserializer = new JavaScriptSerializer //var deserializer = new DataContractJsonSerializer(typeof(T)); //return (T)deserializer.ReadObject(json); using (var sr = new FileStream(jsonfilename, FileMode.Open, FileAccess.Read)) { var deserializer = new DataContractJsonSerializer(typeof(T)); return((T)deserializer.ReadObject(sr)); } }