Example #1
0
        private static void AttachHandlers(EquipmentTreeNode node, Type dtoType)
        {
            var typesWithElectricityToggleSupport = new[] { typeof(DisconnectorDto), typeof(BreakerDto) };

            if (typesWithElectricityToggleSupport.Any(type => type == dtoType))
            {
                node.OnClick = new ToggleElectricityCommand(node);
            }

            if (dtoType == typeof(TransformerModel))
            {
                node.OnClick = new OpenTransformerFormCommand(node);
            }
        }
Example #2
0
        internal static EquipmentTreeNode CreateNode(EquipmentNodeItem currentItem, List <EquipmentTreeNode> children)
        {
            var dtoType = currentItem.Type;

            var node = new EquipmentTreeNode
            {
                Children = new ObservableCollection <EquipmentTreeNode>(children),
                Name     = currentItem.Item.Name,
                Item     = IdentifiedObjectToSchemaModelMapper.Map(currentItem.Item, dtoType),
                TurnedOn = false
            };

            AttachHandlers(node, dtoType);
            AttachImage(node, dtoType);

            return(node);
        }
Example #3
0
        private static void AttachImage(EquipmentTreeNode node, Type dtoType)
        {
            var imageByType = new Dictionary <Type, string>
            {
                [typeof(DisconnectorDto)]        = "/Images/Disconnector.png",
                [typeof(BreakerDto)]             = "/Images/Breaker.png",
                [typeof(AsynchronousMachineDto)] = "/Images/AMachine.png",
                [typeof(TransformerWindingDto)]  = "/Images/Transformer.png",
                [typeof(TransformerModel)]       = "/Images/Transformer.png",
                [typeof(TerminalDto)]            = "/Images/Terminal.png",
                [typeof(ConnectivityNodeDto)]    = "/Images/ConnectivityNode.png"
            };

            if (imageByType.TryGetValue(dtoType, out string imageSource))
            {
                node.ImageSource = imageSource;
            }
        }