using Microsoft.Synchronization; using Microsoft.Synchronization.Data; using Microsoft.Synchronization.Data.SqlServerCe; using Microsoft.Synchronization.Data.Server; using System.Data.SqlServerCe; SyncTable tableOrders = new SyncTable("Driver_Registration"); tableOrders.CreationOption = TableCreationOption.DropExistingOrCreateNewTable; tableOrders.SyncDirection = SyncDirection.Bidirectional; //tableOrders.SyncGroup.GroupName = ServerSyncProvider; SyncTable tableOrderDetails = new SyncTable("Location"); tableOrderDetails.CreationOption = TableCreationOption.DropExistingOrCreateNewTable; tableOrderDetails.SyncDirection = SyncDirection.Bidirectional; SyncGroup orderGroup = new SyncGroup("AllChanges"); tableOrders.SyncGroup = orderGroup; //tableOrderDetails.SyncGroup = orderGroup; rb_refstockinentry.SyncGroup = orderGroup; SqlSyncAdapterBuilder ordersBuilder = new SqlSyncAdapterBuilder(); ordersBuilder.Connection = serverConnection; ordersBuilder.SyncDirection = SyncDirection.Bidirectional; // base table ordersBuilder.TableName = "Driver_Registration"; ordersBuilder.DataColumns.Add("id"); ordersBuilder.DataColumns.Add("fname"); ordersBuilder.DataColumns.Add("lname"); ordersBuilder.DataColumns.Add("mobile"); ordersBuilder.DataColumns.Add("Localadd"); ordersBuilder.DataColumns.Add("parmanetadd"); ordersBuilder.DataColumns.Add("state"); ordersBuilder.DataColumns.Add("city"); ordersBuilder.DataColumns.Add("locality"); ordersBuilder.DataColumns.Add("licenceno"); ordersBuilder.DataColumns.Add("vichical_no"); ordersBuilder.DataColumns.Add("photo"); ordersBuilder.DataColumns.Add("pan_no"); ordersBuilder.DataColumns.Add("create_timestamp"); //tombstone table ordersBuilder.TombstoneTableName = "Driver_Registaration_tombstone"; ordersBuilder.TombstoneDataColumns.Add("id"); ordersBuilder.TombstoneDataColumns.Add("fname"); ordersBuilder.TombstoneDataColumns.Add("lname"); ordersBuilder.TombstoneDataColumns.Add("mobile"); ordersBuilder.TombstoneDataColumns.Add("Localadd"); ordersBuilder.TombstoneDataColumns.Add("parmanetadd"); ordersBuilder.TombstoneDataColumns.Add("state"); ordersBuilder.TombstoneDataColumns.Add("city"); ordersBuilder.TombstoneDataColumns.Add("locality"); ordersBuilder.TombstoneDataColumns.Add("licenceno"); ordersBuilder.TombstoneDataColumns.Add("vichical_no"); ordersBuilder.TombstoneDataColumns.Add("photo"); ordersBuilder.TombstoneDataColumns.Add("pan_no"); // tracking\sync columns ordersBuilder.CreationTrackingColumn = @"create_timestamp"; ordersBuilder.UpdateTrackingColumn = @"update_timestamp"; ordersBuilder.DeletionTrackingColumn = @"update_timestamp"; ordersBuilder.UpdateOriginatorIdColumn = @"update_originator_id"; SyncAdapter ordersSyncAdapter = ordersBuilder.ToSyncAdapter(); ((SqlParameter)ordersSyncAdapter.SelectIncrementalInsertsCommand.Parameters["@sync_last_received_anchor"]).DbType = DbType.Binary; ((SqlParameter)ordersSyncAdapter.SelectIncrementalInsertsCommand.Parameters["@sync_new_received_anchor"]).DbType = DbType.Binary; serverSyncProvider.SyncAdapters.Add(ordersSyncAdapter); SqlSyncAdapterBuilder orderDetailsBuilder = new SqlSyncAdapterBuilder(); orderDetailsBuilder.SyncDirection = SyncDirection.Bidirectional; orderDetailsBuilder.Connection = serverConnection; // base table orderDetailsBuilder.TableName = "Loction"; orderDetailsBuilder.DataColumns.Add("id"); orderDetailsBuilder.DataColumns.Add("location"); orderDetailsBuilder.DataColumns.Add("create_timestamp"); // tombstone table orderDetailsBuilder.TombstoneTableName = "Location_tombstone"; orderDetailsBuilder.TombstoneDataColumns.Add("id"); orderDetailsBuilder.TombstoneDataColumns.Add("location"); // tracking\sync columns orderDetailsBuilder.CreationTrackingColumn = @"create_timestamp"; orderDetailsBuilder.UpdateTrackingColumn = @"update_timestamp"; orderDetailsBuilder.DeletionTrackingColumn = @"update_timestamp"; orderDetailsBuilder.UpdateOriginatorIdColumn = @"update_originator_id"; SyncAdapter orderDetailsSyncAdapter = orderDetailsBuilder.ToSyncAdapter(); ((SqlParameter)orderDetailsSyncAdapter.SelectIncrementalInsertsCommand.Parameters["@sync_last_received_anchor"]).DbType = DbType.Binary; ((SqlParameter)orderDetailsSyncAdapter.SelectIncrementalInsertsCommand.Parameters["@sync_new_received_anchor"]).DbType = DbType.Binary; serverSyncProvider.SyncAdapters.Add(orderDetailsSyncAdapter); SqlCommand anchorCmd = new SqlCommand(); Random rmd = new Random(); anchorCmd.CommandType = CommandType.Text; anchorCmd.CommandText = "Select @" + SyncSession.SyncNewReceivedAnchor + " =(@@dbts+(1))"; // for SQL Server 2005 SP2, use "min_active_rowversion() - 1" anchorCmd.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp).Direction = ParameterDirection.Output; serverSyncProvider.SelectNewAnchorCommand = anchorCmd; // client ID command (give the client id of 1) // in remote server scenario (middle tear), this command will reference a local client table for the ID SqlCommand clientIdCmd = new SqlCommand(); clientIdCmd.CommandType = CommandType.Text; clientIdCmd.CommandText = "SELECT @" + SyncSession.SyncOriginatorId + " = 1"; clientIdCmd.Parameters.Add("@" + SyncSession.SyncOriginatorId, SqlDbType.Int).Direction = ParameterDirection.Output; serverSyncProvider.SelectClientIdCommand = clientIdCmd; clientSyncProvider.SyncProgress += new EventHandler<syncprogresseventargs>(ShowProgress); clientSyncProvider.ApplyChangeFailed += new EventHandler<applychangefailedeventargs>(ShowFailures); serverSyncProvider.SyncProgress += new EventHandler<syncprogresseventargs>(ShowProgress);
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)