예제 #1
0
        private void HandleAppSetting(AppSettingRegistrationRequest @event)
        {
            if (Model.RuntimeEnvironment?.Name != @event.RuntimeEnvironment)
            {
                return;
            }

            if (!string.IsNullOrWhiteSpace(@event.ForProjectWithRole) &&
                !OutputTarget.GetProject().HasRole(@event.ForProjectWithRole))
            {
                return;
            }

            @event.MarkHandled();

            if (_appSettings.Any(x => x.Key == @event.Key && x.Value != @event.Value))
            {
                return;
            }

            _appSettings.Add(@event);
        }
예제 #2
0
        private void HandleConnectionString(ConnectionStringRegistrationRequest @event)
        {
            if (Model.RuntimeEnvironment?.Name != @event.RuntimeEnvironment)
            {
                return;
            }

            if (!string.IsNullOrWhiteSpace(@event.ForProjectWithRole) &&
                !OutputTarget.GetProject().HasRole(@event.ForProjectWithRole))
            {
                return;
            }

            @event.MarkHandled();

            if (_connectionStrings.Any(x => x.Name == @event.Name && x.ConnectionString != @event.ConnectionString))
            {
                throw new Exception($"Misconfiguration in [{GetType().Name}]: ConnectionString with name [{@event.Name}] already defined with different value to [{@event.ConnectionString}].");
            }

            _connectionStrings.Add(@event);
        }
 private bool IsRepoSupported()
 {
     return(!(ExecutionContext.Settings.GetEntityFrameworkCoreSettings().InheritanceStrategy().IsTablePerConcreteType() &&
              Model.IsAbstract && OutputTarget.GetProject().TargetDotNetFrameworks.First().Major <= 6));
 }