Exemple #1
0
        public ConnectedAccountViewModel(ConnectedAccount ca) : base(ca, null)
        {
            _ca = ca ?? throw new System.ArgumentNullException(nameof(ca));
            Tag = ca;

            AddActionCommands(ca);

            CommandGroups.Add(new HierarchicalResourceCommandGroup(
                                  new HierarchicalResourceCommand("Edit", Symbol.Edit, EditAccountCommand)));

            HierarchicalResourceCommandGroup copyGroup = AddCommandGroup(
                new HierarchicalResourceCommand("copy connection string", Symbol.Copy, () =>
            {
                ServiceLocator.SystemService.SetClipboardText(_ca.ConnectionString);
                return(Task.CompletedTask);
            }));

            if (_ca.StorageConnectionString.Parameters.TryGetValue(KnownParameter.KeyOrPassword, out string keyOrPassword))
            {
                copyGroup.Commands.Add(new HierarchicalResourceCommand("copy key/password", Symbol.Copy, () =>
                {
                    ServiceLocator.SystemService.SetClipboardText(keyOrPassword);
                    return(Task.CompletedTask);
                }));
            }
        }
Exemple #2
0
        private void AddActionCommands(ConnectedAccount ca)
        {
            if (!(ca.Definition is BlobApplicationAccount baa))
            {
                return;
            }

            IReadOnlyCollection <ActionGroup> actionGroups = baa.GetExecutableAccountActionGroups(ca);

            foreach (ActionGroup ag in actionGroups)
            {
                var hrg = new HierarchicalResourceCommandGroup(
                    ag.Actions.Select(
                        cmd => new HierarchicalResourceCommand(cmd.Name, cmd.Icon, () => cmd.ExecuteAsync(ca, null))).ToArray()
                    );

                CommandGroups.Add(hrg);
            }
        }