// Decompiled with JetBrains decompiler // Type: ZuneUI.RecipientHelper // Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217 // MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264 // Assembly location: C:\Program Files\Zune\ZuneShell.dll using System.Collections; using System.Collections.Generic; using System.Text; namespace ZuneUI { public class RecipientHelper : AutoCompleteHelper { private List _validRecipients; private string _errorMessage; public RecipientHelper() => this._validRecipients = new List(); public void ClearState() { this._validRecipients = new List(); this.Entry = string.Empty; this.ErrorMessage = null; } public static bool ValidZuneTag(string tag) => ZuneTagHelper.IsValid(tag); public static bool ValidEmail(string email) => EmailHelper.IsValid(email); public bool ValidateAll(bool allowEmailRecipients) => this.Validate(this.Entry, allowEmailRecipients); public string ErrorMessage { get => this._errorMessage; private set { if (!(this._errorMessage != value)) return; this._errorMessage = value; this.FirePropertyChanged(nameof(ErrorMessage)); } } public IList ValidRecipients => _validRecipients; private bool Validate(string entry, bool allowEmailRecipients) { bool flag = true; StringBuilder stringBuilder = new StringBuilder(); this._validRecipients.Clear(); if (entry != null) { string[] strArray = entry.Split(s_entrySeparators); for (int index = 0; index < strArray.Length; ++index) { string str = strArray[index].Trim(); if (str.Length != 0) { if (!ValidZuneTag(str) && (!allowEmailRecipients || !ValidEmail(str))) { flag = false; if (index != 0) stringBuilder.Append(' '); stringBuilder.Append(str); } else this._validRecipients.Add(str); } } } this.ErrorMessage = flag ? null : string.Format(Shell.LoadString(allowEmailRecipients ? StringId.IDS_COMPOSE_MESSAGE_ERROR_FRIENDS : StringId.IDS_COMPOSE_MESSAGE_ERROR_FRIENDS_NO_EMAIL), stringBuilder.ToString()); return flag; } public static IList MakeStringList() => new List(); } }