Ejemplo n.º 1
0
        /// <summary>
        /// Add new dcValues , set dcValues reference to control and refresh the control.
        /// </summary>
        /// <param name="dcValues"></param>
        /// <param name="rangeData"></param>
        /// <param name="control"></param>
        internal void ApplyDCValuesAndRefreshControl(DcValues dcValues, DataControlRangeDataCollection rangeData, MgControlBase control)
        {
            //add new DC values collection
            DataviewManager.DataviewSynchronizer.AddDcValues(dcValues, rangeData);

            //set dc values reference
            Task.SetDataControlValuesReference(control.getDitIdx(), dcValues.getId());

            //Update DCValRef of every record after fetching the dataControl values.
            for (int i = 0; i < ((DataView)Task.DataView).getSize(); i++)
            {
                ((DataView)Task.DataView).getRecByIdx(i).AddDcValuesReference(control.getDitIdx(), dcValues.getId());
            }

            //Update DCValRef of original record.
            ((DataView)Task.DataView).getOriginalRec().AddDcValuesReference(control.getDitIdx(), dcValues.getId());

            control.RefreshDisplay();
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal override ReturnResultBase Execute()
        {
            ResultValue res = new ResultValue();

            IClientCommand cmd = CommandFactory.CreatecFetchDataControlValuesCommand(Task.getTaskTag(), control.getName());

            Task.getMGData().CmdsToServer.Add(cmd);

            //Fetch data control values from server.
            RemoteCommandsProcessor.GetInstance().Execute(CommandsProcessorBase.SendingInstruction.TASKS_AND_COMMANDS, CommandsProcessorBase.SessionStage.NORMAL, res);

            //Update DCValRef of every record after fetching the dataControl values.
            for (int i = 0; i < ((DataView)Task.DataView).getSize(); i++)
            {
                ((DataView)Task.DataView).getRecByIdx(i).AddDcValuesReference(control.getDitIdx(), control.getDcRef());
            }

            //Update DCValRef of original record.
            ((DataView)Task.DataView).getOriginalRec().AddDcValuesReference(control.getDitIdx(), control.getDcRef());

            return(new ReturnResult());
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal override ReturnResultBase Execute()
        {
            LocalDataviewManager localDataViewManager = Task.DataviewManager.LocalDataviewManager;

            RuntimeReadOnlyView dataControlView = localDataViewManager.TaskViews.GetDataControlViewByBoundControlId(control.getDitIdx());

            DataSourceId dataSourceId = dataControlView.DataSourceViewDefinition.TaskDataSource.DataSourceDefinition.Id;

            DataControlRangeDataCollection rangeData = new DataControlRangeDataCollection(dataSourceId, dataControlView.RangeBuilder, control.getDitIdx());

            //remove old DataControlRangeDataCollection entry from map.
            localDataViewManager.rangeToDcValuesMap.Remove(rangeData);

            //build new DC values for control
            LocallyComputedDcValuesBuilder dcValuesBuilder = new LocallyComputedDcValuesBuilder(dataControlView);
            var dataControlValues = dcValuesBuilder.Build();

            localDataViewManager.DataviewSynchronizer.ApplyDCValuesAndRefreshControl(dataControlValues, rangeData, control);

            return(new ReturnResult());
        }
Ejemplo n.º 4
0
 public static RecomputeId GetRecomputeId(MgControlBase control)
 {
     return(new RecomputeId(typeof(DcValues), control.getDitIdx()));
 }