/// <summary>
        /// Sybase internal use only.
        /// <summary>
        public void RbsReplayInternal(YPF.Comercial.RRCC.SUP.RelevamientoPrecios entity)
        {
            YPF.Comercial.RRCC.SUP.intrnl.OperationReplay _replay = new YPF.Comercial.RRCC.SUP.intrnl.OperationReplay();
            _replay.RemoteId  = (".");
            _replay.Component = ("CRMMobileDesa.RelevamientoPrecios_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.RelevamientoPrecios.__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.RelevamientoPrecios entity = (YPF.Comercial.RRCC.SUP.RelevamientoPrecios)(YPF.Comercial.RRCC.SUP.RelevamientoPrecios.__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.RelevamientoPrecios _client        = YPF.Comercial.RRCC.SUP.RelevamientoPrecios.Find(entity._pk());
                YPF.Comercial.RRCC.SUP.RelevamientoPrecios _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.RelevamientoPrecios.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.RelevamientoPrecios.GetCallbackHandler().OnReplayFailure(_client);
                }
                _call.Delete();
                tran.Commit();
            }
            catch (Sybase.Persistence.PersistenceException pe)
            {
                tran.Rollback();
                throw pe;
            }
            catch (System.ApplicationException e)
            {
                tran.Rollback();
                throw e;
            }
            //}
        }
예제 #3
0
 /// <summary>
 /// Set current MBO attributes by specified MBO.
 /// </summary>
 public static YPF.Comercial.RRCC.SUP.RelevamientoPrecios Merge(YPF.Comercial.RRCC.SUP.RelevamientoPrecios entity)
 {
     YPF.Comercial.RRCC.SUP.RelevamientoPrecios ent = Find(entity._pk());
     if (ent == null)
     {
         ent = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
     }
     ent.CopyAll(entity);
     ent.Save();
     return ent;
 }
예제 #4
0
 /// <summary>
 /// Sybase internal use only.
 /// <summary>
 public void SetOriginalState(YPF.Comercial.RRCC.SUP.RelevamientoPrecios orig)
 {
     __originalStateValid = true;
     __originalState = orig;
 }
예제 #5
0
 private static YPF.Comercial.RRCC.SUP.RelevamientoPrecios _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.RelevamientoPrecios _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.RelevamientoPrecios();
             _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();
     }
 }
예제 #6
0
 protected  override void Bind(Sybase.Persistence.ConnectionProfile profile, System.Data.IDataReader rs) 
 {
     this.__idInteraccion = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"idInteraccion",0);
     this.__interaccion_nroOperacionSAP = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"interaccion_nroOperacionSAP",1);
     this.__relevamientoPreciosProducto_CodigoSAP = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"relevamientoPreciosProducto_CodigoSAP",2);
     this.__precio = com.sybase.afx.db.ReaderUtil.GetDecimal(profile,rs,"precio",3);
     this.__volumen = com.sybase.afx.db.ReaderUtil.GetString(profile,rs,"volumen",4);
     this.__pending = com.sybase.afx.db.ReaderUtil.GetBoolean(profile,rs,"pending",5);
     this.__pendingChange = com.sybase.afx.db.ReaderUtil.GetChar(profile,rs,"pendingChange",6);
     this.__replayPending = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayPending",7);
     this.__replayFailure = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayFailure",8);
     this.__interaccionFK = com.sybase.afx.db.ReaderUtil.GetNullableLong(profile,rs,"interaccionFK",9);
     this.__surrogateKey = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"surrogateKey",10);
     this.__replayCounter = com.sybase.afx.db.ReaderUtil.GetLong(profile,rs,"replayCounter",11);
     this.__disableSubmit = com.sybase.afx.db.ReaderUtil.GetBoolean(profile,rs,"disableSubmit",12);
     _isNew = false;
     _isDirty = false;
     if (this.IsPending)
     {
         this.SetOriginalState(null);
         this.__originalStateValid = false;
     }
     else
     {
         YPF.Comercial.RRCC.SUP.RelevamientoPrecios os_1 = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
         os_1.CopyAll(this);
         this.SetOriginalState(os_1);
     }
 }
예제 #7
0
 /// <summary>
 /// Refresh the mobile business object from database.
 /// </summary>
 public void Refresh()
 {
     if (!_isNew && !__isOsEntity)
     {
         YPF.Comercial.RRCC.SUP.RelevamientoPrecios ent = Load(_pk());
         CopyAll(ent);
         if (this.IsPending)
         {
             this.SetOriginalState(null);
             this.__originalStateValid = false;
         }
         else
         {
             YPF.Comercial.RRCC.SUP.RelevamientoPrecios os_1 = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
             os_1.CopyAll(this);
             this.SetOriginalState(os_1);
         }
         _isNew = false;
         _isDirty = false;
     }
 }
예제 #8
0
 internal static YPF.Comercial.RRCC.SUP.RelevamientoPrecios FromJSON(object _json)
 {
     if (_json == null)
     {
         return null;
     }
     else
     {
         YPF.Comercial.RRCC.SUP.RelevamientoPrecios _obj = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
         _obj._fromJSON((com.sybase.afx.json.JsonObject)_json);
         return _obj;
     }
 }
예제 #9
0
 /// <summary>
 /// Find a List of YPF.Comercial.RRCC.SUP.RelevamientoPrecios
 /// </summary>
 /// <exception cref="PersistentException">Thrown if unable to retrieve mobile business object.</exception>
 /// <remarks> </remarks>
 public static Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoPrecios> GetPendingObjects(char pendingChange, int skip, int take)
 {
         skip = skip + 1;
     Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoPrecios> result_2 = new Sybase.Collections.GenericList<YPF.Comercial.RRCC.SUP.RelevamientoPrecios>();
     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.\"d\",x.\"e\",x.\"pending\",x.\"_pc\",x.\"_rp\",x.\"_rf\",x.\"interaccionFK\",x.\"f\",x.\"_rc\",x.\"_ds\" from \"crmmobiledesa_1_0_relevamientoprecios\" 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.RelevamientoPrecios entity_6 = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
             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; 
   
 }
예제 #10
0
 /// <summary>
 /// Find a mobile business object YPF.Comercial.RRCC.SUP.RelevamientoPrecios
 /// </summary>
 /// <exception cref="PersistentException">Thrown if unable to retrieve mobile business object.</exception>
 /// <remarks> </remarks>
 public static YPF.Comercial.RRCC.SUP.RelevamientoPrecios FindByPrimaryKey(string idInteraccion
                                                                           ,string relevamientoPreciosProducto_CodigoSAP)
 {
     YPF.Comercial.RRCC.SUP.RelevamientoPrecios 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.\"d\",x.\"e\",x.\"pending\",x.\"_pc\",x.\"_rp\",x.\"_rf\",x.\"interaccionFK\",x.\"f\",x.\"_rc\",x.\"_ds\" FROM \"crmmobiledesa_1_0_relevamientoprecios\" x WHERE (((x.\"pending\" = 1 or not exists (select x_os.\"f\" from \"crmmobiledesa_1_0_relevamientoprecios_os\" x_os w"
                                 + "here x_os.\"f\" = x.\"f\")))) and ( x.\"a\" = ? AND x.\"c\" = ?)";
         System.Data.IDbCommand ps_3 = com.sybase.afx.db.CommandUtil.CreateCommand(_conn, _selectSQL);
         com.sybase.afx.db.CommandUtil.SetString(_conn.GetConnectionProfile(), ps_3, "idInteraccion", idInteraccion);
         com.sybase.afx.db.CommandUtil.SetString(_conn.GetConnectionProfile(), ps_3, "relevamientoPreciosProducto_CodigoSAP", relevamientoPreciosProducto_CodigoSAP);
         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.RelevamientoPrecios entity_6 = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
             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; 
   
 }
예제 #11
0
 private void Internal_Create()
 {
     bool ok = true;
     Sybase.Persistence.LocalTransaction localTransaction = null;
     try
     {
         localTransaction = YPF.Comercial.RRCC.SUP.CRMMobileDesaDB.BeginTransaction();
         if(__surrogateKey == 0) __surrogateKey = (long)(YPF.Comercial.RRCC.SUP.KeyGenerator.GenerateId());
         YPF.Comercial.RRCC.SUP.RelevamientoPrecios os_1 = new YPF.Comercial.RRCC.SUP.RelevamientoPrecios();
         os_1.CopyAll(this);
         this.SetOriginalState(os_1);
         PendingChange = 'C';
         SetReplayCounter(KeyGenerator.GenerateId());
         SetReplayFailure(0);
         ReplayPending = 0;
         if(_isNew)
         {
             Create(true);
         }
         else
         {
             Update(true);
         }
     }
     catch(System.SystemException e)
     {
         ok = false;
         throw e;
     }
     finally
     {
         if(localTransaction != null)
         {
             localTransaction.EndTransaction(ok);
         }
     }
 }