Esempio n. 1
0
        public void AddRcptMergeVars(string rcptEmail, string name, dynamic content)
        {
            var mergeVar = MergeVars.FirstOrDefault(x => x.Rcpt == rcptEmail);

            if (mergeVar == null)
            {
                MergeVars.Add(mergeVar = new MandrillRcptMergeVar {
                    Rcpt = rcptEmail
                });
            }
            mergeVar.Vars.Add(new MandrillMergeVar
            {
                Name    = name,
                Content = content
            });
        }
        public void RepeatHeaderTest()
        {
            var n = new NameValueCollection();
            MergeVars l = new MergeVars("a", n);

            dynamic o1 = new ExpandoObject();
            o1.bb = 1;
            o1.cc = 2;
            l.Add(o1);

            dynamic o2 = new ExpandoObject();
            o2.bb = 4;
            o2.cc = 5;
            o2._rcpt = "*****@*****.**";
            l.Add(o2);

            var v = n.GetValues("a");
            Assert.AreEqual(2, v.Count());
        }
Esempio n. 3
0
        public void RepeatHeaderTest()
        {
            var       n = new NameValueCollection();
            MergeVars l = new MergeVars("a", n);

            dynamic o1 = new ExpandoObject();

            o1.bb = 1;
            o1.cc = 2;
            l.Add(o1);

            dynamic o2 = new ExpandoObject();

            o2.bb    = 4;
            o2.cc    = 5;
            o2._rcpt = "*****@*****.**";
            l.Add(o2);

            var v = n.GetValues("a");

            Assert.AreEqual(2, v.Count());
        }
        public Dictionary <string, string> ListSubscribe(string email, string listIndex, string merge_vars, string groupings, string email_type)
        {
            if (checkEmail(email))
            {
                list_key = System.Web.Configuration.WebConfigurationManager.AppSettings["MailChimp:listKey" + listIndex];

                MergeVars mergeVars = jsonSerializer.Deserialize <MergeVars>(merge_vars);

                string mergeVars_url = "&merge_vars[OPTIN_TIME]=now";
                foreach (MergeVar thisMergeVar in mergeVars.merge_vars)
                {
                    mergeVars_url += "&merge_vars[" + thisMergeVar.key + "]=" + HttpUtility.UrlEncode(thisMergeVar.value);
                }

                Groupings groupingsDeserialized = jsonSerializer.Deserialize <Groupings>(groupings);

                string groupings_url = "";
                foreach (Grouping thisGroup in groupingsDeserialized.groupings)
                {
                    groupings_url += "&merge_vars[GROUPINGS][0][name]=" + HttpUtility.UrlEncode(thisGroup.key) + "&merge_vars[GROUPINGS][0][groups]=" + HttpUtility.UrlEncode(thisGroup.value);
                }

                string url = "https://" + server + ".api.mailchimp.com/1.3/?method=listSubscribe&apikey=" + api_key + "&id=" + list_key + "&email_address=" + HttpUtility.UrlEncode(email) + mergeVars_url + groupings_url + "&email_type=" + email_type + "&update_existing=true&double_optin=true";
                returnValue.Add("url", url);

                GetUrl(url);
                //GetUrl("https://" + server + ".api.mailchimp.com/1.3/?method=listInterestGroupings&apikey=" + api_key + "&id=" + list_key);

                returnValue.Add("status", status.SUCCESS.ToString());

                return(returnValue);
            }
            else
            {
                returnValue.Add("status", status.ERROR.ToString());
                returnValue.Add("message", "Invalid Email");
                return(returnValue);
            }
        }