<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>VisionXpo Software Solutions</title>
	<atom:link href="http://www.bestwebdesignscompany.com/blogs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bestwebdesignscompany.com/blogs</link>
	<description>Web Development, Graphic Designing, MapPoint, Business Process outsourcing, Process Management</description>
	<pubDate>Thu, 08 Jan 2009 03:00:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Using ConstantContact API and IContact API for Email Marketing in your application</title>
		<link>http://www.bestwebdesignscompany.com/blogs/2009/01/07/using-constantcontact-api-and-icontact-api-for-email-marketing-in-your-application/</link>
		<comments>http://www.bestwebdesignscompany.com/blogs/2009/01/07/using-constantcontact-api-and-icontact-api-for-email-marketing-in-your-application/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 00:41:04 +0000</pubDate>
		<dc:creator>asad</dc:creator>
		
		<category><![CDATA[Email Marketing]]></category>

		<category><![CDATA[API Integration]]></category>

		<category><![CDATA[ConstantContact API]]></category>

		<category><![CDATA[Email Marketing API]]></category>

		<category><![CDATA[IContact API]]></category>

		<guid isPermaLink="false">http://www.bestwebdesignscompany.com/blogs/?p=24</guid>
		<description><![CDATA[source : www.visionxpo.net
Last week, we got a requirement from one of our client of Yoga Management Software to integrate Email marketing service in their software. I had some research on it before getting into real thing and passing requirements to development team.
I believe there are two leading Email marketing companies 

IContact.com
ConstantContact.com

I have personally used IContact.com [...]]]></description>
			<content:encoded><![CDATA[<p>source : www.visionxpo.net</p>
<p>Last week, we got a requirement from one of our client of <strong>Yoga Management Software</strong> to integrate <strong>Email marketing service</strong> in their software. I had some research on it before getting into real thing and passing requirements to development team.</p>
<p>I believe there are two leading <strong>Email marketing companies </strong></p>
<ul>
<li><strong>IContact.com</strong></li>
<li><strong>ConstantContact.com</strong></li>
</ul>
<p>I have personally used IContact.com and even we are developing clone of <a href="http://www.emailerama.com">IContact.com </a></p>
<p>i.e <strong><a href="http://www.emailerama.com">www.emailerAMA.com</a></strong></p>
<p>Coming back to topic, when it comes to integrating this service into your own application, i found IContact API more interesting, organized, well structured and secure but LESS DOCUMENTATION AND HELP in .NET</p>
<p>we had less time so i found it better to go for ConstantContact.com since we had less time and data was not that sensitive though i did not like their data security architecture.</p>
<p>without wasting time here is code snippet in VB.NET (sorry for not well formatted code as this is sample that i passed to my development team for help so as i am posting here)</p>
<p>Private Sub AddContact()<br />
&#8216;Setup your variables<br />
Dim sUsername As String = &#8220;malikrizwan&#8221;<br />
Dim sPassword As String = &#8220;123456&#8243;<br />
Dim sUri As String = &#8220;http://api.constantcontact.com/ws/customers/&#8221; &amp; sUsername &amp; &#8220;/activities&#8221;<br />
Dim sListUri As String = &#8220;http://api.constantcontact.com/ws/customers/&#8221; &amp; sUsername &amp; &#8220;/lists/1&#8243; &#8216;If you have more than one list, change this number to whichever list you&#8217;re targeting<br />
Dim sAPIKey As String = &#8220;371a3142-6267-4342-96e5-51ff1b951f06&#8243;</p>
<p>&#8216;Setup an HttpWebRequest to send the data<br />
Dim address As New Uri(sUri)<br />
Dim request As HttpWebRequest = TryCast(WebRequest.Create(address), HttpWebRequest)<br />
request.Credentials = New NetworkCredential((sAPIKey &amp; &#8220;%&#8221; &amp; sUsername), sPassword)<br />
request.Method = &#8220;POST&#8221;<br />
request.ContentType = &#8220;application/x-www-form-urlencoded&#8221;</p>
<p>&#8216;Build an encoded string of the data to pass to Constant Contact<br />
&#8216;More info on this can be found at http://developer.constantcontact.com/doc/activities<br />
Dim data As New StringBuilder()<br />
data.Append(&#8221;activityType=&#8221; + MyUrlEncode(&#8221;SV_ADD&#8221;))<br />
data.Append(&#8221;&amp;data=&#8221; + MyUrlEncode((&#8221;Email Address,Email Type,First Name,Last Name,Company Name&#8221; &amp; Chr(10))))<br />
data.Append(MyUrlEncode((&#8221;youremail@yourserver.com,HTML,YourName,VisionXpo&#8221;)))<br />
data.Append(&#8221;&amp;lists=&#8221; + MyUrlEncode(sListUri))</p>
<p>&#8216;The &#8220;guts&#8221; of the code to execute the request and return a response<br />
&#8216;The response (returned as &#8217;strResponse&#8217;) will be XML.  You can parse this for status messages if you like, or just ignore it.<br />
Dim byteData As Byte() = UTF8Encoding.UTF8.GetBytes(data.ToString())<br />
Dim st As String = String.Empty</p>
<p>request.ContentLength = byteData.Length<br />
Using postStream As Stream = request.GetRequestStream()<br />
postStream.Write(byteData, 0, byteData.Length)<br />
End Using</p>
<p>Using response As HttpWebResponse = TryCast(request.GetResponse(), HttpWebResponse)<br />
Dim reader As New StreamReader(response.GetResponseStream())<br />
st = reader.ReadToEnd()<br />
End Using<br />
End Sub</p>
<p>Public Function MyUrlEncode(ByVal str As String) As String<br />
Dim sb As New StringBuilder()</p>
<p>For Each c As Char In str<br />
If Char.IsLetterOrDigit(c) Then<br />
sb.Append(c)<br />
Else<br />
sb.AppendFormat(&#8221;%{0:X02}&#8221;, CInt(Ascw(c)))<br />
End If<br />
Next<br />
Return sb.ToString()<br />
End Function</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bestwebdesignscompany.com/blogs/2009/01/07/using-constantcontact-api-and-icontact-api-for-email-marketing-in-your-application/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Process Management , Using MapPoint AX with .NET</title>
		<link>http://www.bestwebdesignscompany.com/blogs/2008/09/26/process-management-using-mappoint-ax-with-net/</link>
		<comments>http://www.bestwebdesignscompany.com/blogs/2008/09/26/process-management-using-mappoint-ax-with-net/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 22:02:29 +0000</pubDate>
		<dc:creator>asad</dc:creator>
		
		<category><![CDATA[MapPoint]]></category>

		<category><![CDATA[ActiveX process Kill problem]]></category>

		<category><![CDATA[MapPoint process bug]]></category>

		<category><![CDATA[MapPoint with .NET]]></category>

		<category><![CDATA[Process kill]]></category>

		<guid isPermaLink="false">http://www.bestwebdesignscompany.com/blogs/?p=13</guid>
		<description><![CDATA[


source: www.visionxpo.net
Last week, We came across a weird problem of MapPoint activeX using .NET. Here is a list of steps to generate this bug:
•	Create a sample .NET application and use Mappoint activeX control in it.
•	Run your application
•	Run Task manager (Ctrl+Alt+Del) and kill the process of your application (not active process i.e. MapPoint.exe)
•	Now you will see [...]]]></description>
			<content:encoded><![CDATA[<table border="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td width="100%">source: www.visionxpo.net</p>
<p>Last week, We came across a weird problem of <strong>MapPoint</strong> activeX using .NET. Here is a list of steps to generate this bug:</p>
<p>•	Create a sample .NET application and use <strong>Mappoint activeX</strong> control in it.</p>
<p>•	Run your application</p>
<p>•	Run Task manager (Ctrl+Alt+Del) and kill the process of your application (not active process i.e. <strong>MapPoint</strong>.exe)</p>
<p>•	Now you will see MapPoint.exe process is still running even its parent application is no more in the memory</p>
<p>•	Now run your application again</p>
<p>•	Your application will go in a long long wait state.</p>
<p>Weird!!!!!!!!!! Isn’t it?</p>
<p>Ok no worries, I got a solution for it. Though it is not a perfect solution (if you have any other, share with me) but it works for me.</p>
<p>Solution:</p>
<p>Create a text/XML file. On every form you load Mappoint active i.e. load maps, make an entry in the file with your application ID (you can get it by System.Diagnostics.Process.GetCurrentProcess().Id) and recent start time tick of your activeX control.</p>
<p>e.g</p>
<p>&lt;em&gt;Process[] proc = Process.<strong>GetProcessesByName</strong>(&#8221;<strong>MapPoint</strong>&#8220;);&lt;/em&gt;</p>
<p>&lt;em&gt;Log.Add(AppID,AX.proc[0].starttime.tick);&lt;/em&gt;</p>
<p>and on every form close delete this entry from log (this shows form was properly closed, not killed forcibly). Now if user kills your application process forcibly, all the running MapPoint processes’ handles are in log </p>
<p>On application load, query your log and kill all mappoint processes as well delete entries from log file. Please note that before killing mappoint process you have to check corresponding application id.</p>
<p>i.e. get process by application id (you have saved appid with mappoint handle in log) , if you don’t find it alive that means there is no associated application with that mappoint, so simply kill that process, otherwise if application main window is not hidden and kill the mappoint process.</p>
<p>Here is example:</p>
<p>&lt;em&gt;Process proc = null;</p>
<p>Try {proc = Process.getProcessByID(APPID); }</p>
<p>catch(ArgumentException ex)  /*if application process is no more alive*/</p>
<p>{</p>
<p>KillProcess(MapPointHandle);</p>
<p>}</p>
<p>If(proc !=null)</p>
<p>{</p>
<p>IntPtr  Handle = proc.<strong>MainWindowHandle</strong>;</p>
<p>If(Handle.equals(IntPtr.Zero))  /*if main window of application is no more visible*/</p>
<p>KillProcess(MapPointHandle);</p>
<p>}&lt;/em&gt;</p>
<p>It works perfect for me. Let me know if you need any help</p>
<p>Please comment on this if you have better solution</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.bestwebdesignscompany.com/blogs/2008/09/26/process-management-using-mappoint-ax-with-net/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IT Outsourcing for Small Business</title>
		<link>http://www.bestwebdesignscompany.com/blogs/2008/09/23/it-outsourcing-for-small-business/</link>
		<comments>http://www.bestwebdesignscompany.com/blogs/2008/09/23/it-outsourcing-for-small-business/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 07:11:04 +0000</pubDate>
		<dc:creator>asad</dc:creator>
		
		<category><![CDATA[BPO]]></category>

		<category><![CDATA[business process outsourcing]]></category>

		<category><![CDATA[pakistan BPO]]></category>

		<guid isPermaLink="false">http://www.bestwebdesignscompany.com/blogs/?p=10</guid>
		<description><![CDATA[If you have a company with a major task in hand ie to integrate two system in different or to have development an interface or agent between the two applications - and you are not a programmer. Then there are chances that you are going to outsource the project.
The Finance director of Mission: Renaissance said [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a company with a major task in hand ie to integrate two system in different or to have development an interface or agent between the two applications - and you are not a programmer. Then there are chances that you are going to outsource the project.</p>
<p>The Finance director of Mission: Renaissance said (<a href="http://www.sourcingmag.com/offsite.asp?A=Fr&amp;Url=http%3A%2F%2Fitmanagement%2Eearthweb%2Ecom%2Fentdev%2Farticle%2Ephp%2F3772691%2FIT%2BOutsourcing%2Bfor%2BSmall%2BBusiness%2Ehtm" target="_self">for the whole article click here</a>)</p>
<p>“I didn’t do it myself because I didn’t know how – I am not a programmer,” said Oscar Camarena, finance director of <a href="http://www.fineartclasses.com/">Mission: Renaissance</a>, Inc., a fine art instruction organization with over 100 staff. “The primary factor in deciding to outsource – we couldn’t do it in house.”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bestwebdesignscompany.com/blogs/2008/09/23/it-outsourcing-for-small-business/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
