private void UpdateLastSeenString(TLPrivacyRules rules)
        {
            _privacyRules = rules;

            TLPrivacyRuleBase mainRule = null;
            var mainRuleString         = string.Empty;
            var minusCount             = 0;
            var plusCount = 0;

            foreach (var rule in rules.Rules)
            {
                if (rule is TLPrivacyValueAllowAll)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.Everybody;
                }

                if (rule is TLPrivacyValueAllowContacts)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.MyContacts;
                }

                if (rule is TLPrivacyValueDisallowAll)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.Nobody;
                }

                if (rule is TLPrivacyValueDisallowUsers)
                {
                    minusCount += ((TLPrivacyValueDisallowUsers)rule).Users.Count;
                }

                if (rule is TLPrivacyValueAllowUsers)
                {
                    plusCount += ((TLPrivacyValueAllowUsers)rule).Users.Count;
                }
            }

            if (mainRule == null)
            {
                mainRule       = new TLPrivacyValueDisallowAll();
                mainRuleString = AppResources.Nobody;
            }

            var countStrings = new List <string>();

            if (minusCount > 0)
            {
                countStrings.Add("-" + minusCount);
            }
            if (plusCount > 0)
            {
                countStrings.Add("+" + plusCount);
            }
            if (countStrings.Count > 0)
            {
                mainRuleString += string.Format(" ({0})", string.Join(", ", countStrings));
            }

            LastSeenSubtitle = mainRuleString.ToLowerInvariant();
        }
Example #2
0
        private string GetPrivacyString(TLPrivacyRules rules, out TLPrivacyRules currentRules)
        {
            currentRules = rules;

            TLPrivacyRuleBase mainRule = null;
            var mainRuleString         = string.Empty;
            var minusCount             = 0;
            var plusCount = 0;

            foreach (var rule in rules.Rules)
            {
                if (rule is TLPrivacyValueAllowAll)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.Everybody;
                }

                if (rule is TLPrivacyValueAllowContacts)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.MyContacts;
                }

                if (rule is TLPrivacyValueDisallowAll)
                {
                    mainRule       = rule;
                    mainRuleString = AppResources.Nobody;
                }

                if (rule is TLPrivacyValueDisallowUsers)
                {
                    minusCount += ((TLPrivacyValueDisallowUsers)rule).Users.Count;
                }

                if (rule is TLPrivacyValueAllowUsers)
                {
                    plusCount += ((TLPrivacyValueAllowUsers)rule).Users.Count;
                }
            }

            if (mainRule == null)
            {
                mainRule       = new TLPrivacyValueDisallowAll();
                mainRuleString = AppResources.Nobody;
            }

            var countStrings = new List <string>();

            if (minusCount > 0)
            {
                countStrings.Add("-" + minusCount);
            }
            if (plusCount > 0)
            {
                countStrings.Add("+" + plusCount);
            }
            if (countStrings.Count > 0)
            {
                mainRuleString += string.Format(" ({0})", string.Join(", ", countStrings));
            }

            return(mainRuleString);
        }