public override void ExecuteCmdlet()

in src/PowerShell/Commands/GetPartnerProductAvailability.cs [57:97]


        public override void ExecuteCmdlet()
        {
            Scheduler.RunTask(async () =>
            {
                IPartner partner = await PartnerSession.Instance.ClientFactory.CreatePartnerOperationsAsync(CorrelationId, CancellationToken).ConfigureAwait(false);
                string countryCode = (string.IsNullOrEmpty(CountryCode)) ? PartnerSession.Instance.Context.CountryCode : CountryCode;

                if (string.IsNullOrEmpty(AvailabilityId))
                {
                    ResourceCollection<Availability> productAvailability;

                    if (!string.IsNullOrEmpty(Segment))
                    {
                        productAvailability = await partner.Products.ByCountry(countryCode).ById(ProductId).Skus.ById(SkuId).Availabilities.ByTargetSegment(Segment).GetAsync(CancellationToken).ConfigureAwait(false);

                        if (productAvailability.TotalCount > 0)
                        {
                            WriteObject(productAvailability.Items.Select(pa => new PSProductAvailability(pa)), true);
                        }
                    }
                    else
                    {
                        productAvailability = await partner.Products.ByCountry(countryCode).ById(ProductId).Skus.ById(SkuId).Availabilities.GetAsync(CancellationToken).ConfigureAwait(false);

                        if (productAvailability.TotalCount > 0)
                        {
                            WriteObject(productAvailability.Items.Select(pa => new PSProductAvailability(pa)), true);
                        }
                    }
                }
                else if (!string.IsNullOrEmpty(AvailabilityId))
                {
                    Availability availability = await partner.Products.ByCountry(countryCode).ById(ProductId).Skus.ById(SkuId).Availabilities.ById(AvailabilityId).GetAsync(CancellationToken).ConfigureAwait(false);
                    WriteObject(availability);
                }
                else
                {
                    throw new PSInvalidOperationException("You must specify a ProductId or Catalog.");
                }
            }, true);
        }