示例#1
0
        protected override void DoStart()
        {
            _parameterMetaDataList = _flatParameterMetaDataRepository.All().ToList();

            foreach (var parameterMetaData in _parameterMetaDataList)
            {
                parameterMetaData.ParentContainerPath = _flatContainerRepository.ContainerPathFrom(parameterMetaData.ContainerId).ToString();
            }

            //now cache the _parameter values
            foreach (var parameterValueMetaDataGroup in _parameterMetaDataList.GroupBy(x => x.ParentContainerPath))
            {
                _parameterMetaDataCache.Add(parameterValueMetaDataGroup.Key, new List <TParameterMetaData>(parameterValueMetaDataGroup));
            }
        }
      protected override void DoStart()
      {
         _parameterMetaDataList = _flatParameterMetaDataRepository.All().ToList();

         _parameterMetaDataList.Each(parameterMetaData =>
         {
            parameterMetaData.ParentContainerPath = _flatContainerRepository.ContainerPathFrom(parameterMetaData.ContainerId).ToString();
            //Use clone here to ensure that we are not modifying the reference stored in the repository
            var valueOrigin = _valueOriginRepository.FindBy(parameterMetaData.ValueOriginId).Clone();
            parameterMetaData.ValueOrigin = valueOrigin;
         });

         //now cache the parameter meta data by container path
         foreach (var parameterValueMetaDataGroup in _parameterMetaDataList.GroupBy(x => x.ParentContainerPath))
         {
            _parameterMetaDataCacheByContainer.Add(parameterValueMetaDataGroup.Key, new List<TParameterMetaData>(parameterValueMetaDataGroup));            
         }


      }