Ejemplo n.º 1
0
        public void Execute()
        {
            if (m_points2Update != null)
            {
                foreach (var point in m_points2Update)
                {
                    if (point.justColored)
                    {
                        m_pointsContainer.ChangeColor(point); // не требуется менять положение
                    }
                    else
                    {
                        m_pointsContainer.Update(point); // требуется сменить цвет/положение
                    }
                }
            }

            if (m_observations2Update != null)
            {
                foreach (var observation in m_observations2Update)
                {
                    m_observationsContainer.Update(observation);
                }
            }
        }
 private void UpdateMap <T>(
     ICollection <T> source,
     Func <T, bool> isNewSelector,
     Func <T, bool> isRemovedSelector,
     Func <T, bool> justColoredSelector,
     Func <T, bool> isValidSelector,
     ICloudObjectsContainer <T> map)
 {
     if (source != null)
     {
         foreach (var element in source)
         {
             if (isValidSelector(element))
             {
                 if (isNewSelector(element))
                 {
                     map.Add(element);
                 }
                 else if (isRemovedSelector(element))
                 {
                     map.Remove(element);
                 }
                 else if (justColoredSelector(element))
                 {
                     map.ChangeColor(element);
                 }
                 else
                 {
                     map.Update(element);
                 }
             }
         }
     }
 }