예제 #1
0
        public override void ConsumeEvent(IEventInfo eventInfo)
        {
            Require.NotNull(eventInfo, nameof(eventInfo));

            var @event = new Event(eventInfo);

            var distributionPolicy = DistributionPolicyFactory.GetAdminRelatedPolicy();

            EventRepository.DistrubuteEvent(@event, distributionPolicy);

            SendOutEmailsAboutEvent(distributionPolicy.ReceiverIds, eventInfo);
        }
예제 #2
0
 private DistributionPolicy GetDistributionPolicyForEvent(NewFullConfirmedDeveloper eventInfo)
 {
     return(DistributionPolicyFactory.GetAllPolicy());
 }
예제 #3
0
 private DistributionPolicy GetDistributionPolicyForEvent(NewEmailConfirmedDeveloper eventInfo)
 {
     return(DistributionPolicyFactory.GetAdminRelatedPolicy());
 }
예제 #4
0
 private DistributionPolicy GetDistributionPolicyForEvent(NewProjectCreated @eventInfo)
 {
     return(DistributionPolicyFactory.GetAllPolicy());
 }
예제 #5
0
 private DistributionPolicy GetDistributionPolicyForEvent(NewDeveloperOnProject @eventInfo)
 {
     return
         (DistributionPolicyFactory.GetProjectRelatedPolicy(@eventInfo.ProjectId)
          .Merge(DistributionPolicyFactory.GetAdminRelatedPolicy()));
 }