private void Handler_OnCallback(object source, DevExpress.Web.CallbackEventArgs e)
{
var paramsList = String.Concat(e.Parameter).Split(new String[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
if (paramsList.Length > 1)
switch(paramsList[0])
{
case "navigate":
if (String.Concat(Helpers.Session["XafBootstrapStructureView"]) == String.Concat(paramsList[1]))
{
if (currentStart != null)
Helpers.Session["XafBootstrapStructureView"] = (currentStart.Parent != null ? GetKey(currentStart.Parent) : "");
else
Helpers.Session["XafBootstrapStructureView"] = "";
}
else
Helpers.Session["XafBootstrapStructureView"] = paramsList[1];
BuildData();
break;
case "select":
/*var frame = Helpers.Session["XafBootstrapStructureViewFrame"] as Frame;
if (frame != null)
{
var controller = frame.GetController<DialogController>();
if (controller != null)
{
Selected = FindSelectable(paramsList[1]);
if (Editor != null)
Editor.InvokeSelectionChanged();
controller.AcceptAction.DoExecute();
WebWindow.CurrentRequestWindow.RegisterStartupScript("CloseThisModal", "closeThisModal()");
}
}*/
var app = (WebApplication.Instance as XafApplication);
if (app != null)
{
Selected = FindSelectable(paramsList[1]);
var os = app.CreateObjectSpace();
var item = os.GetObject(Selected);
var view = app.CreateDetailView(os, item);
var SVP = new ShowViewParameters(view);
app.ShowViewStrategy.ShowView(SVP, new ShowViewSource(null, null));
}
break;
}
}