Example #1
0
        /// <summary> Matches tags of given model. </summary>
        /// <param name="model">Model.</param>
        /// <param name="zoomLevel">Current zoom level.</param>
        /// <returns>True if model is matched.</returns>
        protected bool MatchTags(Model model, int zoomLevel)
        {
            switch (Operation)
            {
            case MapCssStrings.OperationZoom:
                return(Zoom.Contains(zoomLevel));

            case MapCssStrings.OperationExist:
                return(model.Tags.ContainsKey(Tag));

            case MapCssStrings.OperationNotExist:
                return(!model.Tags.ContainsKey(Tag));

            case MapCssStrings.OperationEquals:
                return(model.Tags.ContainsKeyValue(Tag, Value));

            case MapCssStrings.OperationNotEquals:
                return(model.Tags.IsNotEqual(Tag, Value));

            case MapCssStrings.OperationLess:
                return(model.Tags.IsLess(Tag, Value));

            case MapCssStrings.OperationGreater:
                return(model.Tags.IsGreater(Tag, Value));

            default:
                throw new MapCssFormatException(
                          String.Format(Strings.MapCssUnsupportedSelectorOperation, Operation));
            }
        }