Auto Incrementing ID Module
WARNING
Starting with DevExpress Version 25.1, you should migrate to the new Llamachant.ExpressApp modules instead. Support for this module will end soon.
Supported Platforms: ✅ WinForms, ✅ WebForms, ✅ Blazor
The Auto Incrementing ID Module allows developers to quickly add incrementing IDs to business objects.
Getting Started
- Install
LlamachantFramework.AutoIncrementingID.Modulefrom NuGet - Include
LlamachantFrameworkAutoIncrementingIDModulein your.Moduleproject
public DXApplication1Module() {
RequiredModuleTypes.Add(typeof(LlamachantFrameworkAutoIncrementingIDModule));
}
You can define SQL query-based event handlers for trigger control:
public override void Setup(XafApplication application) {
base.Setup(application);
application.SetupComplete += Application_SetupComplete;
}
private void Application_SetupComplete(object sender, EventArgs e) {
var module = LlamachantFrameworkAutoIncrementingIDModule.FindAutoIncrementingModule(Application.Modules);
if (module != null) {
module.TriggerCreating += Module_TriggerCreating;
}
}
private void Module_TriggerCreating(object sender, TriggerEventArgs e) {
// Custom trigger logic here
}
}
Sample Object Implementation
[DefaultClassOptions]
public class Quote : BaseObject {
public Quote(Session session) : base(session) { }
private int _ID;
[AutoIncrement]
public int ID {
get => _ID;
set => SetPropertyValue(nameof(ID), ref _ID, value);
}
private string _CustomerName;
public string CustomerName {
get => _CustomerName;
set => SetPropertyValue(nameof(CustomerName), ref _CustomerName, value);
}
}
📸 [Screenshot Placeholder: Quote Object Auto Increment Setup]
Add Parameter-Based Auto Increment Logic
Specify a unique field for ID tracking:
[AutoIncrement(nameof(CustomerName))]
Use multiple parameters and expressions:
[AutoIncrement(nameof(CustomerName), "GetDate([QuoteDate])")]
📸 [Screenshot Placeholder: Multi-Parameter Auto Increment]
This approach ensures IDs increment based on filtered groups or contextual uniqueness.
WARNING
Starting with DevExpress Version 25.1, you should migrate to the new Llamachant.ExpressApp modules instead. Support for this module will end soon.