/// <summary>
        /// override - always get a new record, and no need to refresh the position cache
        /// </summary>
        /// <returns></returns>
        protected override IRecord GetBasicRecord()
        {
            IRecord       record = DataviewSynchronizer.GetRecord(false);
            GatewayResult result = TaskViews.GetPrimaryView().Fetch(record);

            if (!result.Success)
            {
                DataviewSynchronizer.RemoveRecord(record);
                record = null;
            }
            return(record);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal override ReturnResultBase Execute()
        {
            IRecord record = DataviewSynchronizer.GetCurrentRecord();

            GatewayResult result = TaskViews.GetPrimaryView().FetchCurrent(record);

            if (result.Success)
            {
                TaskViews.RecordComputer.Compute(record, false, false, false);
            }

            return(result);
        }
示例#3
0
        /// <summary>
        /// fetch record
        /// </summary>
        /// <returns></returns>
        protected virtual IRecord GetBasicRecord()
        {
            IRecord record = DataviewSynchronizer.GetRecord(UseFirstRecord);

            UseFirstRecord = false;
            GatewayResult result = TaskViews.GetPrimaryView().Fetch(record);

            UpdateViewEnd(result);
            if (!result.Success)
            {
                DataviewSynchronizer.RemoveRecord(record);
                record = null;
            }
            return(record);
        }