The Best Listen On The Net Web site

  Listen On The Net
With billions of web pages online, you could spend a lifetime surfing the Web for news, following links from one page to another. Amusing perhaps, but not very efficient if you are after some specific news information. One of the biggest complaints we hear concerns the difficulty of finding targeted information. Where do you start? Searching the Internet requires part skill, part luck and a little bit of art. Fortunately, we are here to help with the hunt.

You've probably heard of search engines such as Yahoo!, Google, and AltaVista. There are literally dozens of these tools to help you locate the news information you're looking for. The trick is understanding how they work, so you can use the right tool for the job and if the returned list of news sites is useable. We've done this and our summary below will save you hours and hours of time. Microsoft CRM Programming Secrets – tips for developer

 by: Andrew Karasev

This article is for advanced Microsoft CRM SDK C# developers. It describes the technique of direct SQL programming, when SDK doesn't have the functionality to do the job.

Introduction. Looks like Microsoft CRM becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision (the last two in progress).

Here we describe the technique of creating closed activity-email using MS CRM SDK and direct SQL programming.

Imaging something like this. You need to handle incoming email before it is committed to MS Exchange database. You need to analyze if incoming email doesn't have GUID in its Subject (GUID will allow MS CRM Exchange Connector to move email to Microsoft CRM and attach it to the Contact, Account or Lead) - then you still need to lookup MS CRM in case if one of the accounts, contacts or leads has email address that matches with sender email address - then you need to create closed activity-email in MS CRM, attached to the object and placed into general queue.

How to create MS Exchange handler is outside of the scope, please see this article:


http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

Now the code below is classical MS CRM SDK and it will create activity email:

public Guid CreateEmailActivity(Guid userId, int objectType, Guid objectId, string mailFrom, CRMUser crmUser, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

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

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

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

bizUser.Credentials = credentials;

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

// CRMEmail proxy object

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

email.Credentials = credentials;

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

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

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

strActivityXml += "";

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

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + crmUser.GetEmailAddress() + "";

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

strPartiesXml += ""+ crmUser.GetId().ToString("B") + "";

strPartiesXml += "";

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

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

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

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

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

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

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

}

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

strPartiesXml += "";

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

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

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

return emailId;

}

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

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

}

catch (Exception e) {

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

}

return new Guid();

}

Now I would like to share the trick with you - there is no method to make this activity closed in MS CRM SDK 1.2 (if somebody knows the one - I owe you small pocket aquarium - smile!). Obviously Microsoft doesn't support if you do direct SQL programming bypassing SDK. However I would say this is not direct objects creation - this is rather flags correction. So here is what we have - this procedure will do the job and make activity closed:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE 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 to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

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

}

}

Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Texas, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.


akarasev@albaspectrum.com

news

Listen On The Net
Need information on Internet Radio, audio or entertainment? Look no further - you've found a great repository for all of this information. If you want to listen to music or even to listen to free music just follow our sponsored links and you will find some great information.
Listen On The Net

The Internet is the largest library on earth containing billions and billions of pages of information. A simple search for news will produce thousands of results. What do you do with all this information? If you want to keep a record of the best news websites (using this as an example) then follow these simple steps:

If you wish to bookmark more than one site on news then it might pay you to create a folder called news in which relevant bookmarks can be stored. Just select Add to Favorites in your browser, the select New Folder and name it news.
WDBZ's Mr. Listen On The Net WDBZ's Mr. Listen On The Net WDBZ's Mr. Listen On The Net WDBZ's Mr. Listen On The Net WDBZ's Mr. Listen On The Net WDBZ's Mr. Listen On The Net

Home | Site Map | news | pop | pop music | rock music | sheet music | songs | video | wedding music | world music

Sign up for PayPal and start accepting credit card payments instantly.

Main Menu
Listen On The Net
Site Resources

Free Tell A Friend from Bravenet.com

News for 16-Dec-08

Source: BBC News | News Front Page | World Edition
Sri Lanka rebel HQ 'to fall soon'

Source: BBC News | News Front Page | World Edition
Gaza power cut blamed on blockade

Source: BBC News | News Front Page | World Edition
China's central bank cuts rates

Source: BBC News | News Front Page | World Edition
Ready to fight

Source: BBC News | News Front Page | World Edition
Universal test 'would slash Aids'

Source: BBC News | News Front Page | World Edition
Chinese death row trial 'flawed'

Source: BBC News | News Front Page | World Edition
Europe to set out economic plans

Source: BBC News | News Front Page | World Edition
Europe debates space station cost

Source: BBC News | News Front Page | World Edition
Spending spree

Source: BBC News | News Front Page | World Edition
Thai army calls for new elections

Search the Web
news
pop
pop music
rock music
sheet music
songs
video
wedding music
world music
alexander jones talk radio

Last Updated: Tuesday, 16-Dec-2008 00:05:13 MST
Copyright © 2004 :: Listen On The Net
Fantasy Football Update :: Medical Meetings :: Medical Newscast :: medical mailings

Listen On The Net

RX Right!   Talk On The Net   Take Your Meds