Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TikListBase&lt;TEntity&gt;"/> class with given <paramref name="session"/>.
        /// </summary>
        /// <param name="session">The session.</param>
        protected TikListBase(TikSession session)
        {
            Guard.ArgumentNotNull(session, "session");

            this.items = new List<TEntity>();
            this.session = session;
            this.logger = TikSession.CreateLogger(GetType());
        }
        private void SaveAllMoves(TikEntityMetadata metadata, TikSession session)
        {
            Logger.DebugFormat("Going to perform {0} moves.", MovesCount);

            foreach (KeyValuePair <TEntity, TEntity> pair in entityMoves)
            {
                Logger.InfoFormat("MOVE: {0} before {1} ({2} before {3})", Items.IndexOf(pair.Key), Items.IndexOf(pair.Value), pair.Key, pair.Value);

                if (pair.Value != null)
                {
                    session.Connector.ExecuteMove(metadata.EntityPath, pair.Key.Id, pair.Value.Id);
                }
                else
                {
                    session.Connector.ExecuteMoveToEnd(metadata.EntityPath, pair.Key.Id);
                }
            }
            entityMoves.Clear();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TikSingleRowList&lt;TEntity&gt;"/> class.
 /// </summary>
 /// <param name="session">The session used to access mikrotik.</param>
 protected TikSingleRowList(TikSession session)
     : base(session)
 {
 }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TikUnorderedList&lt;TEntity&gt;"/> class.
 /// </summary>
 /// <param name="session">The session used to access mikrotik.</param>
 protected TikUnorderedList(TikSession session)
     : base(session)
 {
 }
        /// <summary>
        /// See <see cref="TikListBase{TEntity}.AfterSaveAllNew"/>.
        /// Additionaly save all moves to mikrotik (see <see cref="ITikConnector.ExecuteMove"/>).
        /// </summary>
        protected override void AfterSaveAllNew(TikEntityMetadata metadata, TikSession session)
        {
            base.AfterSaveAllNew(metadata, session);

            SaveAllMoves(metadata, session);
        }
Example #6
0
 protected virtual void AfterSaveAllDeleted(TikEntityMetadata metadata, TikSession session)
 {
     //dummy
 }
Example #7
0
        private List<TEntity> LoadItemsInternal(TikConnectorQueryFilterDictionary filter, TikSession session)
        {
            List<TEntity> result = new List<TEntity>();

            TikEntityMetadata entityMetadata = TikEntityMetadata.Get(typeof(TEntity));
            IEnumerable<ITikEntityRow> response;
            if (filter != null)
                response = session.Connector.ExecuteReader(entityMetadata.EntityPath, entityMetadata.ReaderBehavior, entityMetadata.PropertyNames, filter);
            else
                response = session.Connector.ExecuteReader(entityMetadata.EntityPath, entityMetadata.ReaderBehavior, entityMetadata.PropertyNames);

            VerifyResponseRows(response);

            foreach (ITikEntityRow entityRow in response)
            {
                TEntity item = new TEntity();
                item.LoadFromEntityRow(entityRow);
                result.Add(item);
            }

            logger.DebugFormat("{0} items loaded.", result.Count);
            return result;
        }