Exemplo n.º 1
0
        internal SLFilter Clone()
        {
            var f = new SLFilter();

            f.Val = Val;

            return(f);
        }
        internal void FromFilters(Filters fs)
        {
            SetAllNull();

            if ((fs.Blank != null) && fs.Blank.Value)
            {
                Blank = fs.Blank.Value;
            }
            if (fs.CalendarType != null)
            {
                CalendarType = fs.CalendarType.Value;
            }

            if (fs.HasChildren)
            {
                SLFilter        f;
                SLDateGroupItem dgi;
                using (var oxr = OpenXmlReader.Create(fs))
                {
                    while (oxr.Read())
                    {
                        if (oxr.ElementType == typeof(Filter))
                        {
                            f = new SLFilter();
                            f.FromFilter((Filter)oxr.LoadCurrentElement());
                            Filters.Add(f);
                        }
                        else if (oxr.ElementType == typeof(DateGroupItem))
                        {
                            dgi = new SLDateGroupItem();
                            dgi.FromDateGroupItem((DateGroupItem)oxr.LoadCurrentElement());
                            DateGroupItems.Add(dgi);
                        }
                    }
                }
            }
        }