public bool SetLayerPosition(string name, LayerMoveType layerMoveType)
        {
            ILayer layer = MapControlTools.Layers.Where(m => m.Name == name).FirstOrDefault();

            if (layer == null)
            {
                return(false);
            }

            // TODO: Handle Damage Potential Layer
            //if (layer.GetType() == typeof(ResTBDamagePotentialLayer))
            //{
            //  int currentPosition = MapControlTools.AxMap.get_LayerPosition(((ResTBDamagePotentialLayer)layer).PointHandle);
            //}

            int  currentPosition = MapControlTools.AxMap.get_LayerPosition(layer.Handle);
            bool rc = false;

            switch (layerMoveType)
            {
            case LayerMoveType.TOP:
                rc = MapControlTools.AxMap.MoveLayerTop(currentPosition);
                break;

            case LayerMoveType.BOTTOM:
                rc = MapControlTools.AxMap.MoveLayerBottom(currentPosition);
                break;

            case LayerMoveType.UP:
                rc = MapControlTools.AxMap.MoveLayerUp(currentPosition);
                break;

            case LayerMoveType.DOWN:
                rc = MapControlTools.AxMap.MoveLayerDown(currentPosition);
                break;

            default:
                break;
            }

            if (rc)
            {
                Events.MapControl_LayerChange layerchange = new Events.MapControl_LayerChange()
                {
                    LayerChangeReason = Events.LayerChangeReason.ChangeOrder, Layer = layer
                };
                On_LayerChange(layerchange);
                return(true);
            }
            else
            {
                return(false);
            }
        }
 public bool SetLayerPosition(string name, LayerMoveType moveType)
 {
     return(LayerHandlingTool.SetLayerPosition(name, moveType));
 }