private IExportTable GetTableExportTask(string path, bool remote) { var source = new SourceTableQuery() { Dataset = new Jhu.Graywulf.Schema.SqlServer.SqlServerDataset(Jhu.Graywulf.Test.Constants.TestDatasetName, Jhu.Graywulf.Test.AppSettings.IOTestConnectionString), Query = "SELECT * FROM SampleData" }; var destination = new DelimitedTextDataFile() { Uri = Util.UriConverter.FromFilePath(path) }; IExportTable te = null; if (remote) { te = RemoteServiceHelper.CreateObject <IExportTable>(Test.Constants.Localhost); } else { te = new ExportTable(); } te.Source = source; te.Destination = destination; return(te); }
/// <summary> /// Initializing func for Serializer. /// </summary> /// <param name="H">Header of the package</param> /// <param name="NT">NameTable of package.</param> /// <param name="ET">ExportTable of package.</param> /// <param name="IT">ImportTable of Package</param> /// <param name="body">Readed and decrypted bytes of package body. </param> /// <seealso cref="L2Package.PackageReader"/> public void Initialize(IHeader H, INameTable NT, IExportTable ET, IImportTable IT, byte[] body) { Header = H; NameTable = NT; ExportTable = ET; ImportTable = IT; Bytes = body; Initialized = true; }
private void CurrentContext_OnBeforeExecute(object sender, EntityQueryExecuteEventArgs e) { IExportTable exportTable = e.Entity as IExportTable; if (exportTable != null) { exportTable.BatchNumber = 0; } if (e.ExecuteType == EntityQueryExecuteType.Delete) { OptDbContext.CurrentDataBase.BeginTransaction(); } }
/// <summary> /// 生成批次号为空或者为0的查询,对应于本地新增或者更新过的数据 /// </summary> /// <param name="batchNumber">批次号</param> /// <param name="entity"></param> /// <returns></returns> private OQL FilterQuery(int batchNumber, EntityBase entity) { if (entity is IExportTable) { var tableInfoCache = EntityFieldsCache.Item(entity.GetType()); var fieldList = tableInfoCache.PropertyNames; Console.WriteLine("===================导出表 [{0}] ==================", entity.GetTableName()); IExportTable ExportableEntity = entity as IExportTable; ExportableEntity.BatchNumber = batchNumber; //将数据库导出标记为0或者为空的记录,更新为当前导出标记号 //一定得按数据分类标识更新及导出 OQL updateQ = null; if (fieldList.Contains(C_Classification)) { entity[C_Classification] = ClassificationID; updateQ = OQL.From(entity) .Update(ExportableEntity.BatchNumber) .Where(cmp => cmp.EqualValue(entity[C_Classification]) & (cmp.Comparer(ExportableEntity.BatchNumber, "=", 0) | cmp.IsNull(ExportableEntity.BatchNumber)) ) .END; int count = EntityQuery.ExecuteOql(updateQ, this.CurrDbContext.CurrentDataBase); Console.WriteLine("(查询前)更新批次号 {0} 受影响的记录数 {1}", batchNumber, count); OQL q = OQL.From(entity) .Select() .Where(cmp => cmp.EqualValue(entity[C_Classification]) & cmp.EqualValue(ExportableEntity.BatchNumber)) .END; return(q); } else { updateQ = OQL.From(entity) .Update(ExportableEntity.BatchNumber) .Where(cmp => cmp.Comparer(ExportableEntity.BatchNumber, "=", 0) | cmp.IsNull(ExportableEntity.BatchNumber)) .END; int count = EntityQuery.ExecuteOql(updateQ, this.CurrDbContext.CurrentDataBase); Console.WriteLine("(查询前)更新批次号 {0} 受影响的记录数 {1}", batchNumber, count); OQL q = OQL.From(entity) .Select() .Where(cmp => cmp.EqualValue(ExportableEntity.BatchNumber)) .END; return(q); } } return(null); }
/// <summary> /// ExportTable konvertálása DataGrid-be /// </summary> private static void TableToDataGridView(IExportTable srcTable, DataGridView destDataGridView) { destDataGridView.Rows.Clear(); destDataGridView.Columns.Clear(); foreach (var tableColumn in srcTable.Columns) { DataGridViewTextBoxColumn dgvColumn; destDataGridView.Columns.Add(dgvColumn = new DataGridViewTextBoxColumn() { Name = tableColumn.Name, HeaderText = tableColumn.HeaderText, DisplayIndex = tableColumn.DisplayIndex, Visible = tableColumn.Visible, }); if (srcTable.SourceIsSupportColumnWidth) { dgvColumn.Width = tableColumn.Width; } } destDataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; for (var rowIndex = 0; rowIndex < srcTable.Rows.Count; rowIndex++) { destDataGridView.Rows.Add(new DataGridViewRow()); /*Sormagasság*/ /*TODO: Túl hosszú müvelet a sor magasság állítása, letitlva.*/ /*destDataGridView.Rows[rowIndex].Height = 18;*/ for (var columnIndex = 0; columnIndex < srcTable.Columns.Count; columnIndex++) { destDataGridView.Rows[rowIndex].Cells[columnIndex].Value = srcTable.Rows[rowIndex].Cells[columnIndex].Value; } } }
internal L2PackageEnumerator(IExportTable iet, IUnrealSerializer szr) { et = iet; Cursor = -1; Serilizer = szr; }