
{
public class QuoteFinalPricingAcceptHandler : IPluginEventHandler
{
public void DoExecute(LocalPluginContext localContext)
{
Try
{
var service = localContext.OrganizationService;
Guid quoteId = localContext.PluginExecutionContext.InputParameters[QuoteFinalPricingAcceptActionParameters.InQoutationId].ChangeType<Guid>();
Entity quoteClose = new Entity(QuoteCloseEntityAttributeNames.EntityLogicalName);
quoteClose.Attributes.Add(QuoteCloseEntityAttributeNames.Subject, "Quote Close" + DateTime.Now.ToString());
quoteClose.Attributes.Add(QuoteCloseEntityAttributeNames.QuoteId, new EntityReference(QuoteEntityAttributeNames.EntityLogicalName, quoteId));
WinQuoteRequest wonQuote = new WinQuoteRequest()
{
QuoteClose = quoteClose,
Status = new OptionSetValue((int)QuoteStatus.Won),
RequestName = "WinQuote"
};
WinQuoteResponse responseExe = (WinQuoteResponse)service.Execute(wonQuote);
ColumnSet salesOrderColumns = new ColumnSet(OrderEntityAttributeNames.OrderId, OrderEntityAttributeNames.TotalAmount);
ConvertQuoteToSalesOrderRequest convertQuoteRequest = new ConvertQuoteToSalesOrderRequest()
{
QuoteId = quoteId,
ColumnSet = salesOrderColumns
};
ConvertQuoteToSalesOrderResponse convertQuoteResponse = (ConvertQuoteToSalesOrderResponse)service.Execute(convertQuoteRequest);
SalesOrder salesOrder = (SalesOrder)convertQuoteResponse.Entity;
string serializedResponse = JsonConvert.SerializeObject(salesOrder.SalesOrderId);
localContext.PluginExecutionContext.OutputParameters[QuoteFinalPricingAcceptActionParameters.OutCreatedSalesOrderId] = serializedResponse;
}
catch(Exception e)
{
throw new InvalidPluginExecutionException(“Error”);
}
}
}
}
On above action (custom message), calling above code and trying to through exception. Exception is not triggering on error. This action is calling ribbon button and I need to show error message to user on error on action. Please suggest how to though error on Global action.
*This post is locked for comments
I have the same question (0)