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

            dialog.Closed += (s1, e1) =>
                                 {
                                     if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                                     {
                                         EventHandler<AddCalibrationComponentTypeCompletedEventArgs> addCompleted = null;
                                         addCompleted = (s2, e2) =>
                                                            {

                                                                if (e2.Result.HasErrors)
                                                                {
                                                                    var errorDialog = new PopupDialog(PopupDialogType.Error, Utils.DisplayErrorMessages(e2.Result.ServerErrorMessages));
                                                                    errorDialog.Show();
                                                                }
                                                                else
                                                                {
                                                                    CalibrationComponentType calibrationComponentType = e2.Result.EntityResult;

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

                                         cmsWebServiceClient.AddCalibrationComponentTypeCompleted += addCompleted;
                                         cmsWebServiceClient.AddCalibrationComponentTypeAsync(dialog.ComponentType);
                                     }
                                 };
        }
        private void EditCalibrationComponentType(NodeView nodeView)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            EventHandler<GetCalibrationComponentTypeCompletedEventArgs> getCalibrationComponentCompleted = null;
            getCalibrationComponentCompleted = (s, eventArgs) =>
            {
                CalibrationComponentType mc = eventArgs.Result;
                AddEditCalibrationComponentTypeDialog dialog = new AddEditCalibrationComponentTypeDialog(mc);
                dialog.Show();

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

                                cmsWebServiceClient.AddCalibrationComponentTypeCompleted -= addCompleted;
                                nodeView.Parent.Sort();
                            }
                        };
                        cmsWebServiceClient.AddCalibrationComponentTypeCompleted += addCompleted;
                        cmsWebServiceClient.AddCalibrationComponentTypeAsync(dialog.ComponentType);
                    }
                };
                cmsWebServiceClient.GetCalibrationComponentTypeCompleted -= getCalibrationComponentCompleted;
            };
            cmsWebServiceClient.GetCalibrationComponentTypeCompleted += getCalibrationComponentCompleted;
            cmsWebServiceClient.GetCalibrationComponentTypeAsync(nodeView.Id);
        }