Ejemplo n.º 1
0
        private void buttonIpAssociate_Click(object sender, EventArgs e)
        {
            if (awsListView.SelectedItems.Count == 1 && awsListView.SelectedItems[0].Tag.GetType() == typeof(ZAwsElasticIp) &&
                ((ZAwsElasticIp)awsListView.SelectedItems[0].Tag).Associated)
            {
                ((ZAwsElasticIp)awsListView.SelectedItems[0].Tag).Disassociate();
                return;
            }

            ZAwsElasticIp ip  = null;
            ZAwsEc2       ec2 = null;

            if (awsListView.SelectedItems.Count == 2)
            {
                if (awsListView.SelectedItems[0].Tag.GetType() == typeof(ZAwsElasticIp) &&
                    (!((ZAwsElasticIp)awsListView.SelectedItems[0].Tag).Associated) &&
                    awsListView.SelectedItems[1].Tag.GetType() == typeof(ZAwsEc2))
                {
                    ip  = (ZAwsElasticIp)awsListView.SelectedItems[0].Tag;
                    ec2 = (ZAwsEc2)awsListView.SelectedItems[1].Tag;
                }
                if (awsListView.SelectedItems[1].Tag.GetType() == typeof(ZAwsElasticIp) &&
                    (!((ZAwsElasticIp)awsListView.SelectedItems[1].Tag).Associated) &&
                    awsListView.SelectedItems[0].Tag.GetType() == typeof(ZAwsEc2))
                {
                    ip  = (ZAwsElasticIp)awsListView.SelectedItems[1].Tag;
                    ec2 = (ZAwsEc2)awsListView.SelectedItems[0].Tag;
                }
            }
            if (ip == null || ec2 == null)
            {
                return;
            }
            ip.Associate(ec2);
        }