示例#1
0
        public async Task <DatabaseFirewallRuleDto> CreateNewDatabaseFirewallRulesAsync(DatabaseFirewallRuleDto dto)
        {
            var tenantId = StorePerRequestTenantData.GetTenantId();

            var tenant = await CatalogRepository.GetTenant(tenantId);

            await FirewallRulesSQLHelper.AddDatabaseFirewallRules(tenant.ElasticPool.Server.ServerName, tenant.DatabaseName, dto);

            return(dto);
        }
        public async Task AddDatabaseFirewallRules(string tenantServer, string tenantDatabase, DatabaseFirewallRuleDto databaseFirewallRuleDto)
        {
            var connectionSting = GetConnectionString(tenantServer, tenantDatabase);

            using (var con = new SqlConnection(connectionSting))
            {
                con.Open();

                var command = $"EXECUTE sp_set_database_firewall_rule @name = N'{databaseFirewallRuleDto.RuleName}', @start_ip_address = '{databaseFirewallRuleDto.StartIp}', @end_ip_address = '{databaseFirewallRuleDto.EndIp}'";
                using (var cmd = new SqlCommand(command, con))
                {
                    await cmd.ExecuteNonQueryAsync();
                }
            }
        }
        public async Task <ActionResult <DatabaseFirewallRuleDto> > CreateNewDatabaseFirewallRulesAsync([FromBody] DatabaseFirewallRuleDto dto)
        {
            var result = await TenantManager.CreateNewDatabaseFirewallRulesAsync(dto);

            return(Ok(result));
        }