Dynamics4.0和Dynamics2011处理Email的方法

 

在这里对Dynamics4.0Dynamics2011中处理Email的方法做一个简单的总结:

 

DynamicsEmail是作为一个Activity Entity存在的,并且存储在ActivityPointerBase表中(这个表的field集合了所有的Activity Entity的字段,如:EmailAppointmentLetterTaskFax等等);

 

而每一个Activity Entity会与其他的Entity进行相应的关联,这样的关联关系存储在ActivityPartyBase表中,这个表中三个最主要的字段:ActivityId表示Activity EntityIdPartyId表示与之相关联的其他EntityIdActivityPartyId为此表的主键。

 

EmailSearchBase这个表中记录了所有的EmailAddress的关联关系,即:这个EmailAddress是哪一个EntityEmailAddress字段。

 

EmailAddressActivity EntityEmail是有本质上的区别的,这样的设计和SalesForce中的Email的设计是一样的。EmailAddress只是一个ObjectSF)或是EntityDynamics)记录的一个字段;而Activity EntityEmail则是进行收发的Email实体,只不过FromToCcBcc会分别关联到相应的EmailAddress,在SFFromToCcBcc就是一个EmailAddress字符串,但是在DynamicsFromToCcBcc是一个含有EmailAddress字段的Entity(如:useraccountlead等等)。

 

Dynamics API 4.0中创建Email时添加FromToCcBcc的方法是

 

activityparty from = new activityparty();

from.partyid = new Lookup();

from.partyid.type = "systemuser";

from.partyid.Value = new Guid(“F60AF982-54C2-E011-B910-0050568E03AC”);

emailEntity.from = new activityparty[] { from };

 

activityparty to = new activityparty();

to.partyid = new Lookup();

to.partyid.type = "account";

to.partyid.Value = new Guid(“60007DC6-62C2-E011-BA0B-0050568E03AC”);

emailEntity.to = new activityparty[] { to };

等等。。。

 

Dynamics API 2011中创建Email时添加FromToCcBcc的方法是

 

Entity emailEntity = new Entity("email");

Entity to = new Entity("activityparty");

to.Attributes.Add("partyid", new EntityReference("account", new Guid("CBC1FB8F-42CA-E011-999B-0050568E03AC")));

emailEntity.Attributes.Add("to", new Entity[] { to });

 

 

posted @ 2011-09-15 13:15  Eric Sun  阅读(409)  评论(0编辑  收藏  举报