aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Azure/Tango.AzureUtils/ExtensionMethods.cs
blob: b77745083427d6ffb2e3a7f14b7d203b8b057b9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using Microsoft.Azure.Management.AppService.Fluent;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.AzureUtils;
using Tango.AzureUtils.Deployment;
using Tango.Core;

public static class ExtensionMethods
{
    public static async Task<MachineServiceSettings> GetMachineServiceSettingsAsync(this IWebAppBase app)
    {
        MachineServiceSettings settings = new MachineServiceSettings();

        var s = await app.GetAppSettingsAsync();

        settings.DB_ADDRESS = s[nameof(MachineServiceSettings.DB_ADDRESS)].Value;
        settings.DB_CATALOG = s[nameof(MachineServiceSettings.DB_CATALOG)].Value;
        settings.DB_PASSWORD = s[nameof(MachineServiceSettings.DB_PASSWORD)].Value;
        settings.DB_USER_NAME = s[nameof(MachineServiceSettings.DB_USER_NAME)].Value;
        settings.DEPLOYMENT_SLOT = s[nameof(MachineServiceSettings.DEPLOYMENT_SLOT)].Value;
        settings.ENFORCE_MACHINE_STUDIO_VERSION = s[nameof(MachineServiceSettings.ENFORCE_MACHINE_STUDIO_VERSION)].Value;
        settings.ENVIRONMENT_GROUP = s[nameof(MachineServiceSettings.ENVIRONMENT_GROUP)].Value;
        settings.MACHINE_STUDIO_VERSIONS_CONTAINER = s[nameof(MachineServiceSettings.MACHINE_STUDIO_VERSIONS_CONTAINER)].Value;
        settings.STORAGE_ACCOUNT = s[nameof(MachineServiceSettings.STORAGE_ACCOUNT)].Value;
        settings.TANGO_VERSIONS_CONTAINER = s[nameof(MachineServiceSettings.TANGO_VERSIONS_CONTAINER)].Value;

        return settings;
    }

    public static DataSource ToDataSource(this MachineServiceSettings settings)
    {
        DataSource dataSource = new DataSource();
        dataSource.Type = DataSourceType.SQLServer;
        dataSource.Address = settings.DB_ADDRESS;
        dataSource.Catalog = settings.DB_CATALOG;
        dataSource.UserName = settings.DB_USER_NAME;
        dataSource.Password = settings.DB_PASSWORD;
        dataSource.IntegratedSecurity = false;

        return dataSource;
    }
}