XAF_Bootstrap.Controls.XafBootstrapDataSelectorEdit.HandleCallback C# (CSharp) Метод

HandleCallback() защищенный Метод

protected HandleCallback ( object source, DevExpress e ) : void
source object
e DevExpress
Результат void
        protected virtual void HandleCallback(object source, DevExpress.Web.CallbackEventArgs e)
        {
            if (OnCallback != null)
                OnCallback(source, e);
            String[] values = String.Concat(e.Parameter).Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
            if (values.Count() > 1)
            {
                switch (values[0])
                {
                    case "Show":
                        if (Helper != null)
                        {
                            var view = Helper.CreateListView(Helper.ObjectSpace.GetObject(Editor.CurrentObject));
                            var SVP = new ShowViewParameters(view);
                            SVP.TargetWindow = TargetWindow.NewModalWindow;

                            DialogController dc = Helper.Application.CreateController<DialogController>();
                            dc.Accepting += new EventHandler<DialogControllerAcceptingEventArgs>(delegate (object sender, DialogControllerAcceptingEventArgs ev)
                            {
                                var os = (Editor as XafBootstrapLookupPropertyEditor).ObjectSpace;
                                foreach (var item in view.SelectedObjects)
                                {
                                    var newVal = os.GetObject(item);
                                    Editor.PropertyValue = (newVal == null ? item : newVal);
                                }
                                if (OnOk != null)
                                    OnOk(this, EventArgs.Empty);
                            });
                            dc.Cancelling += new EventHandler(delegate
                            {
                                if (OnCancel != null)
                                    OnCancel(this, EventArgs.Empty);
                            });
                            SVP.Controllers.Add(dc);

                            Helper.Application.ShowViewStrategy.ShowView(SVP, new ShowViewSource(null, null));
                        }
                        break;
                    case "Link":
                        if (Value != null)
                        {
                            DetailView detailView = Helper.Application.CreateDetailView(Helper.ObjectSpace, Helper.ObjectSpace.GetObject(Value));

                            var dSVP = new ShowViewParameters(detailView);
                            dSVP.TargetWindow = TargetWindow.NewModalWindow;

                            DialogController dc = Helper.Application.CreateController<DialogController>();
                            dc.CancelAction.Active["Visible"] = false;
                            dSVP.Controllers.Add(dc);

                            Helper.Application.ShowViewStrategy.ShowView(dSVP, new ShowViewSource(null, null));
                        }
                        break;
                }
            }

            RegisterOnClickScript();
        }