Book Image

Extending Microsoft Dynamics 365 for Operations Cookbook

By : Simon Buxton
Book Image

Extending Microsoft Dynamics 365 for Operations Cookbook

By: Simon Buxton

Overview of this book

Dynamics 365 for Operations is the ERP element of Microsoft’s new Dynamics 365 Enterprise Edition. Operations delivers the infrastructure to allow businesses to achieve growth and make better decisions using scalable and contemporary ERP system tools. This book provides a collection of “recipes” to instruct you on how to create—and extend—a real-world solution using Operations. All key aspects of the new release are covered, and insights into the development language, structure, and tools are discussed in detail. New concepts and patterns that are pivotal to elegant solution designs are introduced and explained, and readers will learn how to extend various aspects of the system to enhance both the usability and capabilities of Operations. Together, this gives the reader important context regarding the new concepts and the confidence to reuse in their own solution designs. This “cookbook” provides the ingredients and methods needed to maximize the efficiency of your business management using the latest in ERP software—Dynamics 365 for Operations.
Table of Contents (16 chapters)

Creating a state machine handler class

The state machine provides control over the transition rules, but, sometimes, we want to ensure that other validation rules are obeyed in order to validate whether the transition can be done.

This is done by subscribing to the Transition delegate of the ConWHSVehicleTableInspStateMachine class that was generated by the state machine.

The code in this recipe refactors the ConWHSVehicleInspStatusHandler class that we created in Chapter 14, Workflow Development. The code written in this recipe will tie it programmatically to the state machine. Should you wish to attach the statement to the workflow directly (which is a great idea), the status will be set by the state machine. Therefore, the event handlers must not set the status. Furthermore, should the validation written in this recipe fail, we must ensure that the workflow's internal status matches the state machine&apos...