Beispiel #1
0
        public static string GetInfoItemByGrouping(dynamic resultGroup, GroupingBy propertyToGrouping)
        {
            StringBuilder aboutGroupedItems = new StringBuilder();

            if (resultGroup != null)
            {
                foreach (var group in resultGroup)
                {
                    var key = Catalog.GetKeyForgrouping(group, propertyToGrouping);

                    aboutGroupedItems.AppendLine(string.Format(Titles.AboutGrouping, key));
                    aboutGroupedItems.AppendLine();

                    foreach (ItemCatalog item in group)
                    {
                        aboutGroupedItems.AppendLine(item.ToString());
                    }
                }
            }
            else
            {
                aboutGroupedItems.AppendLine(Titles.GroupingIsUnavailable);
            }

            return(aboutGroupedItems.ToString());
        }
Beispiel #2
0
        public override object Clone()
        {
            Symbol obj = new Symbol();

            if (Type != null)
            {
                obj.Type = Type.Clone();
            }
            if (Color != null)
            {
                obj.Color = Color.Clone();
            }
            if (Size != null)
            {
                obj.Size = Size.Clone();
            }
            if (GroupingBy != null)
            {
                obj.GroupingBy = GroupingBy.Clone();
            }
            obj.Visible = this.Visible;
            foreach (DataViewPosition pos in DataViewPositionLst)
            {
                obj.DataViewPositionLst.Add((DataViewPosition)pos.Clone());
            }
            return(obj);
        }
Beispiel #3
0
        private static ColorsProvider Create(GroupingBy grouping)
        {
            switch (grouping)
            {
            case GroupingBy.City: return(new ColorsProvider(new Func <IBoard, string>(a => a.Address.City)));

            case GroupingBy.Supplier: return(new ColorsProvider(new Func <IBoard, string>(a => a.Supplier)));

            case GroupingBy.Size: return(new ColorsProvider(new Func <IBoard, string>(a => a.Size)));

            case GroupingBy.Kind: return(new ColorsProvider(new Func <IBoard, string>(a => a.Type)));

            default: return(new ColorsProvider(null));
            }
        }
Beispiel #4
0
        public static ColorsProvider Create(GroupingBy grouping, IEnumerable <IBoard> boards)
        {
            ColorsProvider c = Create(grouping);

            c.GroupKey = grouping;

            if (grouping == GroupingBy.Default)
            {
                c.ColorGroups = new List <ColorGroup> {
                    new ColorGroup("Цвет по умолчанию")
                };
            }
            else
            {
                c.ColorGroups = boards.GroupBy(c.KeySelector).Select(a => new ColorGroup(a.Key)).ToList();
                ColorGroup.SetColors(c.ColorGroups);
            }
            return(c);
        }
Beispiel #5
0
        public override object Clone()
        {
            Bar bar = new Bar();

            if (Type != null)
            {
                bar.Type = Type.Clone();
            }
            if (Color != null)
            {
                bar.Color = Color.Clone();
            }
            if (EType != null)
            {
                bar.EType = EType.Clone();
            }
            if (EColor != null)
            {
                bar.EColor = EColor.Clone();
            }
            if (ESize != null)
            {
                bar.ESize = ESize.Clone();
            }
            if (GroupingBy != null)
            {
                bar.GroupingBy = GroupingBy.Clone();
            }
            if (Base != null)
            {
                bar.Base = Base.Clone();
            }
            bar.Visible = this.Visible;
            bar.AssignAttributeByVariables = this.AssignAttributeByVariables;
            foreach (DataViewPosition pos in DataViewPositionLst)
            {
                bar.DataViewPositionLst.Add((DataViewPosition)pos.Clone());
            }
            //bar.GetCommand = this.GetCommand;
            return(bar);
        }
Beispiel #6
0
        public override object Clone()
        {
            Connect obj = new Connect();

            if (Type != null)
            {
                obj.Type = Type.Clone();
            }
            if (Color != null)
            {
                obj.Color = Color.Clone();
            }
            if (Size != null)
            {
                obj.Size = Size.Clone();
            }
            if (GroupingBy != null)
            {
                obj.GroupingBy = GroupingBy.Clone();
            }
            obj.Visible = this.Visible;
            return(obj);
        }
Beispiel #7
0
 private static string GetKeyForgrouping(dynamic group, GroupingBy propertyToGrouping)
 {
     return(propertyToGrouping == GroupingBy.Publisher ?
            ((IGrouping <string, Book>)group).Key :
            ((IGrouping <int, ItemCatalog>)group).Key.ToString());
 }