Esempio n. 1
0
        public async Task <int> ExecuteAdd()
        {
            var settings = _settingsManager.ReadSettings();

            var name      = Name.Optional(null);
            var authority = Authority.Optional(null);
            var tenant    = Tenant.Optional(null);
            var resource  = Resource.Optional(null);

            var appid  = Appid.Optional(null);
            var secret = Secret.Optional(null);

            var username = Username.Optional(null);
            var password = Password.Optional(null);

            var token = Token.Optional(null);

            if (tenant != null)
            {
                authority = $"https://login.windows.net/{tenant}";
            }

            if (name != null)
            {
                settings.accounts = settings.accounts
                                    .Where(x => !string.Equals(x.name, name, StringComparison.Ordinal))
                                    .ToList();
            }

            var entry = new AccountEntry
            {
                name      = name,
                resource  = resource,
                authority = authority,
                token     = token,
                appid     = appid,
                secret    = secret,
            };

            settings.accounts.Add(entry);

            _settingsManager.WriteSettings(settings);

            return(0);
        }