private void AddElectricalComponentType(NodeView nodeView)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            AddEditElectricalComponentTypeDialog dialog = new AddEditElectricalComponentTypeDialog();
            dialog.Show();

            dialog.Closed += (s1, e1) =>
            {
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    EventHandler<AddElectricalComponentTypeCompletedEventArgs> addCompleted = null;
                    addCompleted = (s2, eventArgs) =>
                    {
                        ElectricalEquipmentComponentType mect = eventArgs.Result;

                        if (mect != null)
                        {
                            NodeView child = new NodeView(nodeView)
                            {
                                Id = mect.Id,
                                Name = dialog.ComponentType.Name,
                                Description = dialog.ComponentType.Description,
                                Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png",
                                Type = NodeType.ElectricalComponentType,
                                HasChildren = true,
                                SortField = dialog.ComponentType.Ordinal.ToString()
                            };
                            if (nodeView.ChildrenLoaded)
                            {
                                nodeView.Children.Add(child);
                                nodeView.Sort();
                            }
                        }

                        cmsWebServiceClient.AddElectricalComponentTypeCompleted -= addCompleted;
                    };

                    cmsWebServiceClient.AddElectricalComponentTypeCompleted += addCompleted;
                    cmsWebServiceClient.AddElectricalComponentTypeAsync(dialog.ComponentType);
                }
            };
        }
        private void EditElectricalComponentType(NodeView nodeView)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            EventHandler<GetElectricalEquipmentComponentTypeCompletedEventArgs> getElectricalComponentCompleted = null;
            getElectricalComponentCompleted = (s, eventArgs) =>
            {
                ElectricalEquipmentComponentType mc = eventArgs.Result;

                AddEditElectricalComponentTypeDialog addEditElectricalComponentType = new AddEditElectricalComponentTypeDialog(mc);
                addEditElectricalComponentType.Show();

                addEditElectricalComponentType.Closed += (s1, e1) =>
                {

                    if (addEditElectricalComponentType.DialogResult.HasValue && addEditElectricalComponentType.DialogResult.Value)
                    {
                        EventHandler<AddElectricalComponentTypeCompletedEventArgs> addCompleted = null;
                        addCompleted = (s2, e2) =>
                        {
                            ElectricalEquipmentComponentType electricalEquipmentComponentType = e2.Result as ElectricalEquipmentComponentType;
                            nodeView.Name = electricalEquipmentComponentType.Name;
                            nodeView.Description = electricalEquipmentComponentType.Description;
                            nodeView.SortField = electricalEquipmentComponentType.Ordinal.ToString();

                            cmsWebServiceClient.AddElectricalComponentTypeCompleted -= addCompleted;
                        };

                        cmsWebServiceClient.AddElectricalComponentTypeCompleted += addCompleted;
                        cmsWebServiceClient.AddElectricalComponentTypeAsync(addEditElectricalComponentType.ComponentType);
                        nodeView.Parent.Sort();
                    }
                };
                cmsWebServiceClient.GetElectricalEquipmentComponentTypeCompleted -= getElectricalComponentCompleted;
            };
            cmsWebServiceClient.GetElectricalEquipmentComponentTypeCompleted += getElectricalComponentCompleted;
            cmsWebServiceClient.GetElectricalEquipmentComponentTypeAsync(nodeView.Id);
        }