public override IEnumerable <Item> Perform(IEnumerable <Item> items, IEnumerable <Item> modItems) { string number; Item item = items.First(); if (item is ITextItem) { number = Skype.StripPhoneChars((item as ITextItem).Text); if (!number.StartsWith("+")) { number = string.Format("+{0}", number); } Skype.Call(number); } else if (item is SkypeContactDetailItem) { Skype.Call((item as SkypeContactDetailItem).Handle); } else if (item is ContactItem) { Skype.Call(item as ContactItem); } else if (item is IContactDetailItem) { number = Skype.StripPhoneChars((item as IContactDetailItem).Description); if (!number.StartsWith("+")) { number = string.Format("+{0}", number); } Skype.Call(number); } yield break; }
public static void Call(ContactItem contact) { Skype.Call(contact ["handle.skype"]); }