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

            dialog.Closed += (s1, e1) =>
                                 {
                                     if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                                     {
                                         EventHandler<AddInstrumentComponentTypeCompletedEventArgs> addCompleted = null;
                                         addCompleted = (s2, e2) =>
                                                            {
                                                                if (e2.Result.HasErrors)
                                                                {
                                                                    var errorDialog = new PopupDialog(PopupDialogType.Error, Utils.DisplayErrorMessages(e2.Result.ServerErrorMessages));
                                                                    errorDialog.Show();
                                                                }
                                                                else
                                                                {
                                                                    InstrumentComponentType componentType = e2.Result.EntityResult;

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

                                         cmsWebServiceClient.AddInstrumentComponentTypeCompleted += addCompleted;
                                         cmsWebServiceClient.AddInstrumentComponentTypeAsync(dialog.ComponentType);

                                     }
                                 };
        }
        private void EditInstrumentComponentType(NodeView nodeView)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            EventHandler<GetInstrumentComponentTypeCompletedEventArgs> getInstrumentComponentCompleted = null;
            getInstrumentComponentCompleted = (s, eventArgs) =>
                                                  {
                                                      InstrumentComponentType componentType = eventArgs.Result;

                                                      AddEditInstrumentComponentTypeDialog dialog = new AddEditInstrumentComponentTypeDialog(componentType);
                                                      dialog.Show();
                                                      dialog.Closed += (s1, e1) =>
                                                                           {
                                                                               if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                                                                               {
                                                                                   EventHandler<AddInstrumentComponentTypeCompletedEventArgs> addCompleted = null;
                                                                                   addCompleted = (s2, e2) =>
                                                                                                      {
                                                                                                          if (e2.Result.HasErrors)
                                                                                                          {
                                                                                                              var errorDialog = new PopupDialog(PopupDialogType.Error, Utils.DisplayErrorMessages(e2.Result.ServerErrorMessages));
                                                                                                              errorDialog.Show();
                                                                                                          }
                                                                                                          else
                                                                                                          {
                                                                                                              InstrumentComponentType instrumentEquipmentComponentType = e2.Result.EntityResult;
                                                                                                              nodeView.Name = instrumentEquipmentComponentType.Name;
                                                                                                              nodeView.Description = instrumentEquipmentComponentType.Description;
                                                                                                              nodeView.SortField = instrumentEquipmentComponentType.Ordinal.ToString();

                                                                                                              cmsWebServiceClient.AddInstrumentComponentTypeCompleted -= addCompleted;
                                                                                                              nodeView.Parent.Sort();
                                                                                                          }
                                                                                                      };

                                                                                   cmsWebServiceClient.AddInstrumentComponentTypeCompleted += addCompleted;
                                                                                   cmsWebServiceClient.AddInstrumentComponentTypeAsync(dialog.ComponentType);
                                                                               }
                                                                           };
                                                      cmsWebServiceClient.GetInstrumentComponentTypeCompleted -= getInstrumentComponentCompleted;
                                                  };
            cmsWebServiceClient.GetInstrumentComponentTypeCompleted += getInstrumentComponentCompleted;
            cmsWebServiceClient.GetInstrumentComponentTypeAsync(nodeView.Id);
        }