Esempio n. 1
0
        public bool AddUpdateMailChimpContact(string userEmail, string fName, string lName)
        {
            string apiKey = db_Ref.GetT_OE_APP_SETTING("MAILCHIMP_API");
            string listId = db_Ref.GetT_OE_APP_SETTING("MAILCHIMP_LISTID");

            ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;
            IMailChimpManager manager = new MailChimpManager(apiKey);

            try
            {
                //check if user exists
                var userExists = manager.Members.ExistsAsync(listId, userEmail).Result;
                if (!userExists)
                {
                    //create user
                    MailChimp.Net.Models.Member _newMember = new MailChimp.Net.Models.Member
                    {
                        EmailAddress = userEmail,
                        StatusIfNew  = MailChimp.Net.Models.Status.Subscribed,
                    };
                    _newMember.MergeFields.Add("FNAME", fName);
                    _newMember.MergeFields.Add("LNAME", lName);
                    //_newMember.Status = MailChimp.Net.Models.Status.Subscribed;
                    MailChimp.Net.Models.MemberTag _tag = new MailChimp.Net.Models.MemberTag {
                        Name = "EECIP User"
                    };
                    _newMember.Tags.Add(_tag);

                    var xxx = manager.Members.AddOrUpdateAsync(listId, _newMember).Result;
                }
                else
                {
                    //update user
                    MailChimp.Net.Models.Member _newMember = new MailChimp.Net.Models.Member
                    {
                        EmailAddress = userEmail,
                        StatusIfNew  = MailChimp.Net.Models.Status.Subscribed,
                    };
                    _newMember.MergeFields.Add("FNAME", fName);
                    _newMember.MergeFields.Add("LNAME", lName);
                    var xxx = manager.Members.AddOrUpdateAsync(listId, _newMember).Result;

                    //update EECIP User Tag only
                    MailChimp.Net.Models.Tags tags = new MailChimp.Net.Models.Tags();
                    tags.MemberTags.Add(new MailChimp.Net.Models.Tag()
                    {
                        Name = "EECIP User", Status = "active"
                    });
                    manager.Members.AddTagsAsync(listId, userEmail, tags).GetAwaiter().GetResult();
                }



                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Esempio n. 2
0
        public bool RemoveMailChimpContant(string userEmail)
        {
            string apiKey = db_Ref.GetT_OE_APP_SETTING("MAILCHIMP_API");
            string listId = db_Ref.GetT_OE_APP_SETTING("MAILCHIMP_LISTID");

            ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;
            IMailChimpManager manager = new MailChimpManager(apiKey);

            try
            {
                //check if user exists
                var userExists = manager.Members.ExistsAsync(listId, userEmail).Result;
                if (!userExists)
                {
                    //do nothing
                }
                else
                {
                    //remove EECIP User Tag only
                    MailChimp.Net.Models.Tags tags = new MailChimp.Net.Models.Tags();
                    tags.MemberTags.Add(new MailChimp.Net.Models.Tag()
                    {
                        Name = "EECIP User", Status = "inactive"
                    });
                    manager.Members.AddTagsAsync(listId, userEmail, tags).GetAwaiter().GetResult();
                }



                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }