1

C# ラッパーを使用してリストに連絡先を追加しようとしています。私の問題は、初めて連絡先を追加する場合、リストに正常に追加できることです。ただし、Constant Contact Interface を使用して連絡先を削除し、asp.net C# 関数から再度連絡先を追加しようとすると失敗します。

私はいくつかの調査を行い、次のことを理解しました:1)最初に連絡先の電子メールアドレスが存在するかどうかを確認する必要があります 2)次に、それに応じて更新または投稿します。

上記に関するヘルプ/アドバイスをいただければ幸いです。私はこの仕事を得るために多くの時間を費やしましたが、運がありませんでした.

コード

protected void Page_Load(object sender, EventArgs e)
    {
        ConstantContactBO.Contact c = new ConstantContactBO.Contact();

        AuthenticationData authdata = new AuthenticationData();
        authdata.Username = "";
        authdata.Password = "";
        authdata.ApiKey = "";

        c.EmailAddress = "joe@a.com";

        ContactOptInList theList = new ContactOptInList();
        c.OptInSource = ContactOptSource.ActionByContact;
        theList.ContactList = new ContactList("39");
        c.ContactLists.Add(theList);

        ConstantContactUtility.Utility.CreateNewContact(authdata, c);

}

メールが存在するかどうかを確認してから、連絡先を更新またはリストに追加できるようにしたいと考えています。

4

2 に答える 2

1

ここでhttps://github.com/constantcontact/Constant-Contact-Dot-Net-ASP-Contact-Forms/blob/master/Web/UploadContactForm/AddContactSmallForm.aspx.cs探しているコードの美しいサンプルを見つけることができます、 私は信じている。正しく使用している製品が特定されている場合は、http: //developer.constantcontact.com/ でさらに多くのドキュメントを見つけることができます。

    string nextChunkId;
    IList<Contact> list = Utility.SearchContactByEmail(AuthenticationData, emailAddress, out nextChunkId);
    if (list.Count == 0)
    {
        // create new Contact
        Contact contact = GetContactInformation();

        Utility.CreateNewContact(AuthenticationData, contact);
        Response.Redirect("~/AddContactConfirmation.aspx");
    }
    else
    {
        throw new ConstantException(String.Format(CultureInfo.CurrentCulture,
            "Email address \"{0}\" is already a contact", txtEmail.Text.Trim()));
    }
于 2012-11-08T23:31:02.373 に答える
0

ラムダ式を使用してこれを試してください

int count = c.ContactLists.Count(cc => cc.EmailAddress == "joe@a.com");
if(count == 0) //does not exist
{
   //add this contact
}
else
{

}
于 2012-11-08T23:17:25.023 に答える