Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        //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();
        }
Ejemplo n.º 3
0
        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));
            }
        }