public void Execute() { MftReader mft = MftReader.Create(_spec.GameDirectory.DirectoryPath); MftContent mftContent = mft.ReadContent(); IdxReader idx = new IdxReader(mftContent); IdxContent idxContent = idx.ReadContent(); TXEncoding.TryReadFromExecutable(_spec.GameDirectory.ExecutablePath); using (DbExtractor extractor = new DbExtractor(mftContent.Version, _spec.OutputDirectory)) { extractor.Rename = _spec.Rename; extractor.Convert = _spec.Convert; foreach (var group in idxContent) { DbPackage package = group.Key; foreach (IdxEntry entry in group) { extractor.Enqueue(package, entry); } } } Console.WriteLine("Extracted!"); }
public bool Execute() { using (DbAccess dbAccess = DbPackage.CreateConnection()) { return(Execute(dbAccess)); } }
private void ExecuteTasks() { int errorTasks = 0; Parallel.ForEach(_ParallelTasks, PumpConfig.ParallelOption, task => { if (task.Execute() == false) { Interlocked.Increment(ref errorTasks); } }); using (DbAccess dbAccess = DbPackage.CreateConnection()) { ParallelTask callbackTask = (errorTasks > 0) ? _FailCallbackTask : _SuccessCallbackTask; if (callbackTask != null) { callbackTask.Execute(dbAccess); } dbAccess.CompleteParallelJob(_PJobID); } Dispose(); }
public EngineMain(EventLog serviceEventLog = null) { _MainDbAccess = DbPackage.CreateConnection(); _DbServerEnv = _MainDbAccess.GetDbServerEnv(); _MainDbAccess.LoadEngineConfig(); _ServiceEventLog = serviceEventLog; _TemplateManager = new TemplateManager(); }
public PumpMain(EventLog serviceEventLog = null) { _ServiceMode = ServiceMode.Standby; _MainDbAccess = DbPackage.CreateConnection(); PumpConfig.AppSettingsInDb = _MainDbAccess.GetServiceConfig(); _ParallelJobs = new List <ParallelJob>(); _Synchronizer = new PumpSynchronizer(); _ServiceEventLog = serviceEventLog; }
/// <summary> /// This is a private method that initiate to actualy update the package. /// </summary> /// <param name="dbPackage"> The database package </param> /// <param name="package"> The update package </param> private void UpdateThePackageProperties(DbPackage dbPackage, Package package) { dbPackage.DisscountPrecentage = package.DisscountPrecentage; dbPackage.FixedPrice = package.FixedPrice; dbPackage.Id = package.Id; dbPackage.InsideFamilyCall = package.InsideFamilyCall; dbPackage.MaxMinute = package.MaxMinute; dbPackage.MostCallNumber = package.MostCallNumber; dbPackage.PackageName = package.PackageName; dbPackage.SelectedNumberId = package.SelectedNumber; dbPackage.TotalPrice = package.TotalPrice; }
public void MyTestOracleLauncher() { using (OracleLauncher launcher = DbPackage.CreateSampleOraLauncher(1001)) { Parallel.For(0, 100, i => // Just simulating multiple(100) producers { for (int j = 0; j < 200000; j++) { launcher.AddSampleOraRow(i * 200000 + j, (double)j * 0.618); } }); } }
public void MyTestSqlLauncher() { using (SqlLauncher launcher = DbPackage.CreateSampleSqlLauncher()) { Parallel.For(0, 100, i => // Just simulating multiple(100) producers { for (int j = 0; j < 200000; j++) { launcher.AddSampleSqlRow(i, j.ToString(), (i * 200000 + j) * 0.618m); } }); } }
/// <summary> /// This method getting a package from the BL and replace it with the wanted package to update. /// </summary> /// <param name="package"></param> public void UpdatePackage(Package package) { try { using (PhoneCompanyContext context = new PhoneCompanyContext()) { DbPackage dbPackage = context.Packages.FirstOrDefault(x => x.Id == package.Id); UpdateThePackageProperties(dbPackage, package); context.SaveChanges(); } } catch (ArgumentNullException ex) { Services.WriteExceptionsToLogger(ex); throw new GetFromDatabaseException(ex.Message); } }
internal static Package DbToCommon(this DbPackage dbPackage) { Package package = new Package() { TotalPrice = dbPackage.TotalPrice, DisscountPrecentage = dbPackage.DisscountPrecentage, FixedPrice = dbPackage.FixedPrice, Id = dbPackage.Id, InsideFamilyCall = dbPackage.InsideFamilyCall, MaxMinute = dbPackage.MaxMinute, MostCallNumber = dbPackage.MostCallNumber, PackageName = dbPackage.PackageName, SelectedNumber = dbPackage.SelectedNumberId, MaxSMSs = dbPackage.MaxSMSs }; return(package); }
internal static DbPackage CommonToDb(this Package package) { DbPackage dbPackage = new DbPackage() { DisscountPrecentage = package.DisscountPrecentage, FixedPrice = package.FixedPrice, InsideFamilyCall = package.InsideFamilyCall, Id = package.Id, SelectedNumberId = package.SelectedNumber, MaxMinute = package.MaxMinute, MostCallNumber = package.MostCallNumber, PackageName = package.PackageName, TotalPrice = package.TotalPrice, MaxSMSs = package.MaxSMSs }; return(dbPackage); }
public void DbToCommon_GetPackage_Convert() { //Arrange var commonPackage = new Package(); var dbPackage = new DbPackage(); var fake = A.Fake <Package>(o => o.Wrapping(commonPackage)); //Act var results = dbPackage.DbToCommon(); A.CallTo(() => fake.Equals(A <object> ._)).ReturnsLazily( call => { var other = call.GetArgument <Package>(0); return(results.Id == other.Id); }); //Assert Assert.AreEqual(fake, results); }
public void MyTestAccess() { using (DbAccess db = DbPackage.CreateConnection()) { // ... var test1 = db.GetSampleSetting("TestDomain"); // ... var test2 = db.LoadSampleObjByAction(test1.Item1, test1.Item2); // ... using (DbTransactionScope tran = db.NewTransactionScope()) // Start a transaction { var test3 = db.LoadSampleObjByMap(test1.Item1, test1.Item2); // ... db.LogSampleError("Test source", "Test message ..."); // ... tran.Complete(); } // Exit (Commit) the transaction // ... var test4 = db.LoadSampleObjAutoMap(test1.Item1, test1.Item2); // ... } }
private static void Test16() { var f = "财务数据库.zip"; var f2 = "财务数据库/凭证库.table"; var f3 = "cw.zip"; var dal = DAL.Create("caiwu"); //var tables = dal.RestoreAll(f, null, true, false); //dal.Db.BatchSize = 100; var dpk = new DbPackage { Dal = dal, IgnoreError = false, Log = XTrace.Log }; //var ts = DAL.ImportFrom("财务数据库/xxgk2.xml"); //var tables = dpk.Restore(f2, ts[0], true); var tables = dpk.RestoreAll(f3, null, true); //dal.BackupAll(tables, "cw.zip"); }
private async void btnSync_Click(Object sender, EventArgs e) { var connName = cbTarget.SelectedItem + ""; if (connName.IsNullOrEmpty()) { return; } //var ts = _models.Select(e => e.Table).ToArray(); //if (ts.Length == 0) return; gbSetting.Enabled = false; var syncSchema = cbSyncSchema.Checked; var ignoreError = cbIgnoreError.Checked; //_source.SyncAll(ts, connName, cbSyncSchema.Checked, cbIgnoreError.Checked); var dpk = new DbPackage { Dal = _source, IgnoreError = ignoreError, Log = XTrace.Log }; //dpk.OnProgress = (p, dt) => //{ // var m = _models.FirstOrDefault(e => e.Name == dt); //}; //Task.Run(() => dpk.SyncAll(ts, connName, syncSchema)); await Task.Run(() => { var dal = DAL.Create(cbTarget.SelectedItem + ""); var tables = dal.Tables ?? new List <IDataTable>(); _source.Db.ShowSQL = false; _source.Session.ShowSQL = false; dal.Db.ShowSQL = false; dal.Session.ShowSQL = false; foreach (var item in _models) { if (!item.EnableSync) { continue; } try { if (!syncSchema && !tables.Any(e => e.TableName.EqualIgnoreCase(item.Name))) { item.Description = "目标表不存在,跳过!"; } else { var tb = _tables.FirstOrDefault(e => e.TableName == item.Name); var rs = _source.Sync(tb, connName, syncSchema); item.Finish = rs; item.Description = "成功!"; } } catch (Exception ex) { item.Description = ex.Message; XTrace.WriteException(ex); if (!ignoreError) { throw; } } Invoke(() => dataGridView1.Refresh()); } _source.Session.ShowSQL = true; _source.Db.ShowSQL = true; dal.Session.ShowSQL = true; dal.Db.ShowSQL = true; }); gbSetting.Enabled = true; }