Ejemplo n.º 1
0
        private static MCMergeVar[] GetMergeVars(IMailChimpContact contact)
        {
            var list = new List<MCMergeVar>
                       {
                               new MCMergeVar { req = true, tag = IdField, val = contact.UserId.ToString() },
                       };

            if (contact.Groups.Count > 0)
            {
                list.Add(new MCMergeVar { req = false, tag = "INTERESTS", val = string.Join(", ", contact.Groups.ToArray()) });
            }

            foreach (var mergeVar in _listColumns)
            {
                if (contact.FieldValues.ContainsKey(mergeVar.name))
                {
                    list.Add(new MCMergeVar
                    {
                        req = mergeVar.req,
                        name = mergeVar.name,
                        tag = mergeVar.tag,
                        val = contact.FieldValues[mergeVar.name] ?? ""
                    });
                }
            }
            return list.ToArray();
        }
Ejemplo n.º 2
0
        private static bool DifferenceInMergeVars(IEnumerable<MCMergeVar> merges, IMailChimpContact contact)
        {
            var mergeVars = GetMergeVars(contact);
            var result = true;

            mergeVars.ForEach(var => result = result && merges.Any(merge => merge.name == var.name && merge.val == var.val));

            return !result;
        }