Hi, I am making use of OU to provide some dropdown lists for users with the following hierarchy:
Region --> Camp --> Shelter --> Sub Shelter 1 / Sub Shelter 2 / ...
I want to be notified when:
Member is removed or added OU is removed or added or changed (name)
Can I make use of the Entity events something like "EntityCreatedEventData<OrganizationUnit>" and "EntityUpdatedEventData<OrganizationUnit>" and "EntityChangedEventData<OrganizationUnit>" and "EntityDeletedEventData<OrganizationUnit>"
One more thing, on the client side, do you trigger any events similar to the above? For instance, if an OU changes, I want to clear the Local Storage data (that I am using to cache the data in).
Finally, can I cancel for instance deleting an OU by handling "EntityDeletingEventData<OrganizationUnit>"? The reason I am asking for that is that maybe an OU is already used on another Entity and deleting it would break the data. So before deleting an OU, I would check if this OU that is being deleted is linked to some other entity, if yes, I halt the deletion process?
How is that possible? Any example, please.
Thanks Bilal
6 Answer(s)
-
0
Any assistance?
-
0
Hi @bilalhaidar,
Yes, you can use Event Bus for most of your needs, you can read more about it here <a class="postlink" href="https://aspnetboilerplate.com/Pages/Documents/EventBus-Domain-Events">https://aspnetboilerplate.com/Pages/Doc ... ain-Events</a>.
We don't have any client side implementation about it. You can also cancel deletion of an entity in [*ING] events.
Thanks.
-
0
Thanks for your time Ismail.
I could make use of the abp.event.trigger and abp.event.on but then I have to add this code to the OU screen, is that okay? Or I shouldnt be touching those screens in general.
-
0
Hi,
Yes, you can use those client side methods. You also need to call client side code from server using SignalR. You can check implementation of Chat for that.
Thanks.
-
0
Thanks. Maybe this is the best option. To make use of server-side events since they exist and then use SignalR to call some code on client side to invalidate the data in Local Storage.
Thank you
-
0
Hi,
It seems like that :)