/// <summary>
        /// Sybase internal use only.
        /// <summary>
        public void RbsReplayInternal(YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto entity)
        {
            YPF.Comercial.RRCC.SUP.intrnl.OperationReplay _replay = new YPF.Comercial.RRCC.SUP.intrnl.OperationReplay();
            _replay.RemoteId  = (".");
            _replay.Component = ("CRMMobileDesa.RelevamientoProductoProducto_rs");
            _replay.EntityKey = (entity.KeyToString());
            _replay.Operation = (entity.LastOperation);
            bool _includeBig = !("delete").Equals(_replay.Operation);

            com.sybase.afx.json.JsonObject _parameters = new com.sybase.afx.json.JsonObject();
            _parameters.Put("entity", YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto.__toJSON(entity, _includeBig));
            //_replay.Parameters =(_parameters.ToString());
            //lock(typeof(YPF.Comercial.RRCC.SUP.CRMMobileDesaDB))
            //{
            Sybase.Persistence.ConnectionWrapper _conn = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.AcquireDBWriteConnection();
            Sybase.Persistence.LocalTransaction  _tran = null;
            try
            {
                _tran = _conn.BeginTransaction();

                com.sybase.afx.json.JsonObject _json = new com.sybase.afx.json.JsonObject();
                _replay.Attributes = (_json.ToString());
                _replay.Save();
                _replay.SaveParameter(_parameters);
                _tran.Commit();
            }
            catch (Sybase.Persistence.PersistenceException pe)
            {
                _tran.Rollback();
                throw pe;
            }
            catch (System.ApplicationException e)
            {
                _tran.Rollback();
                throw e;
            }
            //}
        }
        public void Finish_rbsReplayInternal(Sybase.Persistence.IOperationReplay _call_tmp)
        {
            YPF.Comercial.RRCC.SUP.intrnl.OperationReplay _call = (YPF.Comercial.RRCC.SUP.intrnl.OperationReplay)_call_tmp;
            com.sybase.afx.json.JsonObject parameters           = (com.sybase.afx.json.JsonObject)(com.sybase.afx.json.JsonReader
                                                                                                   .Parse(_call.Parameters));
            string exception = _call.Exception;

            YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto entity = (YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto)(YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto.__fromJSON(parameters.Get("entity")));

            //lock(typeof(YPF.Comercial.RRCC.SUP.CRMMobileDesaDB))
            //{
            Sybase.Persistence.ConnectionWrapper conn = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.AcquireDBWriteConnection();
            Sybase.Persistence.LocalTransaction  tran = null;
            try
            {
                tran = conn.BeginTransaction();

                long ____id = entity.ReplayCounter;
                YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto _client        = YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto.Find(entity._pk());
                YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto _downloadState = null;
                if (_client != null)
                {
                    _downloadState = _client.DownloadState;
                }
                if (exception == null)
                {
                    YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.GetCallbackHandler().OnReplaySuccess(_client == null ? entity : _client);
                    YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto.GetCallbackHandler().OnReplaySuccess(_client == null ? entity : _client);
                    if ((_client != null) && _client.IsPending)
                    {
                        long _rc = _client.ReplayPending;
                        if (_rc == ____id)
                        {
                            if (_rc == _client.ReplayCounter)
                            {
                                _client._cancelPending2(false);
                            }
                            else
                            {
                                _client.ReplayPending = 0;
                                _client.ReplayFailure = 0;
                                _client.__update(true);
                            }
                        }
                    }
                }
                else
                {
                    _client.ReplayFailure = (_client.ReplayPending);
                    _client._cascadeUpdateReplayCounterPending(false);
                    if (_client != null && _client.ReplayPending == ____id)
                    {
                        _client.ReplayPending = (0);
                        _client.ReplayCounter = (YPF.Comercial.RRCC.SUP.KeyGenerator.GenerateId());
                        _client.ReplayFailure = (____id);
                        _client.__update(true);
                        if (_downloadState != null)
                        {
                            _downloadState._update_os();
                        }
                    }
                    YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.GetCallbackHandler().OnReplayFailure(_client);
                    YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto.GetCallbackHandler().OnReplayFailure(_client);
                }
                _call.Delete();
                tran.Commit();
            }
            catch (Sybase.Persistence.PersistenceException pe)
            {
                tran.Rollback();
                throw pe;
            }
            catch (System.ApplicationException e)
            {
                tran.Rollback();
                throw e;
            }
            //}
        }
 /// <summary>
 /// Find a mobile business object YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto
 /// </summary>
 /// <exception cref="PersistentException">Thrown if unable to retrieve mobile business object.</exception>
 /// <remarks> </remarks>
 public static YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto FindByPrimaryKey(int idRelevamientoProductoProducto)
 {
     YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto result_2 = null;
     System.Data.IDataReader rs_4 = null;
     int count_5 = 0;
     Sybase.Persistence.ConnectionWrapper _conn = null;
     try
     {
         _conn = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.AcquireDBReadConnection();
         string _selectSQL = "SELECT x.\"a\",x.\"b\",x.\"c\",x.\"pending\",x.\"_pc\",x.\"_rp\",x.\"_rf\",x.\"d\",x.\"_rc\",x.\"_ds\" FROM \"crmmobiledesa_1_0_relevamientoproductoproducto\" x WHERE (((x.\"pending\" = 1 or not exists (select x_os.\"d\" from \"crmmobiledesa_1_0_relevamientoproductoproducto_os\" x_os where x_os.\"d"
                                 + "\" = x.\"d\")))) and ( x.\"a\" = ?)";
         System.Data.IDbCommand ps_3 = com.sybase.afx.db.CommandUtil.CreateCommand(_conn, _selectSQL);
         com.sybase.afx.db.CommandUtil.SetInt(_conn.GetConnectionProfile(), ps_3, "idRelevamientoProductoProducto", idRelevamientoProductoProducto);
         rs_4 = ps_3.ExecuteReader();
         Sybase.Persistence.ConnectionProfile profile = _conn.GetConnectionProfile();
         while (com.sybase.afx.db.ReaderUtil.Read(profile, rs_4))
         {       
             YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto entity_6 = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
             entity_6.Bind(profile, rs_4);
             count_5++;
             result_2 = entity_6;
         }
         if (rs_4 != null) com.sybase.afx.db.ReaderUtil.Close(profile, rs_4, count_5);
         if (ps_3 != null) ps_3.Dispose();
         _selectSQL = null;
     }
     catch (System.Data.DataException ex)
     {
         throw new Sybase.Persistence.PersistenceException(ex.ToString(), ex);
     }
     finally
     {
         YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.ReleaseDBConnection();
     } 
     return result_2; 
   
 }
 /// <summary>
 /// Set current MBO attributes by specified MBO.
 /// </summary>
 public static YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto Merge(YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto entity)
 {
     YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto ent = Find(entity._pk());
     if (ent == null)
     {
         ent = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
     }
     ent.CopyAll(entity);
     ent.Save();
     return ent;
 }
 /// <summary>
 /// Sybase internal use only.
 /// <summary>
 public void SetOriginalState(YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto orig)
 {
     __originalStateValid = true;
     __originalState = orig;
 }
 protected  override void Bind(Sybase.Persistence.ConnectionProfile profile, System.Data.IDataReader rs) 
 {
     this.__idRelevamientoProductoProducto = com.sybase.afx.db.ReaderUtil.GetInt(profile,rs,"idRelevamientoProductoProducto",0);
     this.__descripcion = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"descripcion",1);
     this.__codigoSAP = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"codigoSAP",2);
     this.__pending = com.sybase.afx.db.ReaderUtil.GetBoolean(profile,rs,"pending",3);
     this.__pendingChange = com.sybase.afx.db.ReaderUtil.GetChar(profile,rs,"pendingChange",4);
     this.__replayPending = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayPending",5);
     this.__replayFailure = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayFailure",6);
     this.__surrogateKey = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"surrogateKey",7);
     this.__replayCounter = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayCounter",8);
     this.__disableSubmit = com.sybase.afx.db.ReaderUtil.GetBoolean(profile,rs,"disableSubmit",9);
     _isNew = false;
     _isDirty = false;
     if (this.IsPending)
     {
         this.SetOriginalState(null);
         this.__originalStateValid = false;
     }
     else
     {
         YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto os_1 = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
         os_1.CopyAll(this);
         this.SetOriginalState(os_1);
     }
 }
 private static YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto _find(long id, String sql, bool findOs, bool findNonPending)
 {
     Sybase.Persistence.ConnectionWrapper _conn = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.AcquireDBReadConnection();
     System.Data.IDataReader _rs = null;
     int count = 0;
     try
     {
         YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto _rt = null;
         System.Data.IDbCommand ps = com.sybase.afx.db.CommandUtil.CreateCommand(_conn, sql);
         com.sybase.afx.db.CommandUtil.SetLong(_conn.GetConnectionProfile(), ps, "surrogateKey", id);
         _rs = ps.ExecuteReader();
         Sybase.Persistence.ConnectionProfile profile = _conn.GetConnectionProfile();
         while (com.sybase.afx.db.ReaderUtil.Read(profile, _rs))
         {
             _rt = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
             _rt.Bind(profile, _rs);
             count++;
             if(findOs)
             {
                 _rt.__isOsEntity = true;
                 _rt.__pending = false;  
             }
             if( !findNonPending )
             {
                 if(_rt.IsPending)
                 {
                     break;
                 }
             }
             else
             {
                 if( !_rt.IsPending )
                 {
                     break;
                 }
                 else
                 {
                     _rt = null;
                 }
             }
         }
         if (_rs != null) com.sybase.afx.db.ReaderUtil.Close(profile, _rs, count);
         if (ps != null) ps.Dispose();
         return _rt;
     }
     catch(System.Data.DataException ex)
     {
         throw new Sybase.Persistence.PersistenceException(ex.ToString(), ex);
     }
     finally
     {
         YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.ReleaseDBConnection();
     }
 }
 /// <summary>
 /// Refresh the mobile business object from database.
 /// </summary>
 public void Refresh()
 {
     if (!_isNew && !__isOsEntity)
     {
         YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto ent = Load(_pk());
         CopyAll(ent);
         if (this.IsPending)
         {
             this.SetOriginalState(null);
             this.__originalStateValid = false;
         }
         else
         {
             YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto os_1 = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
             os_1.CopyAll(this);
             this.SetOriginalState(os_1);
         }
         _isNew = false;
         _isDirty = false;
     }
 }
 internal static YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto FromJSON(object _json)
 {
     if (_json == null)
     {
         return null;
     }
     else
     {
         YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto _obj = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
         _obj._fromJSON((com.sybase.afx.json.JsonObject)_json);
         return _obj;
     }
 }
 /// <summary>
 /// Find a List of YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto
 /// </summary>
 /// <exception cref="PersistentException">Thrown if unable to retrieve mobile business object.</exception>
 /// <remarks> </remarks>
 public static Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto> GetPendingObjects(char pendingChange, int skip, int take)
 {
         skip = skip + 1;
     Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto> result_2 = new Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto>();
     System.Data.IDataReader rs_4 = null;
     int count_5 = 0;
     Sybase.Persistence.ConnectionWrapper _conn = null;
     try
     {
         _conn = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.AcquireDBReadConnection();
         string _selectSQL = " x.\"a\",x.\"b\",x.\"c\",x.\"pending\",x.\"_pc\",x.\"_rp\",x.\"_rf\",x.\"d\",x.\"_rc\",x.\"_ds\" from \"crmmobiledesa_1_0_relevamientoproductoproducto\" x where x.\"_pc\" = ?";
         _selectSQL = "select top " + take + " start at " + skip + " " + _selectSQL;
         System.Data.IDbCommand ps_3 = com.sybase.afx.db.CommandUtil.CreateCommand(_conn, _selectSQL);
         com.sybase.afx.db.CommandUtil.SetChar(_conn.GetConnectionProfile(), ps_3, "pendingChange", pendingChange);
         rs_4 = ps_3.ExecuteReader();
         Sybase.Persistence.ConnectionProfile profile = _conn.GetConnectionProfile();
         while (com.sybase.afx.db.ReaderUtil.Read(profile, rs_4))
         {       
             YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto entity_6 = new YPF.Comercial.RRCC.SUP.RelevamientoProductoProducto();
             entity_6.Bind(profile, rs_4);
             count_5++;
             result_2.Add(entity_6);
         }
         if (rs_4 != null) com.sybase.afx.db.ReaderUtil.Close(profile, rs_4, count_5);
         if (ps_3 != null) ps_3.Dispose();
         _selectSQL = null;
     }
     catch (System.Data.DataException ex)
     {
         throw new Sybase.Persistence.PersistenceException(ex.ToString(), ex);
     }
     finally
     {
         YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.ReleaseDBConnection();
     } 
     return result_2; 
   
 }