public void AddPluginConfig(IConfigurationBuilder builder, string connectionString)
        {
            var seedData       = new AppointmentConfigurationSeedData();
            var contextFactory = new AppointmentPnContextFactory();

            builder.AddPluginConfiguration(
                connectionString,
                seedData,
                contextFactory);

            // Add handlers
            //CaseUpdateDelegates.CaseUpdateDelegate += CaseUpdatePluginHandler.Handle;
        }
Beispiel #2
0
        public static void SeedData(AppointmentPnDbContext dbContext)
        {
            var seedData          = new AppointmentConfigurationSeedData();
            var configurationList = seedData.Data;

            foreach (var configurationItem in configurationList)
            {
                if (!dbContext.PluginConfigurationValues.Any(x => x.Name == configurationItem.Name))
                {
                    var newConfigValue = new PluginConfigurationValue()
                    {
                        Name            = configurationItem.Name,
                        Value           = configurationItem.Value,
                        CreatedAt       = DateTime.UtcNow,
                        Version         = 1,
                        WorkflowState   = Constants.WorkflowStates.Created,
                        CreatedByUserId = 1
                    };
                    dbContext.PluginConfigurationValues.Add(newConfigValue);
                    dbContext.SaveChanges();
                }
            }

            // Seed plugin permissions
            var newPermissions = AppointmentPermissionsSeedData.Data
                                 .Where(p => dbContext.PluginPermissions.All(x => x.ClaimName != p.ClaimName))
                                 .Select(p => new PluginPermission
            {
                PermissionName  = p.PermissionName,
                ClaimName       = p.ClaimName,
                CreatedAt       = DateTime.UtcNow,
                Version         = 1,
                WorkflowState   = Constants.WorkflowStates.Created,
                CreatedByUserId = 1
            }
                                         );

            dbContext.PluginPermissions.AddRange(newPermissions);

            dbContext.SaveChanges();
        }