protected virtual SendingSetting AllowSending(TextContent content, Repository repository, ContentEventContext eventContext) { if (!repository.EnableBroadcasting) { return null; } var list = Providers.DefaultProviderFactory.GetProvider<ISendingSettingProvider>().All(repository).Select(o => Providers.DefaultProviderFactory.GetProvider<ISendingSettingProvider>().Get(o)); foreach (var item in list) { if (AllowSendingSetting(content, item, eventContext)) { return item; } } return null; }
protected virtual bool AllowSendingSetting(TextContent content, SendingSetting sendingSetting, ContentEventContext eventContext) { if (!string.IsNullOrEmpty(sendingSetting.FolderName) && !sendingSetting.FolderName.Equals(content.FolderName, StringComparison.CurrentCultureIgnoreCase)) { return false; } if (!string.IsNullOrEmpty(content.OriginalUUID)) { if (content.IsLocalized == null || content.IsLocalized.Value == false) { if ((sendingSetting.SendReceived == null || sendingSetting.SendReceived.Value == false)) { return false; } } } return true; }