public void OnIncomingMessage(XrmToolBox.Extensibility.MessageBusEventArgs message) { if (message.SourcePlugin == "FetchXML Builder" && message.TargetArgument is string) { FetchUpdated(message.TargetArgument); } }
public void OnIncomingMessage(MessageBusEventArgs message) { if (message.SourcePlugin == "FetchXML Builder" && message.TargetArgument is FXBMessageBusArgument) { var fxbArg = (FXBMessageBusArgument)message.TargetArgument; //TODO: Find out why fxbArg.QueryExpression is blank, so have to manually convert to fetch to query var queryExpressionResponse = (FetchXmlToQueryExpressionResponse)Service.Execute(new FetchXmlToQueryExpressionRequest { FetchXml = fxbArg.FetchXML }); UpdateImages(queryExpressionResponse.Query); } }
private void tsbFxbEdit_Click(object sender, EventArgs e) { var selectedAttribute = lvAttributes.SelectedItems[0]; var attributeSchemaName = selectedAttribute.Tag.ToString(); var entityName = selectedAttribute.SubItems[3].Text; var fetchXml = string.Format(@" <fetch count='500' > <entity name='{0}' > <attribute name='{1}' /> <filter> <condition attribute='statecode' operator='eq' value='0' /> </filter> </entity> </fetch>", entityName, attributeSchemaName); var messageBusEventArgs = new MessageBusEventArgs("FetchXML Builder"); var fXBMessageBusArgument = new FXBMessageBusArgument(FXBMessageBusRequest.FetchXML) { FetchXML = fetchXml }; messageBusEventArgs.TargetArgument = fXBMessageBusArgument; OnOutgoingMessage(this, messageBusEventArgs); }
private void GetFromFXB() { var messageBusEventArgs = new MessageBusEventArgs("FetchXML Builder"); var fXBMessageBusArgument = new FXBMessageBusArgument(FXBMessageBusRequest.FetchXML) { FetchXML = fetchXml }; messageBusEventArgs.TargetArgument = fXBMessageBusArgument; OnOutgoingMessage(this, messageBusEventArgs); }
public void OnIncomingMessage(MessageBusEventArgs message) { if (message.TargetArgument != null && message.TargetArgument is FXBMessageBusArgument) { callerArgs = message; var fxbArg = (FXBMessageBusArgument)message.TargetArgument; if (!string.IsNullOrWhiteSpace(fxbArg.FetchXML)) { ParseXML(fxbArg.FetchXML, false); RecordHistory("called from " + message.SourcePlugin); } tsbReturnToCaller.ToolTipText = "Return " + fxbArg.Request.ToString() + " to " + callerArgs.SourcePlugin; LogUse("CalledBy." + callerArgs.SourcePlugin); } EnableControls(true); }
private void ReturnToCaller() { if (callerArgs == null) { return; } LogUse("ReturnTo." + callerArgs.SourcePlugin); var message = new MessageBusEventArgs(callerArgs.SourcePlugin); if (callerArgs.TargetArgument is FXBMessageBusArgument) { var fxbArgs = (FXBMessageBusArgument)callerArgs.TargetArgument; switch (fxbArgs.Request) { case FXBMessageBusRequest.FetchXML: fxbArgs.FetchXML = GetFetchString(true); break; case FXBMessageBusRequest.QueryExpression: fxbArgs.QueryExpression = GetQueryExpression(); break; case FXBMessageBusRequest.OData: fxbArgs.OData = GetOData(); break; } message.TargetArgument = fxbArgs; } else { message.TargetArgument = GetFetchString(true); } OnOutgoingMessage(this, message); }
public void OnIncomingMessage(MessageBusEventArgs message) { if (message.SourcePlugin == "FetchXML Builder" && message.TargetArgument != null && message.TargetArgument is FXBMessageBusArgument) { var fxbArg = (FXBMessageBusArgument)message.TargetArgument; UpdateFetch(fxbArg.FetchXML); } }
private void tsbEditFetch_Click(object sender, EventArgs e) { if (this.Service == null) { MessageBox.Show("Please connect to CRM.", "Edit query", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Entity view = ViewEditor != null ? ViewEditor.ToEntity() : null; if (view == null || string.IsNullOrEmpty(view.LogicalName)) { MessageBox.Show("First select a view to design.", "Edit query", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var messageBusEventArgs = new MessageBusEventArgs("FetchXML Builder"); var fXBMessageBusArgument = new FXBMessageBusArgument(FXBMessageBusRequest.FetchXML); if (ViewEditor != null && ViewEditor.FetchXml != null && ViewEditor.FetchXml.OuterXml != null) { fXBMessageBusArgument.FetchXML = ViewEditor.FetchXml.OuterXml; } messageBusEventArgs.TargetArgument = fXBMessageBusArgument; try { OnOutgoingMessage(this, messageBusEventArgs); } catch (System.IO.FileNotFoundException) { if (MessageBox.Show("FetchXML Builder is not installed.\nDownload latest version from\n\nhttp://fxb.xrmtoolbox.com", "FetchXML Builder", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK) { DownloadFXB(); } } catch (PluginNotFoundException) { var xtbver = ((System.Windows.Forms.Control)(((System.Windows.Forms.ContainerControl)(this)).ParentForm)).ProductVersion; if (xtbver == "1.2015.7.6") { MessageBox.Show("XrmToolBox version " + xtbver + " has a minor problem integrating plugins.\nHang in there - new version will be released soon!", "Launching FetchXML Builder", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (MessageBox.Show("FetchXML Builder was not found.\nDownload latest version from\n\nhttp://fxb.xrmtoolbox.com", "FetchXML Builder", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK) { DownloadFXB(); } } }
public void OnIncomingMessage(MessageBusEventArgs message) { if (message.SourcePlugin == "FetchXML Builder" && message.TargetArgument is FXBMessageBusArgument) { var fxbArg = (FXBMessageBusArgument)message.TargetArgument; //TODO: Find out why fxbArg.QueryExpression is blank, so have to manually convert to fetch to query var queryExpressionResponse = (FetchXmlToQueryExpressionResponse)Service.Execute(new FetchXmlToQueryExpressionRequest { FetchXml = fxbArg.FetchXML }); var query = queryExpressionResponse.Query; var displayColumn = ListViewDelegates.GetSelectedItems(lvEntities)[0].SubItems[2].Text; if (!query.ColumnSet.Columns.Contains(displayColumn)) query.ColumnSet.AddColumn(displayColumn); UpdateImages(query); } }