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();
}