Ejemplo n.º 1
0
 private void ProcessChangeSet(List <SyncChange> changes)
 {
     try
     {
         var queries = new List <SQLQuery>();
         foreach (var change in changes)
         {
             var data = GetDataFromSource(change);
             if (data.Count > 0)
             {
                 var query = GetQueryForChange(change, data);
                 queries.Add(query);
             }
         }
         if (queries.Count > 0)
         {
             destinationDB.RunQuery(queries, true);
         }
         else
         {
             //log???
         }
         SetPerformanceCounters(changes);
         syncChangesData.UpdateStatusOfChanges(changes, RowChangeStatus.complete);
     }
     catch (Exception ex)
     {
         try
         {
             MakeSureIdentityInsertIsOff(changes);
             ex.WriteToApplicationLog();
             PerformanceCounters.AddRowsErrored(changes.Count);
             syncChangesData.UpdateStatusOfChanges(changes, RowChangeStatus.error);
         }
         catch (Exception ex2)
         {
             ex2.WriteToApplicationLog();
         }
     }
 }