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); }