Create OxyPlot pie-chart for Xamarin.Forms application

Currently, I am testing the waters of mobile development using Xamarin.Forms. For those who have not heard of it yet, as per its developer guides

“Xamarin.Forms is a cross-platform, natively backed UI toolkit abstraction that allows developers to easily create user interfaces that can be shared across Android, iOS, Windows and Windows Phone.”

It’s a great way to delve into mobile development for a C# developer. It allows to build native user interfaces for iOS, Android and Windows Phone wherein nearly 75% of the app code is shared across these platforms.

As a part of my pet project, I needed a pie-chart  and came across OxyPlot , an open source plot generation library, which was suitable for me. However, I had to overcome a number of hurdles before I could get everything working. So, this is my effort to document the steps of creating OxyPlot pie-chart for a mobile app built using Xamarin.Forms. So, here it goes! Continue reading

How to resolve JSON serialization error in Telerik MVC grid to populate large dataset

For the past year, I have been working with Telerik MVC extensions. When I initially started, it seemed a good idea to use these controls event though I was aware that Telerik no longer supported these controls. Down the line,  I came across several instances where I wished I had used some other controls to begin with. Anyway, that is not to say that these controls are not handy. They are very useful if you want to get an application ready with few controls here and there, without having to go into the details.

But sometimes it is just a pure headache. I encountered an issue where I got a “JSON serialization error” when trying to load a large data-set into the telerik mvc grid using Ajax binding. The Data Access layer and the back-end scripts seemed to be populating the right data-set into the model. But when the exception occurred when the model had to be rendered into the telerik mvc grid.


I tried increasing the maxLength in the web.config (as suggested in StackOverFlow posts) but that did not resolve the issue. The first assumption was that the since the JsonResult class caused the serialized JSON string to exceed the default maximum string of the JavaScriptSerializer class, this should have fixed the issue. Well, it did not fix the issue as the value of the MaxJsonLength only applies to the internal JavaScriptSerializer used by asynchronous communication layer to invoke Web services methods.


Continue reading

Copy data to clipboard using javascript

Having been a programmer for more than 8 years now, I feel I still cannot grasp the functionalities that would make the end-users happy. These might be a mere few lines of code from a technical perspective, but these might very well make the end-users very happy.

I came across one of such incident recently. One of the user of my application was an elderly person who had to type in so many numbers from one system to a third-party system (among many tasks). So, we added a “Copy” icon for her to copy those numbers on a button and simply paste them in the other system. I was really amazed by her gratification. And it made me realize no matter who complex algorithm or architecture we design for our customers, it won’t matter until it helps them in one way or the another.

Okay. Enough of the background. Let’s get to the technical nitty-gritty now. I was surprised how hard it was to find a suitable method to copy “stuffs” to the clipboard. Of course, I came across several javascript libraries such as clipboard.js and zeroclipboard which claims to do the job in few simple steps. But I didn’t want to use any extra javascript libraries. After devouring stackoverflow for a significant amount of time, I came across a solution that just use pure javascript.

The following javascript function ‘copyData()’ uses ‘document.execCommand(‘copy’)‘ to copy the currently ‘highlighted’ data to the clipboard. ‘execCommand()‘ is an Internet Explorer-based statement that allows the browser to execute a command specified as its argument. As you can see below, we have a hidden textarea , which will hold the text to be copied passed as argument to the function ‘copyData()’. The ‘data’ will be placed in the hidden textarea and is highlighted and then will be copied to the clipboard.

Continue reading

Create a fully-functional Dashboard using MVC4

Nowadays, almost all applications have a dashboard that provide a “easy to read, single page, real-time user interface” which shows that current status of the application, usually as a graphical representation. Dashboards provide snapshots and historical trends of the key performance indicators (KPIs) that help the end-users to obtain information at a glance.

In this article, I am going to outline the steps to create a simple but fully-functional dashboard using ASP.NET MVC4. For demonstration purpose, I have persisted the data in a session variable. To real-time project, this would be replaced by a database call. For demo, I have created a dashboard with four portlets ( or dashboard items) as shown below.


Let’s get started.

Continue reading

qTip Implementation in MVC Partial View

Recently, I came across a task wherein I had to show a list of dynamic information in a tooltip in a MVC project. So, I started playing around with qTip. My intent was to load the dynamic information within partial view and to load that partial view inside a qTip tooltip.

This article outlines the steps to show partial view in a tooltip using qTip. For demonstration purpose, we will create a list of events and will show the event details in the tooltip.

1. Create a MVC application.  The first step would be to download the necessary javascript files and css files to implement qTip2. This can be done by either using CDN from or by installing the Nuget Package using the following command. This will install the necessary jquery dependencies, script files and css files.


Continue reading

Multiple submit buttons in a MVC4 view using custom attribute

This post is targeted to anyone who is a beginner in MVC and finds oneself fidgeting over difficulties encountered during its learning curve.  While MVC is a very interesting architecture to work with, I personally felt it really tests one’s patience until you get a hang of it.

One of the common issues that most people face as a MVC novice developer is implementing multiple submit buttons in a form in MVC view. Recently, I had a similar scenario and thought it would a good idea to put it into an article for future reference.

The following three steps elaborate the solution to this problem.

1. We need to create a custom attribute that would match the action name with the name attribute of the button.


Continue reading

Render MVC partial view inside bootstrap modal dialog

In this article, I am going to show you how to create a modal dialog using bootstrap and then load a MVC partial view in the dialog.

The steps are explained below with screenshots.

1. We need to have a modal container in the main layout page. All the dialogs will be loaded inside this container. I have hardcoded the styles for now. It is recommended that all the styles be put in a separate stylesheet file.


2. Now, we need to add the needed javascript. This script will make an internal Ajax call and will inject the content of the partial view inside the modal container div.


Continue reading