Пример #1
0
 Boolean ProcessOneElement(ReplicationService.DataForGet dg, ref Boolean bError)
 {
     if (dg == null)
     {
         return(false);
     }
     ReplicationService.PackageData pd = _client.GetDataForGet(_clientId, _sessionId, dg);
     if (pd == null)
     {
         return(false);
     }
     if (!pd.HasContent)
     {
         return(false);
     }
     if (pd.Tables == null)
     {
         return(false);
     }
     foreach (var t in pd.Tables)
     {
         ProcessSingleTable(t);
     }
     using (var cmd = _cnn.CreateCommand())
     {
         cmd.CommandText = String.Format("a2repl.{0}_from_server_written", dg.TableName);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.AddWithValue("@id", dg.Id);
         cmd.ExecuteNonQuery();
     }
     _client.SetDataForGetSent(_clientId, _sessionId, dg);
     return(true);
 }
Пример #2
0
 Boolean ProcessPackage(ref Boolean bError)
 {
     // получаем ID и имя элемента для отправки
     ReplicationService.DataForGet dg = _client.GetItemForGet(_clientId, _sessionId);
     if (dg == null)
     {
         return(false); // нет данных
     }
     Log.Write("\t{0} Id={1}{2} ...", dg.TableName, dg.Id.ToString(), SqlExtension.Id2String(dg.Id));
     if (!ProcessOneElement(dg, ref bError))
     {
         Log.WriteLine("   ошибка");
         return(false);
     }
     Log.WriteLine("   успешно");
     return(true);
 }