ReplaceDisco
API Reference
>
ReplaceDisco
| SoapAction | n/a |
| Input Name | ReplaceDisco |
| Output Name | ReplaceDiscoResponse |
| Input Namespace | n/a |
| Group Name | Xperience |
| Container | XP_MsgBus.xsd |
// NOTE!!!!! This message is not the recommended way to modify discovery items.
string newDestId = "NewSampleProductId";
ReplaceDiscoRq_MType request = new ReplaceDiscoRq_MType()
{
DiscoItems = new DiscoItems_CType(),
DiscoProd = new DiscoProd_CType()
{
ProdId = new ProdId_Type() { Value = newDestId }
}
};
var rootFunctions = new List();
var groups = new List();
var newEntryPts = new List();
var newMenuIcons = new List();
newEntryPts.Add(new DiscoEntryPt_CType()
{
DspState = "Visible",
EntryPtType = "Proc",
InstcType = "Single",
MsgBusDestId = newDestId,
StartupRef = "SampleXpProduct.exe",
StartupType = "Manual"
});
newEntryPts.Add(new DiscoEntryPt_CType()
{
DspState = "Visible",
EntryPtType = "Proc",
InstcType = "Multi",
MsgBusDestId = "NewEntryPoint",
StartupRef = "EntryPoint.exe",
StartupType = "Manual",
TabIconRef = @"Images\Wizard.png"
});
newMenuIcons.Add(new MenuIcon_CType()
{
MenuIconId = "arrowRight",
MenuVectorImgCode = "ArrowRight"
});
newMenuIcons.Add(new MenuIcon_CType()
{
MenuIconId = "arrowLeft",
MenuVectorImgCode = "ArrowLeft"
});
newMenuIcons.Add(new MenuIcon_CType()
{
MenuIconId = "arrowUp",
MenuVectorImgCode = "ArrowUp"
});
newMenuIcons.Add(new MenuIcon_CType()
{
MenuIconId = "arrowDown",
MenuVectorImgCode = "ArrowDown"
});
newMenuIcons.Add(new MenuIcon_CType()
{
MenuIconId = "account",
MenuVectorImgCode = "Account"
});
var tag = new SrchTag_CType()
{
SrchText = "broom"
};
var tag2 = new SrchTag_CType()
{
SrchText = "doom"
};
var tagList = new List()
{
tag,
tag2
};
rootFunctions.Add(
new MenuFunc_CType()
{
FuncId = "NewSampleXpProductId",
FuncTitle = "Replaced Main Function",
FuncDesc = "Replaced Sample Product Demonstrating Message Bus Communication",
MenuIconIdRef = "arrowUp",
MyAppMsg = JackHenry.Xperience.MessageBus.Serializer.Serialize(new MenuFunctionMessage()
{
Id = MenuFunctionMessageIds.ShellWindow
}),
TargetMsgBusDestId = newDestId,
SrchTagArray = tagList.ToArray()
});
var group1 = new MenuGroup_CType()
{
GroupId = "NewEntryPointGroupId",
GroupTitle = "This is a replaced Group"
};
var group2 = new MenuGroup_CType()
{
GroupId = "NewEntryPointOtherGroupId",
GroupTitle = "This is a replaced Group for 2nd Entry Point"
};
var group1Functions = new List();
var group2Functions = new List();
group1Functions.Add(new MenuFunc_CType()
{
FuncId = "NewGroup1Menu1Id",
FuncTitle = "Group 1 Sub-Item 1",
FuncDesc = "This is a new menu item that is under the first group",
MenuIconIdRef = "arrowLeft",
MyAppMsg = JackHenry.Xperience.MessageBus.Serializer.Serialize(new MenuFunctionMessage()
{
Id = MenuFunctionMessageIds.ShellWindow
}),
TargetMsgBusDestId = newDestId
});
group2Functions.Add(new MenuFunc_CType()
{
FuncId = "NewGroup2Menu1Id",
FuncTitle = "Group 2 Sub-Item 1",
FuncDesc = "This is a new menu item that is under the second group",
MenuIconIdRef = "arrowDown",
MyAppMsg = JackHenry.Xperience.MessageBus.Serializer.Serialize(new EntryPt()
{
Description = "Hello world!"
}),
TargetMsgBusDestId = newDestId
});
group1.MenuFuncArray = group1Functions.ToArray();
group2.MenuFuncArray = group2Functions.ToArray();
groups.Add(group1);
groups.Add(group2);
request.DiscoProd.MenuIconIdRef = new MenuIconIdRef_Type() { Value = "account" };
request.DiscoItems.MenuFuncArray = rootFunctions.ToArray();
request.DiscoItems.MenuGroupArray = groups.ToArray();
request.DiscoProd.DiscoEntryPtArray = newEntryPts.ToArray();
request.DiscoProd.MenuIconArray = newMenuIcons.ToArray();
MessageHelper.FillHeader(request);
MessageOptions options = new MessageOptions()
{
RequestReceipt = true
};
var receipt = this.messageBus
.Send(
request,
options)
.RegisterResponseHandler(this.OnReplaceDiscoCallback);
Did this page help you?
Why was this page helpful?
Why wasn't this page helpful?
Thank you for your feedback!
Last updated Mon Dec 9 2024