Exemple #1
0
        /// <summary>
        /// ChatModeratorActions model constructor.
        /// </summary>
        /// <param name="jsonStr">The json string.</param>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        public ChannelSubscription(string jsonStr)
        {
            var message = JObject.Parse(jsonStr);

            Username             = message.SelectToken("user_name")?.ToString();
            DisplayName          = message.SelectToken("display_name")?.ToString();
            RecipientName        = message.SelectToken("recipient_user_name")?.ToString();
            RecipientDisplayName = message.SelectToken("recipient_display_name")?.ToString();
            ChannelName          = message.SelectToken("channel_name")?.ToString();
            UserId      = message.SelectToken("user_id")?.ToString();
            RecipientId = message.SelectToken("recipient_id")?.ToString();
            ChannelId   = message.SelectToken("channel_id")?.ToString();
            Time        = Common.Helpers.DateTimeStringToObject(message.SelectToken("time")?.ToString());
            switch (message.SelectToken("sub_plan").ToString().ToLower())
            {
            case "prime":
                SubscriptionPlan = Enums.SubscriptionPlan.Prime;
                break;

            case "1000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier1;
                break;

            case "2000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier2;
                break;

            case "3000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier3;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            SubscriptionPlanName = message.SelectToken("sub_plan_name")?.ToString();
            SubMessage           = new SubMessage(message.SelectToken("sub_message"));
            Context = message.SelectToken("context")?.ToString();

            var monthsToken = message.SelectToken("months");

            if (monthsToken != null)
            {
                Months = int.Parse(monthsToken.ToString());
            }

            // these properties are hyphenated unlike all others
            var cumulativeMonthsToken = message.SelectToken("cumulative-months");
            var streakMonthsToken     = message.SelectToken("streak-months");

            if (cumulativeMonthsToken != null)
            {
                CumulativeMonths = int.Parse(cumulativeMonthsToken.ToString());
            }

            if (streakMonthsToken != null)
            {
                StreakMonths = int.Parse(streakMonthsToken.ToString());
            }
        }
Exemple #2
0
        /// <summary>ChatModeratorActions model constructor.</summary>
        public ChannelSubscription(string jsonStr)
        {
            JToken message = JObject.Parse(jsonStr);

            Username             = message.SelectToken("user_name")?.ToString();
            DisplayName          = message.SelectToken("display_name")?.ToString();
            RecipientName        = message.SelectToken("recipient_user_name")?.ToString();
            RecipientDisplayName = message.SelectToken("recipient_display_name")?.ToString();
            ChannelName          = message.SelectToken("channel_name")?.ToString();
            UserId      = message.SelectToken("user_id")?.ToString();
            RecipientId = message.SelectToken("recipient_id")?.ToString();
            ChannelId   = message.SelectToken("channel_id")?.ToString();
            Time        = Common.Helpers.DateTimeStringToObject(message.SelectToken("time")?.ToString());
            switch (message.SelectToken("sub_plan").ToString().ToLower())
            {
            case "prime":
                SubscriptionPlan = Enums.SubscriptionPlan.Prime;
                break;

            case "1000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier1;
                break;

            case "2000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier2;
                break;

            case "3000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier3;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            SubscriptionPlanName = message.SelectToken("sub_plan_name")?.ToString();
            TotalMonths          = int.Parse(message.SelectToken("cumulative_months").ToString());
            StreakMonths         = int.Parse(message.SelectToken("streak_months").ToString());
            SubMessage           = new SubMessage(message.SelectToken("sub_message"));
            Context = message.SelectToken("context")?.ToString();
        }
        /// <summary>
        /// ChatModeratorActions model constructor.
        /// </summary>
        /// <param name="jsonStr">The json string.</param>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        public ChannelSubscription(string jsonStr)
        {
            var message = JObject.Parse(jsonStr);

            Username             = message.SelectToken("user_name")?.ToString();
            DisplayName          = message.SelectToken("display_name")?.ToString();
            RecipientName        = message.SelectToken("recipient_user_name")?.ToString();
            RecipientDisplayName = message.SelectToken("recipient_display_name")?.ToString();
            ChannelName          = message.SelectToken("channel_name")?.ToString();
            UserId      = message.SelectToken("user_id")?.ToString();
            RecipientId = message.SelectToken("recipient_id")?.ToString();
            ChannelId   = message.SelectToken("channel_id")?.ToString();
            Time        = Common.Helpers.DateTimeStringToObject(message.SelectToken("time")?.ToString());
            switch (message.SelectToken("sub_plan").ToString().ToLower())
            {
            case "prime":
                SubscriptionPlan = Enums.SubscriptionPlan.Prime;
                break;

            case "1000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier1;
                break;

            case "2000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier2;
                break;

            case "3000":
                SubscriptionPlan = Enums.SubscriptionPlan.Tier3;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            SubscriptionPlanName = message.SelectToken("sub_plan_name")?.ToString();
            SubMessage           = new SubMessage(message.SelectToken("sub_message"));

            var isGiftToken = message.SelectToken("is_gift")?.ToString();

            if (isGiftToken != null)
            {
                IsGift = Convert.ToBoolean(isGiftToken.ToString());
            }

            var multiMonthDurationToken = message.SelectToken("multi_month_duration")?.ToString();

            if (multiMonthDurationToken != null)
            {
                MultiMonthDuration = int.Parse(multiMonthDurationToken.ToString());
            }
            Context = message.SelectToken("context")?.ToString();

            var monthsToken = message.SelectToken("months");

            if (monthsToken != null)
            {
                Months = int.Parse(monthsToken.ToString());
            }

            var cumulativeMonthsToken = message.SelectToken("cumulative_months");

            if (cumulativeMonthsToken != null)
            {
                CumulativeMonths = int.Parse(cumulativeMonthsToken.ToString());
            }

            var streakMonthsToken = message.SelectToken("streak_months");

            if (streakMonthsToken != null)
            {
                StreakMonths = int.Parse(streakMonthsToken.ToString());
            }
        }