public static void Messenger(this Contact contact, MessengerTypeEnum type, string value)
        {
            if (String.IsNullOrEmpty(value))
            {
                return;
            }

            contact.ChangeValueDelegate += delegate(Contact x) {
                x.Fields = x.Fields ?? new List <Field>();
                if (!x.Fields.Any(fl => fl.Id == (int)ContactFieldsEnum.Messanger))
                {
                    x.Fields.Add(new Field {
                        Id = (int)ContactFieldsEnum.Messanger, Values = new List <FieldValue>()
                    });
                }

                var current = x.Messenger();
                if (current != null && current.Any(p => p.Key == type))
                {
                    x.Fields.FirstOrDefault(fl => fl.Id == (int)ContactFieldsEnum.Messanger).Values.FirstOrDefault(p => p.Enum == (int)type).Value = value.ClearEmail();
                }
                else
                {
                    x.Fields.FirstOrDefault(fl => fl.Id == (int)ContactFieldsEnum.Messanger).Values.Add(new FieldValue {
                        Enum = (int)type, Value = value.ClearEmail()
                    });
                }
            };
        }
Ejemplo n.º 2
0
 public virtual void AddMessenger(string value, MessengerTypeEnum type)
 {
     if (String.IsNullOrEmpty(value) || type == default)
     {
         return;
     }
     SetField((int)ContactSystemFields.Messenger, value, (int)type, add: true);
 }