Example #1
0
 public void ChangesSelected(object proxy, DbChangesSelectedEventArgs args)
 {
     if (null != _progressForm)
     {
         _progressForm.ChangesSelected(args);
     }
 }
Example #2
0
        private void from_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            foreach (var table in TablesToIgnoreAddingFilter.Keys)
            {
                DoPerTableRow(e.Context.DataSet.Tables, table, (dataTable, row) =>
                {
                    if (row.RowState == DataRowState.Added)
                    {
                        if (TablesToIgnoreAddingFilter[table](row))
                        {
                            dataTable.Rows.Remove(row);
                        }
                    }
                });
            }
            foreach (var table in TableToIdsForSync.Keys)
            {
                DoPerTableRow(e.Context.DataSet.Tables, table, (dataTable, row) =>
                {
                    if (!TableToIdsForSync[table].Contains(row["Id"]))
                    {
                        dataTable.Rows.Remove(row);
                    }
                });
            }

            foreach (var table in TableRowsShaper.Keys)
            {
                DoPerTableRow(e.Context.DataSet.Tables, table, (dataTable, row) =>
                {
                    TableRowsShaper[table](row);
                });
            }
        }
Example #3
0
 public void ChangesSelected(object proxy, DbChangesSelectedEventArgs args)
 {
     if (null != _progressForm)
     {
         _progressForm.ChangesSelected(args);
     }
 }
        protected void proveedor_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            String mensaje =
                string.Format(
                    "{0}:{1}\n\r{2}:{3}\n\r{4}:{5}\n\r{6}:{7}\n\r{8}:{9}\n\r",
                    "\tSource Database :", e.Connection.Database,
                    "\tContexto        :", e.Context,
                    "\tBatch count     :", e.ScopeMetadata.BatchCount,
                    "\tSession Id      :", e.Session.SessionId,
                    "\tTransaccion     :", e.Transaction.ToString());

            Loguear("proveedor_ChangesSelected", mensaje);
        }
 private void ServerSyncProviderOnChangesSelected(object sender, DbChangesSelectedEventArgs e)
 {
     for (var i = 0; i < e.Context.DataSet.Tables.Count; i++)
     {
         var dataTable = e.Context.DataSet.Tables[i];
         for (var j = 0; j < dataTable.Rows.Count; j++)
         {
             var row = dataTable.Rows[j];
             Console.WriteLine("Server Change selected: ");
             Console.WriteLine("-Table: " + dataTable.TableName);
             Console.WriteLine("-Row " + row.ItemArray[0] + ": " + row.RowState);
         }
     }
 }
        private void ClientSyncProviderOnChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            Console.WriteLine("Client Change selected: ");
            for (var i = 0; i < e.Context.DataSet.Tables.Count; i++)
            {
                var dataTable = e.Context.DataSet.Tables[i];
                for (var j = 0; j < dataTable.Rows.Count; j++)
                {
                    var row = dataTable.Rows[j];

                    Console.WriteLine(dataTable.TableName + "[" + j + "]: " + row.RowState);

                }
            }
        }
Example #7
0
        public void ChangesSelected(DbChangesSelectedEventArgs args)
        {
            DbSyncScopeProgress progress = args.Context.ScopeProgress;
            string message = "";
            listSyncProgress.Items.Add(message);

            foreach (DbSyncTableProgress tableProgress in args.Context.ScopeProgress.TablesProgress)
            {
                message = "Enumerated changes for table: " + tableProgress.TableName;
                message += "[Inserts:" + tableProgress.Inserts.ToString() + "/Updates :" + tableProgress.Updates.ToString() + "/Deletes :" + tableProgress.Deletes.ToString() + "]";
                listSyncProgress.Items.Add(message);
            }
            message = "Total Changes Enumerated: " + progress.TotalChanges.ToString() + "  Inserts :" + progress.TotalInserts.ToString();
            message += "  Updates :" + progress.TotalUpdates.ToString() + "  Deletes :" + progress.TotalDeletes.ToString();
            listSyncProgress.Items.Add(message);
            Application.DoEvents();
        }
Example #8
0
        public void ChangesSelected(DbChangesSelectedEventArgs args)
        {
            DbSyncScopeProgress progress = args.Context.ScopeProgress;
            string message = "";

            listSyncProgress.Items.Add(message);

            foreach (DbSyncTableProgress tableProgress in args.Context.ScopeProgress.TablesProgress)
            {
                message  = "Enumerated changes for table: " + tableProgress.TableName;
                message += "[Inserts:" + tableProgress.Inserts.ToString() + "/Updates :" + tableProgress.Updates.ToString() + "/Deletes :" + tableProgress.Deletes.ToString() + "]";
                listSyncProgress.Items.Add(message);
            }
            message  = "Total Changes Enumerated: " + progress.TotalChanges.ToString() + "  Inserts :" + progress.TotalInserts.ToString();
            message += "  Updates :" + progress.TotalUpdates.ToString() + "  Deletes :" + progress.TotalDeletes.ToString();
            listSyncProgress.Items.Add(message);
            Application.DoEvents();
        }
Example #9
0
        //CLIENT! -> SERVER (COLUMNS)
        private void localProvider_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            foreach (var table in tables)
            {
                if (e.Context.DataSet.Tables.Contains(table.ServerTableName))
                {
                    var dataTable    = e.Context.DataSet.Tables[table.ServerTableName];
                    var tableColumns = columns.Where(c => c.MatchingTableNameID == table.ID).ToList();

                    foreach (var tableColumn in tableColumns)
                    {
                        dataTable.Columns[tableColumn.ClientColumnName].ColumnName = tableColumn.ServerColumnName;
                    }

                    var serverNullColumns = tableColumns.Where(t => t.ServerColumnNullCheck == 1).ToList();

                    if (serverNullColumns.Any())
                    {
                        for (int j = 0; j < dataTable.Rows.Count; j++)
                        {
                            DataRow row = dataTable.Rows[j];
                            if (row.RowState != DataRowState.Deleted)
                            {
                                foreach (var serverNullColumn in serverNullColumns) //Передаем на сервер вместо пустых значений null (NULL на сервере)
                                {
                                    if ((serverNullColumn.ServerColumnFieldType == 1 || serverNullColumn.ServerColumnFieldType == 2) && Convert.ToInt32(row[serverNullColumn.ServerColumnName]) == 0)
                                    {
                                        row[serverNullColumn.ServerColumnName] = DBNull.Value;
                                    }
                                    else if ((serverNullColumn.ServerColumnFieldType == 3 || serverNullColumn.ServerColumnFieldType == 8) && String.IsNullOrEmpty(row[serverNullColumn.ServerColumnName].ToString()))
                                    {
                                        row[serverNullColumn.ServerColumnName] = DBNull.Value;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #10
0
        //SERVER! -> CLIENT (COLUMNS)
        private void remoteProvider_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            foreach (var table in tables)
            {
                if (e.Context.DataSet.Tables.Contains(table.ServerTableName))
                {
                    var dataTable    = e.Context.DataSet.Tables[table.ServerTableName];
                    var tableColumns = columns.Where(c => c.MatchingTableNameID == table.ID).ToList();

                    foreach (var tableColumn in tableColumns)
                    {
                        dataTable.Columns[tableColumn.ServerColumnName].ColumnName = tableColumn.ClientColumnName;
                    }

                    var serverNullColumns = tableColumns.Where(t => t.ServerColumnNullCheck == 1).ToList();

                    if (serverNullColumns.Any())
                    {
                        for (int j = 0; j < dataTable.Rows.Count; j++)
                        {
                            DataRow row = dataTable.Rows[j];
                            if (row.RowState != DataRowState.Deleted)
                            {
                                foreach (var serverNullColumn in serverNullColumns) //Передаем на клиент вместо null значения по умолчанию (NULL на сервере)
                                {
                                    if ((serverNullColumn.ServerColumnFieldType == 1 || serverNullColumn.ServerColumnFieldType == 2) && row[serverNullColumn.ClientColumnName] == DBNull.Value)
                                    {
                                        row[serverNullColumn.ClientColumnName] = 0;
                                    }
                                    else if ((serverNullColumn.ServerColumnFieldType == 3 || serverNullColumn.ServerColumnFieldType == 8) && row[serverNullColumn.ClientColumnName] == DBNull.Value)
                                    {
                                        row[serverNullColumn.ClientColumnName] = "";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        ///     Client processing - collating changes to send to the server
        ///     Fires before anything is "done", perfect spot to apply obscure business rules
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void Program_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            //let's check if we're synching the table we're interested
            if (e.Context.DataSet.Tables.Contains("Invoices"))
            {
                var dataTable = e.Context.DataSet.Tables["Invoices"];
                for (var j = 0; j < dataTable.Rows.Count; j++)
                {
                    var row = dataTable.Rows[j];

                    // we're only interested in updates
                    if (row.RowState == DataRowState.Modified)
                    {
                        // check if the status is Completed
                        if (Convert.ToInt64(row["Quantity"]) < 0)
                        {
                            // let's delete the row so it gets applied as a delete instead of applying it as an update
                            dataTable.Rows[j].Delete();
                        }
                    }
                }
            }
        }
Example #12
0
 private void DbSynchronizer_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
 {
     Log("Start Time: ");
     Log(string.Empty);
 }
 protected abstract void SyncProviderOnChangesSelected(object sender, DbChangesSelectedEventArgs dbChangesSelectedEventArgs);
        protected void proveedor_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
        {
            String mensaje =
               string.Format(
                "{0}:{1}\n\r{2}:{3}\n\r{4}:{5}\n\r{6}:{7}\n\r{8}:{9}\n\r",
                "\tSource Database :", e.Connection.Database,
                "\tContexto        :", e.Context,
                "\tBatch count     :", e.ScopeMetadata.BatchCount,
                "\tSession Id      :", e.Session.SessionId,
                "\tTransaccion     :", e.Transaction.ToString());

            this.loguear( "proveedor_ChangesSelected",mensaje);
        }
Example #15
0
 private void DbSynchronizer_ChangesSelected(object sender, DbChangesSelectedEventArgs e)
 {
     Log("Извлечены изменения: " + DateTime.Now.ToLongTimeString());
 }
Example #16
0
 protected override void SyncProviderOnChangesSelected(object sender, DbChangesSelectedEventArgs dbChangesSelectedEventArgs)
 {
     ShowMessage("Local");
 }
 public void SynchronizeServer_ChangesSelected(object sender, DbChangesSelectedEventArgs args)
 {
     LogChanges(args.Context.ScopeProgress.TablesProgress, "Server Changes Selected");
 }