Ejemplo n.º 1
0
 /// <summary>
 /// Register provider
 /// </summary>
 /// <param name="provider"></param>
 public static void RegisterProviderInMemory(ExternalProviderConfig provider)
 {
     if (!Providers.Select(x => x.ProviderName).Contains(provider.ProviderName))
     {
         Providers.Enqueue(provider);
     }
 }
        /// <summary>
        /// Register external calendar provider
        /// </summary>
        /// <param name="serviceCollection"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public static CalendarServiceCollection RegisterExternalCalendarProvider(this CalendarServiceCollection serviceCollection, Action <ExternalProviderConfig> options)
        {
            var configuration = new ExternalProviderConfig();

            options(configuration);
            if (configuration.ProviderName.IsNullOrEmpty() || configuration.ProviderType == null)
            {
                throw new FailRegisterProviderException();
            }
            IoC.RegisterService <IExternalCalendarProvider>(configuration.ProviderName, configuration.ProviderType);
            CalendarProviders.RegisterProviderInMemory(configuration);
            return(serviceCollection);
        }