Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static async Task <Pricing> GetAsync()
        {
            Pricing pricings = new Pricing();

            string responseContent = await ApiCore.SendRequest("/pricing");

            Objects.Pricing.Get.Response response = JsonConvert.DeserializeObject <Objects.Pricing.Get.Response>(responseContent);

            pricings = GetPricingsFromResponseData(response);

            return(pricings);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="responseData"></param>
        /// <returns></returns>
        private static Pricing GetPricingsFromResponseData(Objects.Pricing.Get.Response responseData)
        {
            Pricing pricings = new Pricing();

            pricings.Currency = responseData.pricing.currency;
            pricings.VatRate  = responseData.pricing.vat_rate;
            pricings.Image    = new ImagePricing()
            {
                PricePerGbMonth = new PricingValue()
                {
                    Net   = responseData.pricing.image.price_per_gb_month.net,
                    Gross = responseData.pricing.image.price_per_gb_month.gross
                }
            };
            pricings.FloatingIp = new FloatingIpPricing()
            {
                PriceMontly = new PricingValue()
                {
                    Net   = responseData.pricing.floating_ip.price_monthly.net,
                    Gross = responseData.pricing.floating_ip.price_monthly.gross
                }
            };
            pricings.Traffic = new TrafficPricing()
            {
                PricePerTb = new PricingValue()
                {
                    Net   = responseData.pricing.traffic.price_per_tb.net,
                    Gross = responseData.pricing.traffic.price_per_tb.gross
                }
            };
            pricings.ServerBackup = new ServerBackupPricing()
            {
                Percentage = responseData.pricing.server_backup.percentage
            };
            pricings.ServerTypes = new List <ServerTypePricing>();

            foreach (var serverType in responseData.pricing.server_types)
            {
                ServerTypePricing stp = ServerType.GetServerTypePricingFromResponseData(serverType);

                pricings.ServerTypes.Add(stp);
            }

            return(pricings);
        }