コード例 #1
0
        private void ValidateFilesThreadDoWork(object sender, DoWorkEventArgs e)
        {
            var listPathDbs = Directory.EnumerateFiles(pathSource, "*.mdf", SearchOption.AllDirectories).ToList();
            var totalFiles = listPathDbs.Count;
            var dbState = string.Empty;
            foreach (var file in listPathDbs)
            {
                var db = new MdfFile(file);
                dbState = string.Format("empresa{0} -> {1} ", db.Id.PadLeft(3, '0'), db.DbName.PadRight(35, '*'));
                backgroundWorkerValidate.ReportProgress(0, dbState + "adjuntando");
                db.attachDb();

                if (db.isAttached)
                {
                    backgroundWorkerValidate.ReportProgress(0, dbState + "contando objetos");
                    db.validateDb();
                    backgroundWorkerValidate.ReportProgress(0, dbState + "validando");

                    DataAccess.executeCommand(DataAccess.commandToSP(db.code));
                    db.detachDb();
                }

                var totalErrors = db.validation.listErrors;
                if (totalErrors.Count != 0)
                    DataAccess.executeCommand(DataAccess.commandToText(generateInserts(db)));

                backgroundWorkerValidate.ReportProgress(0, dbState + "terminada");

            }
        }