This project has moved. For the latest updates, please go here.


Jun 7, 2012 at 9:45 AM

Hi there,

could you suggest where to add the following features  ? 

1 - route tickets to a department or agent based on ticket or issue type

2 - certain actions require approval and need to be routed to a manager.

i'd like to do this using WWF. 

thank you

Jun 7, 2012 at 6:58 PM

Mostly you would just need to make minor changes to the TicketService class to accomplish what you are aiming for. That class handles all the "actions" that can be performed with a ticket, and the design is deliberately simplistic and easy to modify. Instead of a complex command dispatcher, I just used a simple transaction script pattern here... there are seperate methods for each major ticket action such as CreateNewTicket, TakeOverTicket, AssignTicket, etc. These mostly correspond 1-to-1 with the buttons on UI. I also did my best to keep the code within each action very straight-forward, so it should be easy to decipher what each one does and to modify them for your purposes.

Windows Workflow Foundation is probably overkill (times a million) for adding the workflow customization that you described, but it is a fine framework and you should be able to use it with TicketDesk if it adds significant value to what you are trying to accomplish. I'd recommend just using the existing application settings features to store and manage configuration for your custom workflows, then just splice in some code to TicketService to read the custom settings and perform the custom steps.  

The nice thing about the ApplicationSetting design is that you shouldn't have to do a lot of work to add new settings. Just add the setting to the DB table, and it becomes available in the UI admin tool. TicketService currently doesn't directly use the SettingsService, so you will probably need to add a parameter for the SettingsService to the constructor for TicketService, but the managed extensibility framework will do the rest. You can simply use SettingService.ApplicationSettings.GetSettingValue(<setting name>) to read your custom settings (you do not need to add properties for your custom settings to ApplicationSettingsService, though you can do so if you like).   


Jun 19, 2012 at 11:24 AM

thank you.