6 years ago
#146 Quote
NopFinance stuurt altijd events als een domein-object wordt aangemaakt, wijzigt of wordt verwijderd uit de database. Daarnaast zijn er speciale events als een type van een object wijzigt; zoals een product type bij een product.

In onderstaand voorbeeld zie je een Address event consumer die luistert naar twee events te weten: address insert en address update:

Vergeet niet je class te registreren in Autofac!


    /// <summary>
    /// Example of event listener. Listens to Entity Updated and Entity Inserted of Address types
    /// Register this class in autofac using the following:
    ///     builder.RegisterType<MyAddressEventListener>().AsSelf()
    ///         .As<IConsumer<EntityInserted<Address>>>()
    ///         .As<IConsumer<EntityUpdated<Address>>>()
    ///         .SingleInstance(); //Must use singleinstance if your class is a Winforms UI control/form
    /// </summary>
    public class MyAddressEventListener : IConsumer<EntityUpdated<Address>>,
                                          IConsumer<EntityInserted<Address>>
    {
        bool IConsumer<EntityUpdated<Address>>.CanConsumeEvents()
        {
            //return false if we dont want to consume this type of event at this moment. Else return true;
            return true; //We want to consume this type of event
        }

        void IConsumer<EntityUpdated<Address>>.HandleEvent(EntityUpdated<Address> eventMessage)
        {
            var address = eventMessage.Entity;
        }

        bool IConsumer<EntityInserted<Address>>.CanConsumeEvents()
        {
            //return false if we dont want to consume this type of event at this moment. Else return true;
            return true; //We want to consume this type of event
        }

        void IConsumer<EntityInserted<Address>>.HandleEvent(EntityInserted<Address> eventMessage)
        {
            var address = eventMessage.Entity;
        }
    }


Wil je weten wat voor events er allemaal zijn? Kijk dan in NopFinance.Services.Events.EventPublisherExtensions.cs
0
"In an age where information is abundantly available, it is no longer enough to possess it. You have to act on it!"