<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>How To &#8211; Sibeesh Passion</title>
	<atom:link href="https://sibeeshpassion.com/tag/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>https://sibeeshpassion.com</link>
	<description>My passion towards life</description>
	<lastBuildDate>Wed, 02 Jun 2021 15:14:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>/wp-content/uploads/2017/04/Sibeesh_Passion_Logo_Small.png</url>
	<title>How To &#8211; Sibeesh Passion</title>
	<link>https://sibeeshpassion.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Recover your lost data in any Windows machine easily</title>
		<link>https://sibeeshpassion.com/recover-your-lost-data-in-any-windows-machine-easily/</link>
					<comments>https://sibeeshpassion.com/recover-your-lost-data-in-any-windows-machine-easily/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Thu, 12 Oct 2017 15:36:02 +0000</pubDate>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Find lost files in Windows]]></category>
		<category><![CDATA[Get your lost data easily]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Recover files in Windows]]></category>
		<category><![CDATA[Stellar phoenix windows data recovery]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12517</guid>

					<description><![CDATA[[toc] Introduction Before I write this post, let me ask you a question first, how many of you are worried about losing the data you have on your machine? Wouldn&#8217;t it too good to have a recovery software in your machine always? At any point in time, we may lose our data mistakenly, it may be done by yourself, by any family member or friends when they use your system. With a help of a data recovery software, you can still get the data which you thought lost. Here in this post, I am going to write a product review [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[toc]</p>
<h3>Introduction</h3>
<p>Before I write this post, let me ask you a question first, how many of you are worried about losing the data you have on your machine? Wouldn&#8217;t it too good to have a recovery software in your machine always? At any point in time, we may lose our data mistakenly, it may be done by yourself, by any family member or friends when they use your system. With a help of a data recovery software, you can still get the data which you thought lost. Here in this post, I am going to write a <a href="http://sibeeshpassion.com/category/products/" rel="noopener" target="_blank">product </a>review for a recovery software which is Stellar Phoenix Windows Data Recovery &#8211; Professional. I hope you will like this. Now let&#8217;s begin.</p>
<h3>Background</h3>
<p>I wouldn&#8217;t doubt you if you ask me a question, though we have a lot of data recovery software, why did I choose this one? My answer is straightforward, it is fast, and easy to use, and offering a lot of other advanced options for our easy recovery.</p>
<h3>Let&#8217;s explore some features of this product</h3>
<p>Once you install the product, open it and apply the license key if you have one, however you can always use a free version.</p>
<div id="attachment_12518" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Stellar-Phoenix-Windows-Data-Recovery-e1507736912205.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-12518" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Stellar-Phoenix-Windows-Data-Recovery-e1507736912205.png" alt="Stellar Phoenix Windows Data Recovery" width="634" height="447" class="size-full wp-image-12518" /></a><p id="caption-attachment-12518" class="wp-caption-text">Stellar Phoenix Windows Data Recovery</p></div>
<p>
As you can see you can select any type of files you need. Once you select that, please do not waste time and click on next button. Remember, we have a lot of data to be recovered.
</p>
<div id="attachment_12520" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-location-of-the-filies-to-be-recovered-e1507821525889.png"><img decoding="async" aria-describedby="caption-attachment-12520" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-location-of-the-filies-to-be-recovered-e1507821525889.png" alt="Select location of the files to be recovered" width="634" height="447" class="size-full wp-image-12520" /></a><p id="caption-attachment-12520" class="wp-caption-text">Select location of the files to be recovered</p></div>
<p>Now you have chosen the location, let’s hit the scan button.</p>
<div id="attachment_12521" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Data-recovery-scanning-e1507821718153.png"><img decoding="async" aria-describedby="caption-attachment-12521" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Data-recovery-scanning-e1507821718153.png" alt="Data recovery scanning" width="634" height="447" class="size-full wp-image-12521" /></a><p id="caption-attachment-12521" class="wp-caption-text">Data recovery scanning</p></div>
<p>The scanning speed is comparatively good when it compares to other recovery software, that was one of the reasons why I chose this product.</p>
<div id="attachment_12522" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Data-recovery-scanning-result-e1507821817525.png"><img decoding="async" aria-describedby="caption-attachment-12522" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Data-recovery-scanning-result-e1507821817525.png" alt="Data recovery scanning result" width="634" height="447" class="size-full wp-image-12522" /></a><p id="caption-attachment-12522" class="wp-caption-text">Data recovery scanning result</p></div>
<p>When it is completed, you will get an alert as above, where you can see the report. Now you can select the items or folder which you want to recover, and click the recover button.</p>
<div id="attachment_12523" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-the-items-or-folders-to-be-recovered-e1507821952647.png"><img decoding="async" aria-describedby="caption-attachment-12523" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-the-items-or-folders-to-be-recovered-e1507821952647.png" alt="Select the items or folders to be recovered" width="634" height="447" class="size-full wp-image-12523" /></a><p id="caption-attachment-12523" class="wp-caption-text">Select the items or folders to be recovered</p></div>
<p>Last but not the least, you will have to select the location where exactly you need to save the recovered items. You can choose the folder by click the Browse button shown in the system.</p>
<div id="attachment_12524" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-the-location-where-the-recovered-data-to-be-saved-e1507822088653.png"><img decoding="async" aria-describedby="caption-attachment-12524" src="http://sibeeshpassion.com/wp-content/uploads/2017/10/Select-the-location-where-the-recovered-data-to-be-saved-e1507822088653.png" alt="Select the location where the recovered data to be saved" width="634" height="447" class="size-full wp-image-12524" /></a><p id="caption-attachment-12524" class="wp-caption-text">Select the location where the recovered data to be saved</p></div>
<p>Once you select the location, the recovery process will get started and the recovered items will be there for you. Here I have just recovered my driving license, which got deleted somehow. <br />
What are you going to recover using this tool? Let me know your experience using this product, I would love to hear from you. Thanks a lot for reading!.</p>
<h3>Follow up</h3>
<p>You may find some information about the product <em>Stellar Phoenix WIndows Data Recovery-Professional</em> <a href="https://www.stellarinfo.com/windows-data-recovery-professional.php" rel="noopener" target="_blank">here</a>.</p>
<h3>Conclusion</h3>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<h3>Your turn. What do you think?</h3>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/recover-your-lost-data-in-any-windows-machine-easily/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to get NOC from any RTO offices in India</title>
		<link>https://sibeeshpassion.com/how-to-get-noc-from-any-rto-offices-in-india/</link>
					<comments>https://sibeeshpassion.com/how-to-get-noc-from-any-rto-offices-in-india/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Fri, 22 Sep 2017 19:20:13 +0000</pubDate>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Get NOC in India]]></category>
		<category><![CDATA[Get Road Tax Paid back]]></category>
		<category><![CDATA[Getting NOC Easily]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[How to get NOC]]></category>
		<category><![CDATA[No Objection Certificate]]></category>
		<category><![CDATA[NOC from Chennai]]></category>
		<category><![CDATA[NOC to Kerala]]></category>
		<category><![CDATA[Road Tax Cashback]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12502</guid>

					<description><![CDATA[[toc] Introduction Many people still think, getting an NOC or No Objection Certificate from an RTO office is a tough job to do. Trust me, I was one among those people. Then I figured it out it isn&#8217;t that hard. Here, in this post, we are going to a see how to get a NOC from any RTO in India easily. Though the rules are same, the process may be different for some percentages, but it will be same if you are applying for NOC from Chennai, Tamilnadu, India, as I got my NOC from there. I wanted to reregister [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[toc]</p>
<h3>Introduction</h3>
<p>Many people still think, getting an NOC or No Objection Certificate from an RTO office is a tough job to do. Trust me, I was one among those people. Then I figured it out it isn&#8217;t that hard. Here, in this post, we are going to a see <a href="http://sibeeshpassion.com/category/How-To" target="_blank">how to</a> get a NOC from any RTO in India easily. Though the rules are same, the process may be different for some percentages, but it will be same if you are applying for NOC from Chennai, Tamilnadu, India, as I got my NOC from there. I wanted to reregister my bike in Ernakulam, Kerala. I will be explaining each step that you may need to take to get it, please be noted that the documents mentioned are needed as per the rule when I write this blog. I hope you will like this post. Thanks much for visiting. </p>
<h3>Background</h3>
<p>Finally, after 6 years of my career in Chennai, I got a transfer to Kochi, Kerala. Though I had to do lots of work like shifting my home, finding a residency in Kochi etc, one thing my mind always curious about was, getting an NOC, because to reregister any vehicle in any cities in India, a must-have document is NOC. When I enquired about it, most of my friends said it is a long process, and some people even said I may need to spend 3000 INR to get it. Before giving money to any agents, who usually ask 2000 INR to 4000 INR, depends on the city you live, I thought of trying it out myself. And luckily the process was not at all hard as I thought. Here in this post, I am going to share you my experience on the same. </p>
<h3>Documents needed</h3>
<p>As the first step, I visited the Shollinganallure RTO office in Chennai, as my bike was registered in that RTO. The moment I entered the office, I could see a huge crowd, and then my eyes started searching for an agent who can do this work for me. Finally, I could find an agent, and after a discussion with him, I made the below conclusion.</p>
<li>Need to pay 2500 INR</li>
<li>We need to collect the Pollution Certificate by ourself</li>
<li>We need to collect the Certificate from Commissioner Office</li>
<p>And at last, if we give him all the documents, his work is just arranging the documents and submit it to the RTO office which is just 200 meter away. Isn&#8217;t it great? I just left his office and decided to do everything my own.</p>
<blockquote><p>If you are fine with the agents, you can always do that. There will be at least one agent office near to all RTO, just inquire about it, I am sure you will be able to find one.</p></blockquote>
<p>Ok, let&#8217;s try to list down all the documents needed first as I got the list from the Helping Center in RTO office(Usually a person sits near the entrance), then we can discuss how you can get those.</p>
<li>Commissioner Certificate</li>
<li>RC Book Original</li>
<li>Pollution Certificate</li>
<li>Form 28, 3 copies with Chasis pencil print</li>
<li>Insurance Certificate</li>
<p>When I was noting down this document names, my mind was thinking how I am going to get a certificate from Commissioner office, considering the difficulty in getting a document from a government office in India. Let&#8217;s leave all that for now, and discuss how to get it. </p>
<h3>Getting a Commissioner Certificate for NOC</h3>
<p>Google is always my friend, so I just googled the address of the commissioner office in Chennai. When I write this blog, this was the address. </p>
<blockquote><p>
No. 132, Commissioaner Office Building, EVK Sampath Rd, Vepery, Periyamet, Chennai, Tamil Nadu 600007
</p></blockquote>
<p><iframe loading="lazy" src="https://www.google.com/maps/embed?pb=!1m22!1m12!1m3!1d124361.08361303603!2d80.19323426011725!3d13.081187662151502!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m7!3e6!4m0!4m4!1s0x3a52660f0377b00f%3A0x658d531aaca11d57!3m2!1d13.081197099999999!2d80.26327479999999!5e0!3m2!1sen!2sin!4v1506103170968" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe></p>
<p>This is the certificate which will mention about all the penalties you have, all the traffic rule violations. And you will have to pay if you have any fine for any of your act. It was Monday 9.00 AM when I start from my home at Old Pallavaram. I thought I can reach there in one hour, later I found my assumptions were wrong. Finally it was 10.40 AM when I reach as the traffic was more at that time. A normall security will be performed when you enter the campus, once the security guards verified your bags and vehicle, they will ask you to go af collect the temporary ID card, the athority for that, will always be neat to the gate. </p>
<p>You need to enter your address, mobile number, purpose of visit in a registry given and get your temporary ID card. Once you get it, please don&#8217;t waste your time. Walk into main building, or say someone about your purpose of visit, they will narate you to the right building. After raeching to the NOC department, I found the mistakes I did. I didn&#8217;t even take one photostat of any document, so I had to go down and take those, there I wasted around one hour. Normally the Xerox shops near commissioner office, are always crowded. Trust me, you will find a long queue, just to take a photostat. These are the documents you need. </p>
<li>RC Book Copy</li>
<li>Insurance Certificate</li>
<li>ID proof</li>
<li>Address proof</li>
<blockquote><p>Please carry all the original documents with you as it is needed for them for verification</p></blockquote>
<p>As I was staying in Chennai for rent, I was not having any valid address proof except the rental agreement. If you belong to my category, please carry the original rental agreement with you, if you don&#8217;t have original please take a xerox copy. Once after you arranged all the documents, give it to the official, after verifying the documents, he/she will give you a form to be filled with your vehicle chasis number, engine number etc. </p>
<p>You will have to pay 20 INR as a processing fee. After you pay the amount, please do not forget to collect the receipt. If you are submitting the document before 12.00 PM, you will get the commissioner certificate on the next day in between 3.00 PM to 5.00 PM. While coming for collecting the certificate, be sure that you have the receipt with you. That is all for that day. I was able to go office from there directly, even though I was late.</p>
<p>On the next day, we planned to go there from office. Me and my friend Divya started from office around 2.00 PM after lunch. It was a long journey as my office was at Thoraipakkam, Chennai. The ride to the destination was really great, I must thank Divya for being such an amazing co-rider. She was able to come even in the hot sun. Thank you Divya. </p>
<p>We reached there at 3.30 and the same security checkin was performed, this time it was not that crowded, so I was able to get a temporary IC card easily. I was rushing towards the NOC department as we both needed to attend a client call at 6.00 PM. So we wanted to be in office at least by 5.50 PM. But I was not lucky on that day, I had to wait for one hour as the official was not available the at desk. It was 4.30 PM when I get the certificate in my hand. I was feeling a bit relaxed after seeing that certificate, because I knew with that certificate, 60% of NOC work is done. By the way we were able to reach office by 5.55 PM, and the call went well, this is just for your information. </p>
<h3>Getting a Pollution Certificate</h3>
<p>This is an easy job. You can always find a pollution test office near to the RTO office. Please ride your bike there, and ask for the pollution certificate. You may have to pay 50 INR for the work, within 10 minutes you will get a pollution certificate in hand. Below is the sample pollution certificate for your reference. </p>
<div id="attachment_12508" style="width: 645px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/09/IMG_20170831_074248-e1506106919606.jpg"><img decoding="async" aria-describedby="caption-attachment-12508" src="http://sibeeshpassion.com/wp-content/uploads/2017/09/IMG_20170831_074248-e1506106919606.jpg" alt="Sample Pollution Certificate" width="635" height="459" class="size-full wp-image-12508" /></a><p id="caption-attachment-12508" class="wp-caption-text">Sample Pollution Certificate</p></div>
<h3>Form 28, 3 copies with Chasis pencil print</h3>
<p>Now take three copies of your Form 28, you can download it from internet. If you don&#8217;t like to browse for it, you can find the same here in this <a href="https://vahan.nic.in/nrservices/faces/forms/form28.pdf" rel="noopener" target="_blank">link</a>. Now fill all the three copies with appropriate data, and please make sure that you are taking a pencil sketch or print of your vehicles Chasis number. The official will verify whether you have the pencil print in all the three copies. </p>
<h3>Submission process</h3>
<p>Once you arrange all the document, please give it to the official for the verification. And if everything is fine, you will be asked to go and get it signed with RTO officer. Wait, the process is not yet over. Now you have to go to the cash counter and pay 200 INR as the processing fee. Once you paid, please collect the bill and paste it on the application. </p>
<p>Cool, you have done it. Now give it to the counter and please don&#8217;t forget to ask about when you can come and collect from the office. </p>
<h3>What if, you are not available for collecting NOC</h3>
<p>You can still get the NOC, even if you are not available in the applied city. However you may need to sign an authorization letter saying about your absense and to whom the certicate can be delivered to, with that any of your family/friends can get it for you. </p>
<blockquote><p>There is an option to get back the road tax you have paid for the initial city, I will share about that in my next post. It can be done only after you reregister the vehicle.</p></blockquote>
<h3>Conclusion</h3>
<p>This is the process I was going to get an NOC from Chennai, Tamilnadu. Please be noted that it may vary a bit according to the state government rules.Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<h3>Your turn. What do you think?</h3>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on any other Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/how-to-get-noc-from-any-rto-offices-in-india/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Your current settings do not allow file to be downloaded</title>
		<link>https://sibeeshpassion.com/your-current-settings-do-not-allow-file-to-be-downloaded/</link>
					<comments>https://sibeeshpassion.com/your-current-settings-do-not-allow-file-to-be-downloaded/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Mon, 15 Aug 2016 05:56:23 +0000</pubDate>
				<category><![CDATA[Microsoft Windows Server]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Download error in Windows Server]]></category>
		<category><![CDATA[How To]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11885</guid>

					<description><![CDATA[In this post we will see how we can get rid of error &#8220;Your current settings do not allow file to be downloaded&#8221; in Windows server 2012. You will get this error whenever you try downloading a file in your server. For me it was one of the Azure Virtual Machine. Here I am going to share you a quick fix that you can do when you are facing this issue. I hope you will like this. Background As I said, I wanted to install Web Matrix in my virtual Machine so that I can install WordPress and MySQL for [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will see how we can get rid of error &#8220;Your current settings do not allow file to be downloaded&#8221; in Windows server 2012. You will get this error whenever you try downloading a file in your server. For me it was one of the <a href="http://sibeeshpassion.com/category/Azure/" target="_blank">Azure </a><a href="http://sibeeshpassion.com/category/virtual-machine/" target="_blank">Virtual Machine</a>. Here I am going to share you a quick fix that you can do when you are facing this issue. I hope you will like this. </p>
<p><strong>Background</strong></p>
<p>As I said, I wanted to install Web Matrix in my virtual Machine so that I can install <a href="http://sibeeshpassion.com/category/WordPress" target="_blank">WordPress </a>and <a href="http://sibeeshpassion.com/category/MySQL/" target="_blank">MySQL </a> for one of my website.</p>
<div id="attachment_11886" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer.png"><img decoding="async" aria-describedby="caption-attachment-11886" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-1024x661.png" alt="Download Microsoft Web Platform Installer" width="634" height="409" class="size-large wp-image-11886" srcset="/wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-1024x661.png 1024w, /wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-300x194.png 300w, /wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-768x496.png 768w, /wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-400x258.png 400w, /wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer-929x600.png 929w, /wp-content/uploads/2016/08/Download-Microsoft-Web-Platform-Installer.png 553w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-11886" class="wp-caption-text">Download Microsoft Web Platform Installer</p></div>
<p>When I try that, I got an error as follows.</p>
<div id="attachment_11887" style="width: 520px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Alert-Your-current-settings-do-not-allow-this-file-to-be-downloaded.png"><img decoding="async" aria-describedby="caption-attachment-11887" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Alert-Your-current-settings-do-not-allow-this-file-to-be-downloaded.png" alt="Alert - Your current settings do not allow this file to be downloaded" width="510" height="222" class="size-full wp-image-11887" srcset="/wp-content/uploads/2016/08/Alert-Your-current-settings-do-not-allow-this-file-to-be-downloaded.png 510w, /wp-content/uploads/2016/08/Alert-Your-current-settings-do-not-allow-this-file-to-be-downloaded-300x131.png 300w, /wp-content/uploads/2016/08/Alert-Your-current-settings-do-not-allow-this-file-to-be-downloaded-400x174.png 400w" sizes="(max-width: 510px) 100vw, 510px" /></a><p id="caption-attachment-11887" class="wp-caption-text">Alert &#8211; Your current settings do not allow this file to be downloaded</p></div>
<p><strong>Steps to fix your current settings do not allow file to be downloaded</strong></p>
<p><strong>Step 1: Go to your Internet Options of your Internet Explorer</strong></p>
<div id="attachment_11888" style="width: 371px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Internet_Options.png"><img decoding="async" aria-describedby="caption-attachment-11888" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Internet_Options.png" alt="Internet_Options" width="361" height="395" class="size-full wp-image-11888" srcset="/wp-content/uploads/2016/08/Internet_Options.png 361w, /wp-content/uploads/2016/08/Internet_Options-274x300.png 274w" sizes="(max-width: 361px) 100vw, 361px" /></a><p id="caption-attachment-11888" class="wp-caption-text">Internet_Options</p></div>
<p><strong>Step 2: Go to your Security tab -> Internet -> Custom level</strong></p>
<div id="attachment_11889" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Security_Tab.png"><img decoding="async" aria-describedby="caption-attachment-11889" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Security_Tab-1024x576.png" alt="Security_Tab" width="634" height="357" class="size-large wp-image-11889" srcset="/wp-content/uploads/2016/08/Security_Tab-1024x576.png 1024w, /wp-content/uploads/2016/08/Security_Tab-300x169.png 300w, /wp-content/uploads/2016/08/Security_Tab-768x432.png 768w, /wp-content/uploads/2016/08/Security_Tab-400x225.png 400w, /wp-content/uploads/2016/08/Security_Tab-1066x600.png 1066w, /wp-content/uploads/2016/08/Security_Tab.png 634w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-11889" class="wp-caption-text">Security_Tab</p></div>
<p><strong>Step 3: Go to Downloads and Enable it</strong></p>
<div id="attachment_11890" style="width: 504px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Enable_Downloads.png"><img decoding="async" aria-describedby="caption-attachment-11890" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Enable_Downloads.png" alt="Enable_Downloads" width="494" height="598" class="size-full wp-image-11890" srcset="/wp-content/uploads/2016/08/Enable_Downloads.png 494w, /wp-content/uploads/2016/08/Enable_Downloads-248x300.png 248w, /wp-content/uploads/2016/08/Enable_Downloads-400x484.png 400w" sizes="(max-width: 494px) 100vw, 494px" /></a><p id="caption-attachment-11890" class="wp-caption-text">Enable_Downloads</p></div>
<p><strong>Step 4: Click Yes and OK</strong></p>
<div id="attachment_11891" style="width: 463px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/Warning_for_setting_change.png"><img decoding="async" aria-describedby="caption-attachment-11891" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/Warning_for_setting_change.png" alt="Warning_for_setting_change" width="453" height="155" class="size-full wp-image-11891" srcset="/wp-content/uploads/2016/08/Warning_for_setting_change.png 453w, /wp-content/uploads/2016/08/Warning_for_setting_change-300x103.png 300w, /wp-content/uploads/2016/08/Warning_for_setting_change-400x137.png 400w" sizes="(max-width: 453px) 100vw, 453px" /></a><p id="caption-attachment-11891" class="wp-caption-text">Warning_for_setting_change</p></div>
<p>Now if you try downloading again, you won&#8217;t get the error. Hope it helps.</p>
<div id="attachment_11892" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/08/After_setting_change.png"><img decoding="async" aria-describedby="caption-attachment-11892" src="http://sibeeshpassion.com/wp-content/uploads/2016/08/After_setting_change-1024x60.png" alt="After_setting_change" width="634" height="37" class="size-large wp-image-11892" srcset="/wp-content/uploads/2016/08/After_setting_change-1024x60.png 1024w, /wp-content/uploads/2016/08/After_setting_change-300x18.png 300w, /wp-content/uploads/2016/08/After_setting_change-768x45.png 768w, /wp-content/uploads/2016/08/After_setting_change-400x24.png 400w, /wp-content/uploads/2016/08/After_setting_change.png 1207w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-11892" class="wp-caption-text">After_setting_change</p></div>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/your-current-settings-do-not-allow-file-to-be-downloaded/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Time Zone Calculator</title>
		<link>https://sibeeshpassion.com/time-zone-calculator/</link>
					<comments>https://sibeeshpassion.com/time-zone-calculator/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Thu, 30 Jun 2016 00:00:16 +0000</pubDate>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Find TimeZone using jQuery]]></category>
		<category><![CDATA[Google Map]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Timezone in clientside]]></category>
		<category><![CDATA[Using Google Map]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11726</guid>

					<description><![CDATA[In this post we will try to create a time zone calculator. We will be calculating the timezone in two ways. Using normal jQuery functions Using Google API We will be using Visual Studio as our IDE. For jQuery implementation we will be creating some prototypes. hope you will like this. Download Source Code You can always download the source code from here: Time Zone Calculator Background In one of my project, we were saving some date values in UTC format in the server. And when we return the data we were not doing any calculation like converting the same [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will try to create a time zone calculator. We will be calculating the timezone in two ways.</p>
<li>Using normal <a href="http://sibeeshpassion.com/category/jQuery/" target="_blank">jQuery</a> functions</li>
<li>Using Google API</li>
<p>We will be using <a href="http://sibeeshpassion.com/category/tools/visual-studio/" target="_blank">Visual Studio</a> as our IDE. For jQuery implementation we will be creating some prototypes. hope you will like this. </p>
<p><strong>Download Source Code</strong></p>
<p>You can always download the source code from here: <a href="https://code.msdn.microsoft.com/Time-Zone-Calculator-1f8f618e" target="_blank">Time Zone Calculator</a></p>
<p><strong>Background</strong></p>
<p>In one of my project, we were saving some date values in UTC format in the server. And when we return the data we were not doing any calculation like converting the same date values to users location time, if it is India (UTC &#8211; IST), therefore I was asked to get the time zone values from client side and pass the same value to the server in each request. I had done this, and here I will show you how. As I explained above, we can do this in two ways. </p>
<li>Using normal <a href="http://sibeeshpassion.com/category/jQuery/" target="_blank">jQuery</a> functions</li>
<li>Using Google API</li>
<p>We will be explaining these two methods one by one. </p>
<p><strong>Using the code</strong></p>
<p>First of all, create a new project in visual studio and install jQuery and bootstrap from NuGet package manager. Once your project is ready, we will start implementing our first method. </p>
<p><strong>Using jQuery functions</strong></p>
<p>The first thing you need to do here is adding the needed elements to UI.</p>
<p>[html]<br />
   &lt;div class=&quot;col-sm-6&quot;&gt;<br />
                &lt;h3&gt;Using jQuery prototype function&lt;/h3&gt;<br />
                &lt;p&gt;Here we are going to use prototype functions we created&lt;/p&gt;<br />
                &lt;div class=&quot;form-group&quot;&gt;<br />
                    &lt;label class=&quot;label label-primary&quot;&gt;Please select date:&lt;/label&gt;<br />
                    &lt;br /&gt;<br />
                    &lt;br /&gt;<br />
                    &lt;input class=&quot;form-control&quot; type=&quot;text&quot; id=&quot;txtTimeZone&quot; /&gt;<br />
                    &lt;br /&gt;<br />
                    &lt;br /&gt;<br />
                    &lt;input type=&quot;button&quot; value=&quot;Submit&quot; id=&quot;btnSubmit&quot; class=&quot;btn btn-primary btn-block&quot;/&gt;<br />
                    &lt;br /&gt;<br />
                    &lt;div class=&quot;panel panel-default&quot;&gt;<br />
                        &lt;div id=&quot;placeholder&quot; class=&quot;panel-body&quot;&gt;&lt;/div&gt;<br />
                    &lt;/div&gt;<br />
                &lt;/div&gt;<br />
            &lt;/div&gt;<br />
[/html]</p>
<p>Please add the needed references to your page.</p>
<p>[html]<br />
 &lt;link href=&quot;Content/themes/base/all.css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
&lt;link href=&quot;Content/bootstrap.min.css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
    &lt;link href=&quot;Content/Index.css&quot; rel=&quot;stylesheet&quot; /&gt;<br />
    &lt;script src=&quot;Scripts/jquery-2.2.3.min.js&quot;&gt;&lt;/script&gt;<br />
    &lt;script src=&quot;Scripts/jquery-ui-1.11.4.min.js&quot;&gt;&lt;/script&gt;<br />
[/html]</p>
<p>Now, we are going to create some date prototypes to a js file <em>TimeZone.js</em> so that we can use it with any date objects. </p>
<p>[js]<br />
Date.prototype.dst = function () {<br />
    return this.getTimezoneOffset() &lt; this.stdTimezoneOffset();<br />
}<br />
[/js]</p>
<p>The above code is for finding whether the daylight time is ON or OFF, if it returns true means, the daylight time is OFF.</p>
<p>[js]<br />
Date.prototype.stdTimezoneOffset = function () {<br />
    var jan = new Date(this.getFullYear(), 0, 1);<br />
    var jul = new Date(this.getFullYear(), 6, 1);<br />
    return (Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()) * -1);<br />
}<br />
[/js]</p>
<p>The above prototype can be called when the daylight time is OFF.</p>
<p>[js]<br />
Date.prototype.stdTimezoneOnset = function () {<br />
    var jan = new Date(this.getFullYear(), 0, 1);<br />
    var jul = new Date(this.getFullYear(), 6, 1);<br />
    return (Math.min(jan.getTimezoneOffset(), jul.getTimezoneOffset()) * -1);<br />
}<br />
[/js]</p>
<p>The above prototype can be called when the daylight time is ON.</p>
<p>Now we have created all the prototypes needed, shall we go and call use these now?</p>
<p>[js]<br />
 $(document).ready(function () {<br />
    $(&quot;#txtTimeZone&quot;).datepicker();<br />
    $(&#8216;#btnSubmit&#8217;).click(function () {<br />
        var dayLight = new Date();<br />
        dayLight = new Date($(&#8216;#txtTimeZone&#8217;).val());<br />
        if (dayLight.dst()) {<br />
            timeZoneValue = dayLight.stdTimezoneOffset();// Day light time is OFF<br />
        } else {<br />
            timeZoneValue = dayLight.stdTimezoneOnset();// Day light time is ON<br />
        }<br />
        $(&quot;#placeholder&quot;).text(&#8216;The time zone value for &#8216; + dayLight + &#8216; is &#8216; + timeZoneValue);<br />
    });<br />
});<br />
[/js]</p>
<p>Please run your page now to check the output. </p>
<div id="attachment_11727" style="width: 597px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery.png"><img decoding="async" aria-describedby="caption-attachment-11727" src="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery.png" alt="Time zone calculation using jQuery" width="587" height="354" class="size-full wp-image-11727" srcset="/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery.png 587w, /wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-300x181.png 300w, /wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-400x241.png 400w" sizes="(max-width: 587px) 100vw, 587px" /></a><p id="caption-attachment-11727" class="wp-caption-text">Time zone calculation using jQuery</p></div>
<div id="attachment_11728" style="width: 598px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-output.png"><img decoding="async" aria-describedby="caption-attachment-11728" src="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-output.png" alt="Time zone calculation using jQuery output" width="588" height="361" class="size-full wp-image-11728" srcset="/wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-output.png 588w, /wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-output-300x184.png 300w, /wp-content/uploads/2016/06/Time-zone-calculation-using-jQuery-output-400x246.png 400w" sizes="(max-width: 588px) 100vw, 588px" /></a><p id="caption-attachment-11728" class="wp-caption-text">Time zone calculation using jQuery output</p></div>
<p>Now we will implement the second method, is that fine?</p>
<p><strong>Using Google API</strong></p>
<p>Before we start, please get your own map API key from google, you can follow this <a href="https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key" target="_blank">link </a>to get a one.</p>
<p>I hope you got your own key now, if yes, you are ready to go. Please add some controls as below to your page. </p>
<p>[html]<br />
&lt;div class=&quot;col-sm-6&quot;&gt;<br />
                &lt;h3&gt;Using Google API&lt;/h3&gt;<br />
                &lt;p&gt;Here we are going to use Google API&lt;/p&gt;<br />
                &lt;div class=&quot;form-group&quot;&gt;<br />
                    &lt;input id=&quot;pac-input&quot; class=&quot;controls&quot; type=&quot;text&quot; placeholder=&quot;Search Box&quot;&gt;<br />
                    &lt;div id=&quot;map&quot;&gt;&lt;/div&gt;<br />
                    &lt;script async defer src=&quot;https://maps.googleapis.com/maps/api/js?key=yourkey&amp;libraries=places&amp;callback=initAutocomplete&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;<br />
                    &lt;div class=&quot;panel panel-default&quot;&gt;<br />
                        &lt;div id=&quot;latlon&quot; class=&quot;panel-body&quot;&gt;&lt;/div&gt;<br />
                    &lt;/div&gt;<br />
                &lt;/div&gt;<br />
            &lt;/div&gt;<br />
[/html]</p>
<p>Here <em>initAutocomplete</em> is the callback function which we are going to write now. </p>
<p>[js]<br />
   function initAutocomplete() {<br />
    var map = new google.maps.Map(document.getElementById(&#8216;map&#8217;), {<br />
        center: { lat: -33.8688, lng: 151.2195 },<br />
        zoom: 13,<br />
        mapTypeId: google.maps.MapTypeId.ROADMAP<br />
    });<br />
    // Create the search box and link it to the UI element.<br />
    var input = document.getElementById(&#8216;pac-input&#8217;);<br />
    var searchBox = new google.maps.places.SearchBox(input);<br />
    map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);<br />
    // Bias the SearchBox results towards current map&#8217;s viewport.<br />
    map.addListener(&#8216;bounds_changed&#8217;, function () {<br />
        searchBox.setBounds(map.getBounds());<br />
    });<br />
    var markers = [];<br />
    // Listen for the event fired when the user selects a prediction and retrieve<br />
    // more details for that place.<br />
    searchBox.addListener(&#8216;places_changed&#8217;, function () {<br />
        var places = searchBox.getPlaces();<br />
        debugger;<br />
        if (places.length == 0) {<br />
            return;<br />
        }</p>
<p>        // Clear out the old markers.<br />
        markers.forEach(function (marker) {<br />
            marker.setMap(null);<br />
        });<br />
        markers = [];</p>
<p>        // For each place, get the icon, name and location.<br />
        var bounds = new google.maps.LatLngBounds();<br />
        places.forEach(function (place) {<br />
            var icon = {<br />
                url: place.icon,<br />
                size: new google.maps.Size(71, 71),<br />
                origin: new google.maps.Point(0, 0),<br />
                anchor: new google.maps.Point(17, 34),<br />
                scaledSize: new google.maps.Size(25, 25)<br />
            };</p>
<p>            // Create a marker for each place.<br />
            markers.push(new google.maps.Marker({<br />
                map: map,<br />
                icon: icon,<br />
                title: place.name,<br />
                position: place.geometry.location<br />
            }));<br />
            $(&#8216;#latlon&#8217;).text(place.geometry.location.lat() + &#8216;,&#8217; + place.geometry.location.lng() + &#8216;, The time zone value is &#8216; + place.utc_offset);<br />
            if (place.geometry.viewport) {<br />
                // Only geocodes have viewport.<br />
                bounds.union(place.geometry.viewport);<br />
            } else {<br />
                bounds.extend(place.geometry.location);<br />
            }<br />
        });<br />
        map.fitBounds(bounds);<br />
    });<br />
}<br />
[/js]</p>
<p>And following is the custom code we have written for showing the timezone values to our text box. </p>
<p>[js]<br />
 $(&#8216;#latlon&#8217;).text(place.geometry.location.lat() + &#8216;,&#8217; + place.geometry.location.lng() + &#8216;, The time zone value is &#8216; + place.utc_offset);<br />
[/js]</p>
<p>Now it is time to add our styles. </p>
<p>[css]<br />
#map {<br />
    width: 100%;<br />
    height: 200px;<br />
    background-color: #CCC;<br />
}</p>
<p>.controls {<br />
    margin-top: 10px;<br />
    border: 1px solid transparent;<br />
    border-radius: 2px 0 0 2px;<br />
    box-sizing: border-box;<br />
    -moz-box-sizing: border-box;<br />
    height: 32px;<br />
    outline: none;<br />
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);<br />
}</p>
<p>#pac-input {<br />
    background-color: #fff;<br />
    font-family: Roboto;<br />
    font-size: 15px;<br />
    font-weight: 300;<br />
    margin-left: 12px;<br />
    padding: 0 11px 0 13px;<br />
    text-overflow: ellipsis;<br />
    width: 300px;<br />
}</p>
<p>    #pac-input:focus {<br />
        border-color: #4d90fe;<br />
    }</p>
<p>.pac-container {<br />
    font-family: Roboto;<br />
}</p>
<p>#type-selector {<br />
    color: #fff;<br />
    background-color: #4d90fe;<br />
    padding: 5px 11px 0px 11px;<br />
}</p>
<p>    #type-selector label {<br />
        font-family: Roboto;<br />
        font-size: 13px;<br />
        font-weight: 300;<br />
    }</p>
<p>#target {<br />
    width: 345px;<br />
}</p>
<p>[/css]</p>
<blockquote><p>Please be noted that if you don&#8217;t set height for the map container div, the map may not get loaded</p></blockquote>
<p>So I have given the CSS for my map container as follows.</p>
<p>[css]<br />
#map {<br />
    width: 100%;<br />
    height: 200px;<br />
    background-color: #CCC;<br />
}<br />
[/css]</p>
<p>Now please run your page, you can see a map in your page. Please search for any location, it will give you the timezone value for the given location. Shall we check?</p>
<div id="attachment_11729" style="width: 620px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-Google-API.png"><img decoding="async" aria-describedby="caption-attachment-11729" src="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-using-Google-API.png" alt="Time zone calculation using Google API" width="610" height="375" class="size-full wp-image-11729" srcset="/wp-content/uploads/2016/06/Time-zone-calculation-using-Google-API.png 610w, /wp-content/uploads/2016/06/Time-zone-calculation-using-Google-API-300x184.png 300w, /wp-content/uploads/2016/06/Time-zone-calculation-using-Google-API-400x246.png 400w" sizes="(max-width: 610px) 100vw, 610px" /></a><p id="caption-attachment-11729" class="wp-caption-text">Time zone calculation using Google API</p></div>
<p>Please make sure that the value you get from both ways is same. </p>
<div id="attachment_11730" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation.png"><img decoding="async" aria-describedby="caption-attachment-11730" src="http://sibeeshpassion.com/wp-content/uploads/2016/06/Time-zone-calculation-1024x512.png" alt="Time zone calculation" width="634" height="317" class="size-large wp-image-11730" srcset="/wp-content/uploads/2016/06/Time-zone-calculation-1024x512.png 1024w, /wp-content/uploads/2016/06/Time-zone-calculation-300x150.png 300w, /wp-content/uploads/2016/06/Time-zone-calculation-768x384.png 768w, /wp-content/uploads/2016/06/Time-zone-calculation-400x200.png 400w, /wp-content/uploads/2016/06/Time-zone-calculation.png 634w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-11730" class="wp-caption-text">Time zone calculation</p></div>
<p>That&#8217;s all, have a happy coding!.</p>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/time-zone-calculator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Style Or Format JSON Data In JQuery</title>
		<link>https://sibeeshpassion.com/style-or-format-json-data-in-jquery/</link>
					<comments>https://sibeeshpassion.com/style-or-format-json-data-in-jquery/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Tue, 31 May 2016 00:00:34 +0000</pubDate>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Format JSON]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[JSON in Pre Tag]]></category>
		<category><![CDATA[Style JSON Data]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11648</guid>

					<description><![CDATA[In this post we will discuss how we can format or style the JSON you get from the server. Sometimes you may need to show the exact JSON you get from your API or from server in your web page. Normally if you just bind this JSON to any pre tag, it will look like just a straight line. Isn&#8217;t it? To overcome this we have an option in jQuery . I hope you will like this. Background For the past few months I am working with some Web API projects. As you all know the preferred output of an [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will discuss how we can format or style the <a href="http://sibeeshpassion.com/tag/json/" target="_blank">JSON </a>you get from the server. Sometimes you may need to show the exact JSON you get from your API or from server in your web page. Normally if you just bind this JSON to any pre tag, it will look like just a straight line. Isn&#8217;t it? To overcome this we have an option in <a href="http://sibeeshpassion.com/category/jQuery/" target="_blank">jQuery </a>. I hope you will like this.</p>
<p><strong>Background</strong></p>
<p>For the past few months I am working with some <a href="http://sibeeshpassion.com/category/web-api/" target="_blank">Web API</a> projects. As you all know the preferred output of an API is JSON, I am returning JSON from my API. I wanted to show this JSON in a Pre tag as a result, but in a formatted way or stylish way. Here I am going to explain how we can do this. </p>
<p><strong>Using the code</strong></p>
<p>Before getting started, please make sure that you have added the jQuery reference to your page.</p>
<p>[html]<br />
 &lt;script src=&quot;scripts/jquery-2.2.3.js&quot;&gt;&lt;/script&gt;<br />
[/html]</p>
<p>Now let us say we are getting a JSON as follows from our API.</p>
<p>[js]<br />
[{&quot;AreaCode&quot;:&quot;B697-31&quot;,&quot;Revenue&quot;:12747128.190000001},{&quot;AreaCode&quot;:&quot;B697-92&quot;,&quot;Revenue&quot;:7922559.1600000048},{&quot;AreaCode&quot;:&quot;B697-76&quot;,&quot;Revenue&quot;:7541039.540000001},{&quot;AreaCode&quot;:&quot;B697-46&quot;,&quot;Revenue&quot;:7076495.5800000066},{&quot;AreaCode&quot;:&quot;B553-131&quot;,&quot;Revenue&quot;:5738816.5099999979},{&quot;AreaCode&quot;:&quot;B553-193&quot;,&quot;Revenue&quot;:4608556.52},{&quot;AreaCode&quot;:&quot;B697-74&quot;,&quot;Revenue&quot;:3895194.1099999994},{&quot;AreaCode&quot;:&quot;D158-233&quot;,&quot;Revenue&quot;:3572808.989999996},{&quot;AreaCode&quot;:&quot;B697-78&quot;,&quot;Revenue&quot;:3512657.6999999937},{&quot;AreaCode&quot;:&quot;B672-31&quot;,&quot;Revenue&quot;:2955916.9800000032},{&quot;AreaCode&quot;:&quot;B553-46&quot;,&quot;Revenue&quot;:2806813.7100000042}]<br />
[/js]</p>
<p>It will obviously looks like preceding when you just append it to a pre tag.</p>
<div id="attachment_11650" style="width: 526px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/JSON-in-Pre-Tag.png"><img decoding="async" aria-describedby="caption-attachment-11650" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/JSON-in-Pre-Tag.png" alt="JSON in Pre Tag" width="516" height="115" class="size-full wp-image-11650" srcset="/wp-content/uploads/2016/05/JSON-in-Pre-Tag.png 516w, /wp-content/uploads/2016/05/JSON-in-Pre-Tag-300x67.png 300w, /wp-content/uploads/2016/05/JSON-in-Pre-Tag-400x89.png 400w" sizes="(max-width: 516px) 100vw, 516px" /></a><p id="caption-attachment-11650" class="wp-caption-text">JSON in Pre Tag</p></div>
<p>Now we will format this JSON string with JQuery Parse and JQuery stringify method as follows. </p>
<p>[js]<br />
  var tmpData = JSON.parse(data);<br />
                    var formattedData = JSON.stringify(tmpData, null, &#8216;\t&#8217;);<br />
                    $(&#8216;#output&#8217;).text(formattedData);<br />
[/js]</p>
<p>Here output is the id of our pre tag which we defined as follows.</p>
<p>[html]<br />
&lt;pre id=&quot;output&quot;&gt;&lt;/pre&gt;<br />
[/html]</p>
<p>Now if you bind the data after the formatting to pre tag, you will get an out put as follows. </p>
<div id="attachment_11651" style="width: 526px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output.png"><img decoding="async" aria-describedby="caption-attachment-11651" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output.png" alt="JSON in Pre Tag Output" width="516" height="861" class="size-full wp-image-11651" srcset="/wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output.png 516w, /wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output-180x300.png 180w, /wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output-400x667.png 400w, /wp-content/uploads/2016/05/JSON-in-Pre-Tag-Output-360x600.png 360w" sizes="(max-width: 516px) 100vw, 516px" /></a><p id="caption-attachment-11651" class="wp-caption-text">JSON in Pre Tag Output</p></div>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn&#8217;t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/style-or-format-json-data-in-jquery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Client Side Exporting In HighChart</title>
		<link>https://sibeeshpassion.com/client-side-exporting-in-highchart/</link>
					<comments>https://sibeeshpassion.com/client-side-exporting-in-highchart/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Fri, 27 May 2016 10:59:54 +0000</pubDate>
				<category><![CDATA[HighChart]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Client Side Exporting]]></category>
		<category><![CDATA[HighChart Exporting]]></category>
		<category><![CDATA[How To]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11664</guid>

					<description><![CDATA[In this post we will discuss how we can enable client side exporting in HighChart . In normal case the data of your chart is being send to the external server which is http://export.highcharts.com/. But if your product is already in production environment, none of your clients will not agree with the idea of sending their data to any third party server. Am I right? To overcome this, HighChart has given an option called offline-exporting. Here we will discuss that. I hope you will like this. Demo Please see the demo here. Background For the past few months, I am [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post we will discuss how we can enable client side exporting in <a href="http://sibeeshpassion.com/category/highchart/" target="_blank">HighChart </a>. In normal case the data of your chart is being send to the external server which is http://export.highcharts.com/. But if your product is already in production environment, none of your clients will not agree with the idea of sending their data to any third party server. Am I right? To overcome this, HighChart has given an option called <em>offline-exporting</em>. Here we will discuss that. I hope you will like this.</p>
<p><strong>Demo</strong></p>
<p>Please see the demo <a href="https://jsfiddle.net/sibeeshvenu/pwLo7112/" target="_blank">here</a>.</p>
<p><strong>Background</strong></p>
<p>For the past few months, I am working with a project where I use HighChart to manipulate the data and shows as Charts. Now the problem is, while exporting the data, the entire data was going to the HighChart server that is http://export.highcharts.com/. I wanted to get rid of this. So I used the option client side exporting by adding one extra JavaScript file https://code.highcharts.com/modules/offline-exporting.js.</p>
<p><strong>Using the code</strong></p>
<p>First we will populate the chart. For that you must add the needed references as follows. </p>
<p>[html]<br />
&lt;script src=&quot;https://code.jquery.com/jquery-2.2.4.min.js&quot;&quot;&gt;&lt;/script&gt;<br />
&lt;script src=&quot;https://code.highcharts.com/highcharts.js&quot;&gt;&lt;/script&gt;<br />
&lt;script src=&quot;https://code.highcharts.com/modules/exporting.js&quot;&gt;&lt;/script&gt;<br />
[/html]</p>
<p>Now add the chart configuration as follows</p>
<p>[js]<br />
$(function () {<br />
    $(&#8216;#myChart&#8217;).highcharts({<br />
        credits: {<br />
            enabled: false<br />
        },<br />
        exporting: {<br />
            chartOptions: {<br />
                plotOptions: {<br />
                    series: {<br />
                        dataLabels: {<br />
                            enabled: true<br />
                        }<br />
                    }<br />
                }<br />
            },<br />
            scale: 3<br />
        },<br />
        title: {<br />
            text: &#8216;My blog vistor count for a week&#8217;<br />
        },<br />
        subtitle: {<br />
            text: &#8216;Monday to Sunday&#8217;<br />
        },<br />
        chart: {<br />
            type: &#8216;area&#8217;<br />
        },<br />
        xAxis: {<br />
            categories: [&#8216;Mon&#8217;, &#8216;Tue&#8217;, &#8216;Wed&#8217;, &#8216;Thu&#8217;, &#8216;Fri&#8217;, &#8216;Sat&#8217;,<br />
                &#8216;Sun&#8217;]<br />
        },<br />
        series: [{<br />
        name:&#8217;Visitor Count&#8217;,<br />
            data: [1005, 558, 1467, 707, 1289, 867, 543]<br />
        }]<br />
    });<br />
});<br />
[/js]</p>
<p>Now if you run your application, you can see a chart as follows.</p>
<div id="attachment_11665" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/High-Chart-e1464345878246.png"><img decoding="async" aria-describedby="caption-attachment-11665" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/High-Chart-e1464345878246.png" alt="High Chart" width="650" height="312" class="size-full wp-image-11665" srcset="/wp-content/uploads/2016/05/High-Chart-e1464345878246.png 650w, /wp-content/uploads/2016/05/High-Chart-e1464345878246-300x144.png 300w, /wp-content/uploads/2016/05/High-Chart-e1464345878246-400x192.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11665" class="wp-caption-text">High Chart</p></div>
<p>Now it is time to check the exporting. If you click on export icon on the right top corner, you will given options to choose like on which format you need to export the data. Just click on anything you wish. You can see that the data is being send to the server http://export.highcharts.com/ in the top left side. To overcome this, you need to add a reference of the file called offline-exporting.js.</p>
<p>[html]<br />
&lt;script src=&quot;https://code.highcharts.com/modules/offline-exporting.js&quot;&gt;&lt;/script&gt;<br />
[/html]</p>
<p>That&#8217;s all. You are done.</p>
<p>Please be noted this feature is not supported in browser IE 8, So if you load this chart in any unsupported browser, the module will fall back to the export server. This can be handled with the option <em>fallbackToExportServer: false</em>. You need to set this option in your exporting settings as follows.</p>
<p>[js]<br />
  exporting: {<br />
            chartOptions: {<br />
                plotOptions: {<br />
                    series: {<br />
                        dataLabels: {<br />
                            enabled: true<br />
                        }<br />
                    }<br />
                }<br />
            },<br />
            scale: 3,<br />
            fallbackToExportServer: false<br />
        }<br />
[/js]</p>
<p>In Internet Explorer, it requires <a href="https://github.com/gabelerner/canvg" target="_blank">canvg</a> library to export the chart to PNG format. But you don&#8217;t need to worry about this file. This will be automatically downloaded on demand by the system. </p>
<p><strong>Reference</strong></p>
<li><a href="http://www.highcharts.com/docs/export-module/client-side-export" target="_blank">client-side-export</a></li>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn&#8217;t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/client-side-exporting-in-highchart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How To Write Good Articles</title>
		<link>https://sibeeshpassion.com/how-to-write-good-articles/</link>
					<comments>https://sibeeshpassion.com/how-to-write-good-articles/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Tue, 17 May 2016 12:26:29 +0000</pubDate>
				<category><![CDATA[Career Advice]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[How To]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11613</guid>

					<description><![CDATA[[toc] Introduction In this post, we are going to see a few points which may need to consider while you write an article. I am neither an expert nor a guru. But still, I guess I have improved myself in writing articles for the past two years. I still remember my first article, there were so many mistakes. Remember one thing &#8220;Mistakes are the key to success&#8221;. Here I will point out a few things, which I used to follow while writing articles. Please feel free to add your own points to this article. I hope you will like this. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[toc]</p>
<h2>Introduction</h2>
<p>In this post, we are going to see a few points which may need to consider while you write an article. I am neither an expert nor a guru. But still, I guess I have improved myself in writing articles for the past two years. I still remember my first article, there were so many mistakes. Remember one thing &#8220;Mistakes are the key to success&#8221;. Here I will point out a few things, which I used to follow while writing articles. Please feel free to add your own points to this article. I hope you will like this.</p>
<h2>Background</h2>
<p>Last week one of my friends asked this question &#8216;How to write good articles?&#8217;. Here I am dedicating this article to him. I hope he will like this.</p>
<h2><strong>How to write a good article?</strong></h2>
<p>First of all let me ask you a question, what is a good article? As per my concern, a good article is the one which covers the needed points or solution about a problem/scenarios/technologies etc The important fact is when he/she read your article, they must be cleared what you had written, or else your article quality may fail. You are always welcomed to include some external links if you think that will cherish your article contents. Now we will list down the points. Most important thing is, you must search for an article with the same content as you have in your article, if you found any, you should start writing an article only if you have something more relevant to say more than those article. You can also explain how your article is differ from the other and why someone use yours. These points can also be included in the Introduction part which we are going to list down as our first point.</p>
<h3><strong>Point 1: Introduction</strong></h3>
<p>An Introduction is very important when you write an article, a good introduction can make your article viewer to read further. Trust me, it is very useful too. In this part, you can describe what exactly you are going to say/do in this article. It must be brief. And please never use any code blocks in your introduction part, it is never meant to be so. This is the part which lets your readers understand where/what exactly you are indent to do.</p>
<p><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Introduction-Where-exactly-you-are-making-your-readers-go-e1463466204966.jpg"><img decoding="async" class="size-full wp-image-11614 aligncenter" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Introduction-Where-exactly-you-are-making-your-readers-go-e1463466204966.jpg" alt="Introduction - Where exactly you are making your readers go" width="650" height="455" srcset="/wp-content/uploads/2016/05/Introduction-Where-exactly-you-are-making-your-readers-go-e1463466204966.jpg 510w, /wp-content/uploads/2016/05/Introduction-Where-exactly-you-are-making-your-readers-go-e1463466204966-300x210.jpg 300w, /wp-content/uploads/2016/05/Introduction-Where-exactly-you-are-making-your-readers-go-e1463466204966-400x280.jpg 400w" sizes="(max-width: 650px) 100vw, 650px" /></a> Introduction &#8211; Where exactly you are making your readers go</p>
<p>Image Courtesy: squarespace</p>
<h2><strong>Point 2: Background</strong></h2>
<p>In this part, you can explain what made you to write this article. You can explain the problems you faced here, or when you get this problem. This should be brief too, here you can include source code too. Please do remember that this is just the background, so it is not advisable to include full source code and explain it here.</p>
<h2><strong>Point 3: What you are going to do?</strong></h2>
<p>Here you can explain the things which you are going to do in this article. You can list down the things for better readability. You can explain these points one by one. You can also add some code snippets too. But whenever you add any code, please try to explain even if it is basics. That will help some beginners to understand the things easily. You may feel that this basic explanation is not necessary as you have got so many experience and you may be good in it. But what about the beginners? I always believe they are the real beneficiaries of your articles. We must concentrate on both kind of users (Beginners/Experienced).</p>
<div id="attachment_11617" style="width: 433px" class="wp-caption aligncenter"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/What-you-are-going-to-do.jpg"><img decoding="async" aria-describedby="caption-attachment-11617" class="size-full wp-image-11617" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/What-you-are-going-to-do.jpg" alt="What you are going to do" width="423" height="259" srcset="/wp-content/uploads/2016/05/What-you-are-going-to-do.jpg 423w, /wp-content/uploads/2016/05/What-you-are-going-to-do-300x184.jpg 300w, /wp-content/uploads/2016/05/What-you-are-going-to-do-400x245.jpg 400w" sizes="(max-width: 423px) 100vw, 423px" /></a><p id="caption-attachment-11617" class="wp-caption-text">What you are going to do</p></div>
<p>Image Courtesy: introvertadvantages</p>
<h2><strong>Point 4: How you are going to do?</strong></h2>
<p>This can be the continuation part of the point 3, or you can club each other. This is where you can explain the possible ways that you can fix your problem, Or the possible ways to achieve the same tasks. Any tasks can be achieved in different ways right? So when you write any article, you must think in all the perspective.</p>
<div id="attachment_11618" style="width: 386px" class="wp-caption aligncenter"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/How-to-do.gif"><img decoding="async" aria-describedby="caption-attachment-11618" class="size-full wp-image-11618" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/How-to-do.gif" alt="How to do" width="376" height="382" /></a><p id="caption-attachment-11618" class="wp-caption-text">How to do. Image Courtesy: oneidacity</p></div>
<p>This will make your article rich in good contents. And this is where you must concentrate more on the coding part. When you write codes in your article, it must be formatted well. If you use WordPress as CMS(Content Management System) for your blog, you can go for any syntax highlighter plugins, or you can custom your own. If you post the article in any of the social communities, please use their formatting options.</p>
<p>If you have any images which explains the workflow or any tasks, it is always advisable to include those. An image is more understandable than reading the content, but always strict yourself to not include more than 10 images per article. When you include the images, please try to convert them to a particular size (Example: Width: 650 PX), this will make your article looks good. But no worries, if you have a low resolution image, and if you think enlarging that will cause any clarity issues, you can always use the same without conversion.</p>
<p>One thing you must remember is, you can always include what are all the things you have tried and what was the output you got from that. If you do so, your reader will get to know if he/she does that, they would get the same output. So it is not only about the the scenario which works fine but also the errors/problems.</p>
<h2><strong>Point 4: Always include output</strong></h2>
<p>An output is the outcome of what we tried right? So what if you didn&#8217;t include that? Isn&#8217;t it bad? You can include the output as an image or any content. It can be any result set too.</p>
<div id="attachment_11619" style="width: 644px" class="wp-caption aligncenter"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Output-Image-e1463485884138.jpg"><img decoding="async" aria-describedby="caption-attachment-11619" class="size-large wp-image-11619" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Output-Image-1024x748.jpg" alt="Output Image" width="634" height="463" /></a><p id="caption-attachment-11619" class="wp-caption-text">Output Image</p></div>
<p>Image Courtesy: dreamstime</p>
<h2><strong>Point 5: Include the source code as a downloadable format</strong></h2>
<p>Please add source code as a downloadable format when ever it is possible. This will definitely help your reader, so that he/she doesn&#8217;t need to worry about the initial set up. We all are community guys, and we love helping each other. Am I right?</p>
<h2><strong>Point 6: Format the entire content</strong></h2>
<p>There are so many things you must concentrate when it comes to formatting. I am listing down a few of them here.</p>
<ul>
<li>Use the same font for the entire article</li>
<li>Use bold for the headings</li>
<li>Highlight the lines, if it is very important (Example: Notes)</li>
<li>Use code formatter when you write codes</li>
<li>Resize and align images properly</li>
<li>Make sure that that headings starts with Capital letter (CamelCasing 🙂</li>
</ul>
<h2><strong>Point 7: Give credits</strong></h2>
<p>This is very important. When ever you take some stuffs from any site, please try to give some credits to the content owner by providing the links/name. For example, if you are taking an image from any site, you can include the site name just below the image. Trust me, this will make you genuine. At last, it is all about genuine right?</p>
<h2><strong>Point 8: Write a conclusion</strong></h2>
<p>The conclusion is the last part of your article, you can summarize the things you have written here. And also if you want, you can always ask some questions to your readers. So that the bond between you and your readers will be in multi bind format (Yes, like we have in Angular JS. LOL). You can always ask for feedback, feedback is something that we all are looking for. Each and every feedback is valuable either it is negative or positive. If you get any negative feedback, be happy and try to improve on the things you are being suggested.</p>
<blockquote><p>In a speech in South Africa in 1890 Mahatma Gandhi said this:</p>
<p>“A customer is the most important visitor on our premises. He is not dependent on us. We are dependent on him. He is not an interruption of our work. He is the purpose of it. He is not an outsider of our business. He is part of it. We are not doing him a favour by serving him. He is doing us a favour by giving us the opportunity to do so.”</p></blockquote>
<p>The quotes are taken from <a href="http://service-ability.com/?p=881" target="_blank" rel="noopener">Service-Ability</a></p>
<p>In our case it is our it is our readers. Isn&#8217;t it?</p>
<h2><strong>Point 9: Keep a history of your article</strong></h2>
<p>This point is optional, but you can always include this too. This is where you can keep a history of your article. You can include the dates, the caption of each versions and something about future updates.</p>
<h2><strong>Point 10: Impact of communities</strong></h2>
<p>This point is completely depends on you. If you want you can always join some on-line technical communities like C# Corner, Asp.Net, CodeProject etc. I always recommend you to join in this communities, because that is where you can learn a lot and improve yourself to a great level. Most of the communities have some moderators who has so much experience in content moderating. They will moderate your article content and improve it in all the possible way. So whenever there is an edit done by a moderator, you can put a note on it and try not to do the same mistakes when you write next article. &#8216;Experience makes a man perfect&#8217;, isn&#8217;t it?</p>
<p>Another important fact about the communities is, you will get a good number of visitors and feedback, thus increase in growth.</p>
<div id="attachment_11620" style="width: 644px" class="wp-caption aligncenter"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Growth-e1463487696149.jpg"><img decoding="async" aria-describedby="caption-attachment-11620" class="size-large wp-image-11620" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Growth-1024x768.jpg" alt="Growth" width="634" height="476" /></a><p id="caption-attachment-11620" class="wp-caption-text">Growth</p></div>
<p>Image Courtesy: rafichowdhury</p>
<blockquote><p>I may not be following these points in my articles, but I will definitely try to follow this in my next articles. Cheers</p></blockquote>
<h2><strong>Conclusion</strong></h2>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<h2><strong>Your turn. What do you think?</strong></h2>
<p>A blog isn&#8217;t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/how-to-write-good-articles/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Encrypt And Decrypt ConnectionString In Web.Config File</title>
		<link>https://sibeeshpassion.com/encrypt-and-decrypt-connectionstring-in-web-config-file/</link>
					<comments>https://sibeeshpassion.com/encrypt-and-decrypt-connectionstring-in-web-config-file/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Mon, 16 May 2016 10:33:46 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Command Prompt]]></category>
		<category><![CDATA[Decrypt ConnectionString]]></category>
		<category><![CDATA[Encrypt ConnectionString]]></category>
		<category><![CDATA[How To]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11565</guid>

					<description><![CDATA[In this article we are going to see how we can encrypt and secure our connection string in our web config file. As you all know the connection string is the pillar of our data. I mean, without a connection string you just can&#8217;t create an application which does some database actions like retrieving the data, creating the data. We all know that the connection string is placed in the file called web config, so others too. If anyone needs to get the database information of your application, the first place he/she may look at will be the web config [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this article we are going to see how we can encrypt and secure our connection string in our web config file. As you all know the connection string is the pillar of our data. I mean, without a connection string you just can&#8217;t create an application which does some database actions like retrieving the data, creating the data. We all know that the connection string is placed in the file called web config, so others too. If anyone needs to get the database information of your application, the first place he/she may look at will be the web config file. Am I right? It is always recommend to encrypt the connection string of your application because the data we have there is highly sensitive. It must be secured. Here I am going to show you a demo of how we can do that, You can do the same thing in your Web API project, MVC project, Asp.Net 5 project, or any kind of templates you works with. I hope you will like this.</p>
<p><strong>Background</strong></p>
<p>I used to secure my config file if I am the who starts the project. Here you will get to know how easy the procedure is to encrypt the connection string. There is only a few steps to be followed. I will explain those. </p>
<p><strong>Agenda</strong></p>
<p>The following is the agenda we are going to follow. </p>
<li>Create an empty project, it can be any template(Asp.Net 5, Web API, MVC&#8230;)</li>
<li>Add a connection string</li>
<li>Encrypt the connection string</li>
<li>Decrypt the connection string</li>
<p><strong>Perquisites </strong></p>
<li>Visual Studio</li>
<li>SQL Server</li>
<p><strong>Create an empty project</strong></p>
<p>To create an empty project, go to File->New->New Project->Name the project->Select Empty->Click OK. Hope you get a solution as follows.</p>
<div id="attachment_11566" style="width: 384px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Empty-Solution.png"><img decoding="async" aria-describedby="caption-attachment-11566" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Empty-Solution.png" alt="Empty Solution" width="374" height="285" class="size-full wp-image-11566" srcset="/wp-content/uploads/2016/05/Empty-Solution.png 374w, /wp-content/uploads/2016/05/Empty-Solution-300x229.png 300w" sizes="(max-width: 374px) 100vw, 374px" /></a><p id="caption-attachment-11566" class="wp-caption-text">Empty Solution</p></div>
<p>Now We will connect to a database. To connect, please click on the connect icon in your server explorer window and connect you Local/Server database.</p>
<div id="attachment_11567" style="width: 515px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Connect-to-Database.png"><img decoding="async" aria-describedby="caption-attachment-11567" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Connect-to-Database.png" alt="Connect to Database" width="505" height="873" class="size-full wp-image-11567" srcset="/wp-content/uploads/2016/05/Connect-to-Database.png 505w, /wp-content/uploads/2016/05/Connect-to-Database-174x300.png 174w, /wp-content/uploads/2016/05/Connect-to-Database-400x691.png 400w, /wp-content/uploads/2016/05/Connect-to-Database-347x600.png 347w" sizes="(max-width: 505px) 100vw, 505px" /></a><p id="caption-attachment-11567" class="wp-caption-text">Connect to Database</p></div>
<p><strong>Add a connection string</strong></p>
<p>Now it is time to add our connection string, hope you got your data source of the database we already connected. The connection string property must be placed under configuration tag in your web config file. Here is mine.</p>
<p>[xml]<br />
&lt;connectionStrings&gt;<br />
    &lt;add name=&quot;myConnection&quot; connectionString=&quot;Data Source=SIBEESHVENU\SQLEXPRESS;Initial Catalog=ReportServer$SQLEXPRESS;Integrated Security=True&quot; /&gt;<br />
  &lt;/connectionStrings&gt;<br />
[/xml]</p>
<p>Now we will create a web page and in the page load event we will fetch this connection string and write it as a response. </p>
<p>[csharp]<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;</p>
<p>namespace EncryptConnectionString<br />
{<br />
    public partial class Default : System.Web.UI.Page<br />
    {<br />
        protected void Page_Load(object sender, EventArgs e)<br />
        {<br />
            if (!IsPostBack)<br />
            {<br />
                try<br />
                {<br />
                    string myCon = System.Configuration.ConfigurationManager.ConnectionStrings[&quot;myConnection&quot;].ConnectionString;<br />
                    if (myCon != null)<br />
                    {<br />
                        Response.Write(&quot;My connection string is :&quot; + myCon);<br />
                    }<br />
                }<br />
                catch (Exception)<br />
                {</p>
<p>                    throw;<br />
                }<br />
            }<br />
        }<br />
    }<br />
}<br />
[/csharp]</p>
<p>Please run your page, you will see your connection string in your page.</p>
<div id="attachment_11568" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Connection-string-response-e1463302112567.png"><img decoding="async" aria-describedby="caption-attachment-11568" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Connection-string-response-1024x47.png" alt="Connection string response" width="634" height="29" class="size-large wp-image-11568" /></a><p id="caption-attachment-11568" class="wp-caption-text">Connection string response</p></div>
<p><strong>Encrypt connection string</strong></p>
<p>To start the process, you must open your command window with the admin privilege. Then type the following command.</p>
<p>[csharp]<br />
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319<br />
[/csharp]</p>
<p>This command will narrate you to the framework version folder given. Now right click on your project and click open folder in file explorer and then copy the location. For me it is <em>F:\Visual Studio\EncryptConnectionString\EncryptConnectionString</em>. Now please go back to your command prompt and type the command as follows.</p>
<p>[csharp]<br />
ASPNET_REGIIS -PEF &quot;connectionStrings&quot; &quot;F:\Visual Studio\EncryptConnectionString\EncryptConnectionString&quot;<br />
[/csharp]</p>
<p>Once you click the enter. You will get the output as follows.</p>
<div id="attachment_11569" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Encrypt-ConnectionString-Output-e1463303289891.png"><img decoding="async" aria-describedby="caption-attachment-11569" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Encrypt-ConnectionString-Output-e1463303289891.png" alt="Encrypt ConnectionString Output" width="650" height="422" class="size-full wp-image-11569" srcset="/wp-content/uploads/2016/05/Encrypt-ConnectionString-Output-e1463303289891.png 650w, /wp-content/uploads/2016/05/Encrypt-ConnectionString-Output-e1463303289891-300x195.png 300w, /wp-content/uploads/2016/05/Encrypt-ConnectionString-Output-e1463303289891-400x260.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11569" class="wp-caption-text">Encrypt ConnectionString Output</p></div>
<p>Please be noted that the text <em>connectionStrings</em> is case sensitive. If you don&#8217;t give it as it is, you will get an error as follows.</p>
<p>[csharp]<br />
C:\Windows\Microsoft.NET\Framework\v4.0.30319&gt;ASPNET_REGIIS -PEF &quot;connectionstrings&quot; &quot;F:\Visual Studio\EncryptConnectionString\EncryptConnectionString&quot;<br />
Microsoft (R) ASP.NET RegIIS version 4.0.30319.0<br />
Administration utility to install and uninstall ASP.NET on the local machine.<br />
Copyright (C) Microsoft Corporation.  All rights reserved.<br />
Encrypting configuration section&#8230;<br />
The configuration section &#8216;connectionstrings&#8217; was not found.<br />
Failed!<br />
[/csharp]</p>
<p>So please be careful while you type the commands. Now I am going back to our application and see the config file. Shall we? You can see the connection string is encrypted as follows.</p>
<p>[xml]<br />
&lt;connectionStrings configProtectionProvider=&quot;RsaProtectedConfigurationProvider&quot;&gt;<br />
    &lt;EncryptedData Type=&quot;http://www.w3.org/2001/04/xmlenc#Element&quot;<br />
      xmlns=&quot;http://www.w3.org/2001/04/xmlenc#&quot;&gt;<br />
      &lt;EncryptionMethod Algorithm=&quot;http://www.w3.org/2001/04/xmlenc#tripledes-cbc&quot; /&gt;<br />
      &lt;KeyInfo xmlns=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br />
        &lt;EncryptedKey xmlns=&quot;http://www.w3.org/2001/04/xmlenc#&quot;&gt;<br />
          &lt;EncryptionMethod Algorithm=&quot;http://www.w3.org/2001/04/xmlenc#rsa-1_5&quot; /&gt;<br />
          &lt;KeyInfo xmlns=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br />
            &lt;KeyName&gt;Rsa Key&lt;/KeyName&gt;<br />
          &lt;/KeyInfo&gt;<br />
          &lt;CipherData&gt;<br />
            &lt;CipherValue&gt;B4B3oZrbpQsYM7Eaq5smukqDj9XUYUCwygBYRG1iasN4ll5W4wAKVCIFCRfvOJGoIXzgqpyjAI30IKf5pnZ/xWqmo3p/wGfOKdMrzd041dt9llLGbxFpLJs0Nkm583PJ1FppXLAy7FOD0YoBVhG/PBtBgLjTQqcXRNbVcgufzuArlv/EH+7lzSNRclXSTMOPMtISF65hPI9ICj9qLx7RBGhVZ6uFZVFteyyuRd2i3D2r7wJfr6KflFkakdxp1OWE2JK4Ldb8kZSwAy3bNaI/qaV9EgIWt9wM6RZO/IrI3kI/bX8JuvirPw3j/+TLDB3MoIgKjSbLpR3GYTm9csPu8g==&lt;/CipherValue&gt;<br />
          &lt;/CipherData&gt;<br />
        &lt;/EncryptedKey&gt;<br />
      &lt;/KeyInfo&gt;<br />
      &lt;CipherData&gt;<br />
        &lt;CipherValue&gt;0n1Y6ScSNZDR4x1sXfK05w9h+pp2OrAEQFQsoAUP5Y/hPsfpJS/7jv21PbPlkYmdCzycM4PGGb0+fuffR3RuL1x0tn7rfyUdA9llTfkyRQKwS9xOmkMsVFXgQDr8P4aXGef1fZPE2gjhcjm/JQToLwsfQZK1gNr4d6cIPFNqKD6wt24F7fuySJPX3OgLb8wXfQMd7ij+JcZzNlnyNHbq/DIjxSpPOnMrC52t06Jj8F8+MsSud9GcijcFB2UhvLVXQwyZ51nEj6Tf36Zbca8bgw==&lt;/CipherValue&gt;<br />
      &lt;/CipherData&gt;<br />
    &lt;/EncryptedData&gt;<br />
  &lt;/connectionStrings&gt;<br />
[/xml]</p>
<p><strong>Decrypt connection string</strong></p>
<p>You can always decrypt the connection string if you want, to decrypt you just need follows the commands as follows in the command prompt.</p>
<p>[csharp]<br />
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319<br />
[/csharp]</p>
<p>Once after you did you the above command you can execute the preceding one.</p>
<p>[csharp]<br />
ASPNET_REGIIS -PDF &quot;connectionStrings&quot; &quot;F:\Visual Studio\EncryptConnectionString\EncryptConnectionString&quot;<br />
[/csharp]</p>
<blockquote><p>The text &#8216;connectionString&#8217; is case sensitive as mentioned above</p></blockquote>
<p>If the command is correct, you can get an output as follows.</p>
<div id="attachment_11573" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466.png"><img decoding="async" aria-describedby="caption-attachment-11573" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466.png" alt="Decrypting connectionString" width="650" height="440" class="size-full wp-image-11573" srcset="/wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466.png 650w, /wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466-300x203.png 300w, /wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466-320x218.png 320w, /wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466-620x420.png 620w, /wp-content/uploads/2016/05/Decrypting-connectionString-e1463394161466-400x271.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11573" class="wp-caption-text">Decrypting connectionString</p></div>
<p>Now if you check your Web config again, you can see the connection string has got encrypted. Have a happy coding!.</p>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn&#8217;t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/encrypt-and-decrypt-connectionstring-in-web-config-file/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Working with API help page controller action description in Web API</title>
		<link>https://sibeeshpassion.com/working-with-api-help-page-controller-action-description-in-web-api/</link>
					<comments>https://sibeeshpassion.com/working-with-api-help-page-controller-action-description-in-web-api/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Thu, 12 May 2016 00:00:24 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[API Help Page Description]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Enable Region Summary Of Actions]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=11555</guid>

					<description><![CDATA[In this article we are going to see how we can enable the API descriptions for the better understanding of how our API controller works and what exactly it is supposed to do. It is recommended that to give the summary and parameter lists and a bit introduction to the service whenever you write any API services. Here I am going to use create a Web API in Visual Studio 2015. I hope you will like this. Download the source code You can always download the source code here: API Help Page Documentation Background Few months back I have hosted [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this article we are going to see how we can enable the API descriptions for the better understanding of how our API controller works and what exactly it is supposed to do. It is recommended that to give the summary and parameter lists and a bit introduction to the service whenever you write any API services. Here I am going to use create a <a href="http://sibeeshpassion.com/category/web-api" target="_blank" rel="noopener">Web API</a> in <a href="http://sibeeshpassion.com/category/tools/visual-studio/" target="_blank" rel="noopener">Visual Studio</a> 2015. I hope you will like this.</p>
<p><strong>Download the source code</strong></p>
<p>You can always download the source code here: <a href="https://code.msdn.microsoft.com/Working-with-API-help-page-23eddf9e" target="_blank" rel="noopener">API Help Page Documentation</a></p>
<p><strong>Background</strong></p>
<p>Few months back I have hosted one of my API application to <a href="http://sibeeshpassion.com/category/azure" target="_blank" rel="noopener">Azure</a>. I thought of implementing the document summary for the services(controllers actions) now. And I did, now any one can understand what exactly my service will do by going to the help page of the API application. I will show you a demo of the same. Here we will create a Web API with entity framework. Lets us start then.</p>
<p><strong>Setting up database</strong></p>
<p>Here I am going to create a database which I created for my demo purposes, you can always create this database by running the queries mentioned here.</p>
<p><strong>Create database</strong></p>
<p>[sql]<br />
USE [master]<br />
GO</p>
<p>/****** Object:  Database [TrialsDB]    Script Date: 5/12/2016 10:56:41 AM ******/<br />
CREATE DATABASE [TrialsDB]<br />
 CONTAINMENT = NONE<br />
 ON  PRIMARY<br />
( NAME = N&#8217;TrialsDB&#8217;, FILENAME = N&#8217;C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TrialsDB.mdf&#8217; , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )<br />
 LOG ON<br />
( NAME = N&#8217;TrialsDB_log&#8217;, FILENAME = N&#8217;C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TrialsDB_log.ldf&#8217; , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET COMPATIBILITY_LEVEL = 110<br />
GO</p>
<p>IF (1 = FULLTEXTSERVICEPROPERTY(&#8216;IsFullTextInstalled&#8217;))<br />
begin<br />
EXEC [TrialsDB].[dbo].[sp_fulltext_database] @action = &#8216;enable&#8217;<br />
end<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ANSI_NULL_DEFAULT OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ANSI_NULLS OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ANSI_PADDING OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ANSI_WARNINGS OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ARITHABORT OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET AUTO_CLOSE OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET AUTO_CREATE_STATISTICS ON<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET AUTO_SHRINK OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET AUTO_UPDATE_STATISTICS ON<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET CURSOR_CLOSE_ON_COMMIT OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET CURSOR_DEFAULT  GLOBAL<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET CONCAT_NULL_YIELDS_NULL OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET NUMERIC_ROUNDABORT OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET QUOTED_IDENTIFIER OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET RECURSIVE_TRIGGERS OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET  DISABLE_BROKER<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET DATE_CORRELATION_OPTIMIZATION OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET TRUSTWORTHY OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET ALLOW_SNAPSHOT_ISOLATION OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET PARAMETERIZATION SIMPLE<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET READ_COMMITTED_SNAPSHOT OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET HONOR_BROKER_PRIORITY OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET RECOVERY FULL<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET  MULTI_USER<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET PAGE_VERIFY CHECKSUM<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET DB_CHAINING OFF<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET TARGET_RECOVERY_TIME = 0 SECONDS<br />
GO</p>
<p>ALTER DATABASE [TrialsDB] SET  READ_WRITE<br />
GO<br />
[/sql]</p>
<p><strong>Create table with data</strong></p>
<p>[sql]<br />
USE [TrialsDB]<br />
GO<br />
/****** Object:  Table [dbo].[Product]    Script Date: 5/12/2016 10:54:48 AM ******/<br />
SET ANSI_NULLS ON<br />
GO<br />
SET QUOTED_IDENTIFIER ON<br />
GO<br />
CREATE TABLE [dbo].[Product](<br />
	[ProductID] [int] NOT NULL,<br />
	[Name] [nvarchar](max) NOT NULL,<br />
	[ProductNumber] [nvarchar](25) NOT NULL,<br />
	[MakeFlag] [bit] NOT NULL,<br />
	[FinishedGoodsFlag] [bit] NOT NULL,<br />
	[Color] [nvarchar](15) NULL,<br />
	[SafetyStockLevel] [smallint] NOT NULL,<br />
	[ReorderPoint] [smallint] NOT NULL,<br />
	[StandardCost] [money] NOT NULL,<br />
	[ListPrice] [money] NOT NULL,<br />
	[Size] [nvarchar](5) NULL,<br />
	[SizeUnitMeasureCode] [nchar](3) NULL,<br />
	[WeightUnitMeasureCode] [nchar](3) NULL,<br />
	[Weight] [decimal](8, 2) NULL,<br />
	[DaysToManufacture] [int] NOT NULL,<br />
	[ProductLine] [nchar](2) NULL,<br />
	[Class] [nchar](2) NULL,<br />
	[Style] [nchar](2) NULL,<br />
	[ProductSubcategoryID] [int] NULL,<br />
	[ProductModelID] [int] NULL,<br />
	[SellStartDate] [datetime] NOT NULL,<br />
	[SellEndDate] [datetime] NULL,<br />
	[DiscontinuedDate] [datetime] NULL,<br />
	[rowguid] [uniqueidentifier] ROWGUIDCOL  NOT NULL,<br />
	[ModifiedDate] [datetime] NOT NULL<br />
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]<br />
GO<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (1, N&#8217;Adjustable Race&#8217;, N&#8217;AR-5381&#8242;, 0, 0, NULL, 1000, 750, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;694215b7-08f7-4c0d-acb1-d734ba44c0c8&#8242;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (2, N&#8217;Bearing Ball&#8217;, N&#8217;BA-8327&#8242;, 0, 0, NULL, 1000, 750, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;58ae3c20-4f3a-4749-a7d4-d568806cc537&#8242;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (3, N&#8217;BB Ball Bearing&#8217;, N&#8217;BE-2349&#8242;, 1, 0, NULL, 800, 600, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;9c21aed2-5bfa-4f18-bcb8-f11638dc2e4e&#8217;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (4, N&#8217;Headset Ball Bearings&#8217;, N&#8217;BE-2908&#8242;, 0, 0, NULL, 800, 600, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;ecfed6cb-51ff-49b5-b06c-7d8ac834db8b&#8217;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (316, N&#8217;Blade&#8217;, N&#8217;BL-2036&#8242;, 1, 0, NULL, 800, 600, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;e73e9750-603b-4131-89f5-3dd15ed5ff80&#8242;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (317, N&#8217;LL Crankarm&#8217;, N&#8217;CA-5965&#8242;, 0, 0, N&#8217;Black&#8217;, 500, 375, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 0, NULL, N&#8217;L &#8216;, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;3c9d10b7-a6b2-4774-9963-c19dcee72fea&#8217;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
INSERT [dbo].[Product] ([ProductID], [Name], [ProductNumber], [MakeFlag], [FinishedGoodsFlag], [Color], [SafetyStockLevel], [ReorderPoint], [StandardCost], [ListPrice], [Size], [SizeUnitMeasureCode], [WeightUnitMeasureCode], [Weight], [DaysToManufacture], [ProductLine], [Class], [Style], [ProductSubcategoryID], [ProductModelID], [SellStartDate], [SellEndDate], [DiscontinuedDate], [rowguid], [ModifiedDate]) VALUES (318, N&#8217;ML Crankarm&#8217;, N&#8217;CA-6738&#8242;, 0, 0, N&#8217;Black&#8217;, 500, 375, 0.0000, 0.0000, NULL, NULL, NULL, NULL, 0, NULL, N&#8217;M &#8216;, NULL, NULL, NULL, CAST(0x0000921E00000000 AS DateTime), NULL, NULL, N&#8217;eabb9a92-fa07-4eab-8955-f0517b4a4ca7&#8217;, CAST(0x00009A5C00A53CF8 AS DateTime))<br />
[/sql]</p>
<p>Our database is ready, now create a Web API application in visual studio and then entity with the above mentioned database. </p>
<div id="attachment_11556" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Creating-Entity-e1463031313825.png"><img decoding="async" aria-describedby="caption-attachment-11556" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Creating-Entity-1024x542.png" alt="Creating Entity" width="634" height="336" class="size-large wp-image-11556" /></a><p id="caption-attachment-11556" class="wp-caption-text">Creating Entity</p></div>
<p>If you don&#8217;t know how to create an entity in your solution, please read that <a href="http://sibeeshpassion.com/web-api-with-angular-js/" target="_blank" rel="noopener">here</a>. I have mentioned the steps to be followed in that article. Once you have created the entity, you are good to go and create a API controller with the entity created. If you do so, The CRUD actions will be created automatically for you. You may need to edit those actions according to your needs. </p>
<div id="attachment_11557" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/Web-API-2-Controller-with-actions-using-Entity-Framework-e1463031653319.png"><img decoding="async" aria-describedby="caption-attachment-11557" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/Web-API-2-Controller-with-actions-using-Entity-Framework-e1463031653319.png" alt="Web API 2 Controller with actions, using Entity Framework" width="650" height="457" class="size-full wp-image-11557" srcset="/wp-content/uploads/2016/05/Web-API-2-Controller-with-actions-using-Entity-Framework-e1463031653319.png 650w, /wp-content/uploads/2016/05/Web-API-2-Controller-with-actions-using-Entity-Framework-e1463031653319-300x211.png 300w, /wp-content/uploads/2016/05/Web-API-2-Controller-with-actions-using-Entity-Framework-e1463031653319-400x281.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11557" class="wp-caption-text">Web API 2 Controller with actions, using Entity Framework</p></div>
<p>Select the Model Class, DBContext then name your controller and click OK. I hope a controller with the CRUD actions like preceding has been generated for you.</p>
<p>[csharp]<br />
 public class ProductsController : ApiController<br />
    {<br />
        private TrialsDBEntities db = new TrialsDBEntities();</p>
<p>        // GET: api/Products<br />
        public IQueryable&lt;Product&gt; GetProducts()<br />
        {<br />
            return db.Products;<br />
        }</p>
<p>        // GET: api/Products/5<br />
        [ResponseType(typeof(Product))]<br />
        public IHttpActionResult GetProduct(int id)<br />
        {<br />
            Product product = db.Products.Find(id);<br />
            if (product == null)<br />
            {<br />
                return NotFound();<br />
            }</p>
<p>            return Ok(product);<br />
        }</p>
<p>        // PUT: api/Products/5<br />
        [ResponseType(typeof(void))]<br />
        public IHttpActionResult PutProduct(int id, Product product)<br />
        {<br />
            if (!ModelState.IsValid)<br />
            {<br />
                return BadRequest(ModelState);<br />
            }</p>
<p>            if (id != product.ProductID)<br />
            {<br />
                return BadRequest();<br />
            }</p>
<p>            db.Entry(product).State = EntityState.Modified;</p>
<p>            try<br />
            {<br />
                db.SaveChanges();<br />
            }<br />
            catch (DbUpdateConcurrencyException)<br />
            {<br />
                if (!ProductExists(id))<br />
                {<br />
                    return NotFound();<br />
                }<br />
                else<br />
                {<br />
                    throw;<br />
                }<br />
            }</p>
<p>            return StatusCode(HttpStatusCode.NoContent);<br />
        }</p>
<p>        // POST: api/Products<br />
        [ResponseType(typeof(Product))]<br />
        public IHttpActionResult PostProduct(Product product)<br />
        {<br />
            if (!ModelState.IsValid)<br />
            {<br />
                return BadRequest(ModelState);<br />
            }</p>
<p>            db.Products.Add(product);</p>
<p>            try<br />
            {<br />
                db.SaveChanges();<br />
            }<br />
            catch (DbUpdateException)<br />
            {<br />
                if (ProductExists(product.ProductID))<br />
                {<br />
                    return Conflict();<br />
                }<br />
                else<br />
                {<br />
                    throw;<br />
                }<br />
            }</p>
<p>            return CreatedAtRoute(&quot;DefaultApi&quot;, new { id = product.ProductID }, product);<br />
        }</p>
<p>        // DELETE: api/Products/5<br />
        [ResponseType(typeof(Product))]<br />
        public IHttpActionResult DeleteProduct(int id)<br />
        {<br />
            Product product = db.Products.Find(id);<br />
            if (product == null)<br />
            {<br />
                return NotFound();<br />
            }</p>
<p>            db.Products.Remove(product);<br />
            db.SaveChanges();</p>
<p>            return Ok(product);<br />
        }</p>
<p>        protected override void Dispose(bool disposing)<br />
        {<br />
            if (disposing)<br />
            {<br />
                db.Dispose();<br />
            }<br />
            base.Dispose(disposing);<br />
        }</p>
<p>        private bool ProductExists(int id)<br />
        {<br />
            return db.Products.Count(e =&gt; e.ProductID == id) &gt; 0;<br />
        }<br />
    }<br />
[/csharp]</p>
<p>Now please run your application and go to the help page. You can see the API help page as follows. </p>
<div id="attachment_11558" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/API-Help-Page-e1463032044742.png"><img decoding="async" aria-describedby="caption-attachment-11558" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/API-Help-Page-e1463032044742.png" alt="API Help Page" width="650" height="524" class="size-full wp-image-11558" srcset="/wp-content/uploads/2016/05/API-Help-Page-e1463032044742.png 650w, /wp-content/uploads/2016/05/API-Help-Page-e1463032044742-300x242.png 300w, /wp-content/uploads/2016/05/API-Help-Page-e1463032044742-400x322.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11558" class="wp-caption-text">API Help Page</p></div>
<p>As you can see &#8216;No documentation available.&#8217; under description of all the service actions. No worries we will try to add some summary to the actions now. So we will change the code as follows.</p>
<p>[csharp]<br />
 #region GetProducts<br />
        /// &lt;summary&gt;<br />
        /// Get all the products available<br />
        /// GET: api/Products<br />
        /// &lt;/summary&gt;<br />
        public IQueryable&lt;Product&gt; GetProducts()<br />
        {<br />
            return db.Products;<br />
        }<br />
        #endregion</p>
<p>        #region GetProductWithParameter<br />
        /// &lt;summary&gt;<br />
        /// Get a single product<br />
        /// GET: api/Products/5<br />
        /// &lt;param name=&quot;id&quot;&gt;&lt;/param&gt;<br />
        /// &lt;/summary&gt;<br />
        [ResponseType(typeof(Product))]<br />
        public IHttpActionResult GetProduct(int id)<br />
        {<br />
            Product product = db.Products.Find(id);<br />
            if (product == null)<br />
            {<br />
                return NotFound();<br />
            }</p>
<p>            return Ok(product);<br />
        }<br />
        #endregion<br />
[/csharp]</p>
<p>Now run your application and see the help page. Still the same result? Hmm, here comes the things we need to do. I will explain that. </p>
<li>Go to Areas\HelpPage\App_Start and click on the file <em>HelpPageConfig.cs</em>.</li>
<li>Uncomment the following line from the static function Register. </li>
<p>[csharp]<br />
config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath(&quot;App_Data/XmlDocument.xml&quot;)));<br />
[/csharp]</p>
<li>Right click on your project and go to properties, then click on Build</li>
<li>Go to Output section and click on XML documentation file and then type <em>~/App_Data/XmlDocument.xml</em> in the given text box. </li>
<li>Save and build your project.</li>
<p>This will create a XML document with the name <em>XmlDocument.xml</em> in App_Data folder. Once it is generated, the summary you have described in your API controller will be listed there. Initially the file will be in excluded state, you may need to include the same to your project when you deploy your API application. For that please follows the below steps. </p>
<li>Click on show all files.</li>
<li>Click on Refresh.</li>
<li>Go to App_Data folder and find XmlDocument.xml.</li>
<li>Right click the file and click Include In Project.</li>
<p>That&#8217;s all. Run your application and see the Help page again. Hope you get the page as follows. </p>
<div id="attachment_11559" style="width: 660px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2016/05/API-Help-Page-With-Descriptions-e1463033550891.png"><img decoding="async" aria-describedby="caption-attachment-11559" src="http://sibeeshpassion.com/wp-content/uploads/2016/05/API-Help-Page-With-Descriptions-e1463033550891.png" alt="API Help Page With Descriptions" width="650" height="361" class="size-full wp-image-11559" srcset="/wp-content/uploads/2016/05/API-Help-Page-With-Descriptions-e1463033550891.png 650w, /wp-content/uploads/2016/05/API-Help-Page-With-Descriptions-e1463033550891-300x167.png 300w, /wp-content/uploads/2016/05/API-Help-Page-With-Descriptions-e1463033550891-400x222.png 400w" sizes="(max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-11559" class="wp-caption-text">API Help Page With Descriptions</p></div>
<p>Have a happy coding!.</p>
<p><strong>Conclusion</strong></p>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<p><strong>Your turn. What do you think?</strong></p>
<p>A blog isn&#8217;t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/working-with-api-help-page-controller-action-description-in-web-api/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
