/// <summary>
        /// Pravi kolekciju selektovanih linija na osnovu prosledjenog kriterijuma koji moze biti selektor ili obican kriterijum
        /// </summary>
        /// <param name="criteria"></param>
        /// <returns></returns>
        public ncLineSelectedCollection getSelection(ncLineCriteria criteria)
        {
            List <ncLine> lns = new List <ncLine>();// selectLines(criteria);

            if (criteria.GetType() == typeof(ncLineCriteria))
            {
                lns = selectLines(criteria);
            }
            if (criteria.GetType() == typeof(ncLineRelativeCriteria))
            {
                lns = filterSelectedLines(criteria as ncLineRelativeCriteria);
            }
            if (criteria.GetType() == typeof(ncLineSelector))
            {
                lns = selectLinesBySelector(criteria as ncLineSelector);
            }
            return(new ncLineSelectedCollection(this, criteria, lns));
        }
Esempio n. 2
0
        public static String writeLineCriteriaInline(this ncLineCriteria criteria)
        {
            String output = "";

            output = output.add("Criteria type[" + criteria.GetType().Name + "]");

            if (criteria.commandCriteria == ncLineCommandPredefined.custom)
            {
                output.add("cust.command[" + criteria.customCommand + "]");
            }
            else
            {
                output.add("command[" + criteria.commandCriteria.ToString() + "]");
            }

            if (criteria is ncLineRelativeCriteria)
            {
                ncLineRelativeCriteria rc = criteria as ncLineRelativeCriteria;

                output.addVal("relation type: ", rc.relativeType.ToString());

                output.addVal("relation offset: ", rc.relativePosition.ToString());
            }

            if (criteria is ncLineSelector)
            {
                ncLineSelector sc = criteria as ncLineSelector;

                output.addVal("included relative criterias: ", sc.Count().ToString());

                foreach (ncLineRelativeCriteria rc in sc)
                {
                    output.log(rc.writeLineCriteriaInline());
                }
            }
            return(output);
        }