/// <summary>
        /// Creates a Temporal Layer using the specified feature class and add it to the map.
        /// </summary>
        /// <param name="featureClass">The feature class to use for the temporal layer.</param>
        /// <param name="eventFieldName">Indicates the feature class column that identifies or groups temporal observations with time series.</param>
        /// <param name="temporalFieldName">Identifies the temporal field, which must be a field type whose data can be converted to a date value.</param>
        private void AddTemporalLayer(IFeatureClass featureClass, string eventFieldName, string temporalFieldName)
        {
            ITemporalLayer          temporalFeatureLayer = new TemporalFeatureLayerClass();
            IFeatureLayer2          featureLayer         = temporalFeatureLayer as IFeatureLayer2;
            ILayer                  layer             = temporalFeatureLayer as ILayer;
            ITemporalRenderer       temporalRenderer  = new CoTrackSymbologyRendererClass();
            ITemporalRenderer2      temporalRenderer2 = (ITemporalRenderer2)temporalRenderer;
            IFeatureRenderer        featureRenderer   = temporalRenderer as IFeatureRenderer;
            ITrackSymbologyRenderer trackRenderer     = temporalRenderer as ITrackSymbologyRenderer;

            if (featureLayer != null)
            {
                featureLayer.FeatureClass = featureClass;
            }

            if (featureRenderer != null)
            {
                temporalRenderer.TemporalObjectColumnName = eventFieldName;
                temporalRenderer.TemporalFieldName        = temporalFieldName;
                temporalFeatureLayer.Renderer             = featureRenderer;
            }

            if (trackRenderer != null)
            {
                //Create green color value
                IRgbColor rgbColor = new RgbColorClass();
                rgbColor.RGB = 0x00FF00;

                //Create simple thin green line
                ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbolClass();
                simpleLineSymbol.Color = (IColor)rgbColor;
                simpleLineSymbol.Width = 1.0;

                //Create simple renderer using line symbol
                ISimpleRenderer simpleRenderer = new SimpleRendererClass();
                simpleRenderer.Symbol = (ISymbol)simpleLineSymbol;

                //Apply line renderer as track symbol and enable track rendering
                trackRenderer.TrackSymbologyRenderer        = (IFeatureRenderer)simpleRenderer;
                trackRenderer.ShowTrackSymbologyLegendGroup = true;
                temporalRenderer2.TrackRendererEnabled      = true;
            }

            if (layer != null)
            {
                ArcMap.Document.FocusMap.AddLayer(layer);
            }
        }
        private ITemporalRenderer setRenderer(IFeatureClass featureClass, string temporalField, string eventName)
        {
            CoTrackSymbologyRenderer trackingRenderer = new CoTrackSymbologyRendererClass();
            ITemporalRenderer        temporalRenderer = (ITemporalRenderer)trackingRenderer;

            temporalRenderer.TemporalFieldName        = temporalField;
            temporalRenderer.TemporalObjectColumnName = eventName;
            temporalRenderer.TimeSymbologyMethod      = enumTemporalSymbolizationMethod.enumColor;

            //this is a desktop only code which requires assemblies CartoUI and Framework
            //IRendererPropertyPage rendererPropPage = new UniqueValuePropertyPageClass();

            //enable the most current renderer
            IUniqueValueRenderer uniqueValrenderer = CreateUniqueValueRenderer(featureClass, eventName);

            if (null != uniqueValrenderer)
            {
                ((ITemporalRenderer2)temporalRenderer).MostCurrentRenderer        = (IFeatureRenderer)uniqueValrenderer;
                ((ITemporalRenderer2)temporalRenderer).MostCurrentRendererEnabled = true;

                //this is a desktop only code which requires assemblies CartoUI and Framework
                //((ITemporalRenderer2)temporalRenderer).PropPageMostCurrentRenderer = rendererPropPage.ClassID;
            }

            //set the track renderer
            uniqueValrenderer = CreateTrackUniqueValueRenderer(featureClass, eventName);
            if (null != uniqueValrenderer)
            {
                ITrackSymbologyRenderer trackSymbolenderer = trackingRenderer as ITrackSymbologyRenderer;
                trackSymbolenderer.TrackSymbologyRenderer = (IFeatureRenderer)uniqueValrenderer;
                ((ITemporalRenderer2)temporalRenderer).TrackRendererEnabled = true;
                ((ITemporalRenderer2)temporalRenderer).SmoothTracks         = true;

                //this is a desktop only code which requires assemblies CartoUI and Framework
                //((ITemporalRenderer2)temporalRenderer).PropPageTrackRenderer = rendererPropPage.ClassID;
            }

            return(temporalRenderer);
        }