English version
German version
Spanish version
French version
Italian version
Portuguese / Brazilian version
Dutch version
Greek version
Russian version
Japanese version
Korean version
Simplified Chinese version
Traditional Chinese version
Hindi version
Czech version
Slovak version
Bulgarian version
 

Microsoft CRM Kundenbezogenheit? Programmierende Geschlossene Email Tätigkeit

Software RSS Feed





Microsoft CRM ist CRM Antwort von Microsoft und vom Versuch, Marktanteil von Siebel, vom Orakel und von anderen zu erhalten traditionelle Klient Verhältnis-Management-System Verkäufer. Microsoft CRM verwendet das ganzes Spektrum Microsoft der neuen Technologien: Net, MS Austausch, MS Aussicht, MS SQL Bediener, Reproduktion, Index-Bewegung, aktives Verzeichnis, Windows 2000/2003 Sicherheit vorbildlich, C #, VB.Net, HTML, XML Netz-Service, XLTP, Javascript, zum einige zu nennen.

Heutiges Thema ist Tätigkeit der email Art Programmierung - Sie normalerweise Abkommen mit diesen Kundenbezogenheiten, wenn Sie Stecker des Microsoft Austausches CRM verbessern. Wie Sie geschlossene Tätigkeit verursachen - dieses ist das Hauptdiskussion Thema. Wir verwenden C#.Net Kodierung

Eine der Rollen unseres Austausch-Falls Handler/Sink ist Kreation MS CRM geschlossene Tätigkeit, wenn es die ankommenden und abgehenden email Anzeigen anfaßt. Die Interaktion mit Microsoft CRM verwendet zwei genähert? MS CRM SDK verwenden (die inbound und outbound XML Anzeigen anfassend) und über direkten Zugriff MS CRM zur Datenbank. Lassen Sie uns erster Blick am geschlossenen Tätigkeit Kreation Algorithmus:

1. Zuerst müssen wir das Wesen verstehen, das wir Tätigkeit für verursachen müssen: Konto, Leitung oder Kontakt. Die Vorwähler sollte spezifische Kriterien verwenden? in unserem Fall ist dieses email address:



wenn ((crmAccount = crmConnector.GetAccount(mailboxFrom))! = Null) {

}

sonst, wenn ((crmContact = crmConnector.GetContact(mailboxFrom))! = Null) {

}

sonst, wenn ((crmLead = crmConnector.GetLead(mailboxFrom))! = Null) {

}



2. Dann müssen wir GUID des Benutzers des MS CRM, den erhalten dieses Wesen besitzt, C # Code so:



crmUser = crmConnector.GetUser(crmAccount.GetOwnerId());



3. Folgender Schritt ist geschlossene Tätigkeit Kreation:



emailId = crmConnector.CreateEmailActivity(

crmUser.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otAccount, crmAccount.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otSystemUser, crmUser.GetId(),

crmAccount.GetEmailAddress(), crmUser.GetEmailAddress(), sSubject, sBody);



4. Die Methode, zum der geschlossenen Tätigkeit zu verursachen:



allgemeines Guid CreateEmailActivity(Guid userId, internes fromObjectType, Guid fromObjectId, internes toObjectType, Guid toObjectId, Zeichenkette mailFrom, Zeichenkette mailTo, Zeichenkettethema, Zeichenkettekörper) {

Versuch {

log.Debug("Prepare für die verursachende Post-Tätigkeit");

//BizUser Vollmachtgegenstand

Microsoft.Crm.Platform.Proxy.BizUser bizUser = neues Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials Bescheinigungen = neues NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = Bescheinigungen;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

//CRMEmail Vollmachtgegenstand

Microsoft.Crm.Platform.Proxy.CRMEmail email = neues Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = Bescheinigungen;

email.Url = crmDir + "CRMEmail.srf";

//stellen Sie die XML Zeichenkette für die Tätigkeit auf

reihen Sie strActivityXml = "" auf;

strActivityXml + = "";

strActivityXml + = "") + "]]>";

strActivityXml + = "";

strActivityXml + = userId.ToString("B") + "";

strActivityXml + = "";

//stellen Sie die XML Zeichenkette für die Tätigkeit Parteien auf

reihen Sie strPartiesXml = "" auf;

strPartiesXml + = "";

strPartiesXml + = "" + mailTo + "";

wenn (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

sonst wenn (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

sonst wenn (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

sonst wenn (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml + = "" + toObjectId.ToString("B") + "";

strPartiesXml + = "";

strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml + = "";

strPartiesXml + = "";

strPartiesXml + = "";

strPartiesXml + = "" + mailFrom + "";

wenn (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

sonst wenn (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

sonst wenn (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

sonst wenn (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml + = "" + fromObjectId.ToString("B") + "";

strPartiesXml + = "";

strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml + = "";

strPartiesXml + = "";

strPartiesXml + = "";

log.Debug(strPartiesXml);

//verursachen Sie den E-mail Gegenstand

Guid emailId = neues Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

RückholemailId;

}

Verriegelung (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: "+ e.Message +" "+ e.Detail.OuterXml +" Quelle: "+ e.Source);

}

Verriegelung (Ausnahme e) {

log.Debug(e.Message + "" + e.StackTrace);

}

neues Rückholguid();

}



5. Das Tätigkeit gerechte zu bilden verursacht Ihnen Notwendigkeit richtig gezeigt zu werden sie zu gründen ist Markierungsfahnen entsprechend Standards des MS CRM:



Öffentlichkeit leeres UpdateActivityCodes(Guid emailId) {

Versuch {

OleDbCommand Befehl = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase GESETZTES DirectionCode = (?), StateCode = (?), PriorityCode = (?) WO ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare, zum des Tätigkeit Codes zu aktualisieren" + emailId.ToString("B") + "in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

Öffentlichkeit leeres UpdateActivityQueueCodes(Guid emailId, Guid queueId) {

Versuch {

OleDbCommand Befehl = conn.CreateCommand();

command.CommandText = "UPDATE QueueItemBase GESETZTE Priorität = (?), Zustand = (?), QueueId = (?) WO ObjectId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("Priority", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("State", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("QueueId", queueId));

command.Parameters.Add(new OleDbParameter("ObjectId", emailId));

log.Debug("Prepare, zum des Tätigkeit Warteschlange Codes zu aktualisieren" + emailId.ToString("B") + "in QueueItemBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}



Glückliches Besonders anfertigen, Einführen und Ändern! Wenn Sie uns die Arbeit erledigen wünschen - rufen Sie uns 1-866-528-0577 an! help@albaspectrum.com

Über Den Autor

Boris Makushkin ist Leitung Software-Entwickler in den alba Spektrum-Technologien? USA allgemein Microsoft CRM, Microsoft die Prairie-Kundenbezogenheit Firma, gegründet in Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Dallas, Atlanta, Miami, Montreal, Toronto, Vancouver, Madrid, Moskau, Europa und international (www.albaspectrum.com), ist er Microsoft CRM SDK, C #, VB.Net, SQL, Orakel, Unix Entwickler. Boris kann erreicht werden: 1-866-528-0577 oder borism@albaspectrum.com.

borism@albaspectrum.com

Artikel Quelle: Messaggiamo.Com

Translation by Google Translator





Related:

» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker


Holen Sie sich den HTML-Code fü Webmaster
Fügen Sie diese Artikel Ihrer Website jetzt hinzu!

Webmaster veröffentlichen Sie Ihre Artikel
Keine Anmeldung erforderlich! Füllen Sie das Formular aus und Ihr Artikel wird im Messaggiamo.Com Artikel-Verzeichnis aufgenommen!

Add to Google RSS Feed See our mobile site See our desktop site Follow us on Twitter!

Veröffentlichen Sie Ihre Texte im Messaggiamo.Com Artikel-Verzeichnis

Kategorien


Copyright 2006-2011 Messaggiamo.Com - Site Map - Privacy - Webmaster, veröffentlichen Sie Ihre Artikel kostenfrei auf Messaggiamo.Com! [0.01]
Hosting by webhosting24.com
Dedicated servers sponsored by server24.eu