JavaScript Encapsulation

I have been writing so much more JavaScript /jQuery the last couple of years with the boom of HTML5.

These newer Websites and Mobile Apps (Hybrid Apps) use JavaScript at the core. The Hybrid Apps are basically 100% code from JavaScript even the data layers and entities.

I have created jQuery plug-ins in the past, but more and more now I approach my code by encapsulating JavaScript.  This is required to create a good separation between all the JavaScript in modern apps to avoid any collisions. 

Here is an example of a JavaScript Namespace call "myUIFunctions" inside of myUIFunctions are locally scoped variables and public and private functions.

1. Create an instance of myUIFunctions and calling a public function.

 $(function () {
    var myUI = new myUIFunctions();
     myUI.thisIsPublic("value passed");

2. Here are all the functions in myUIFunctions.

function myUIFunctions() {
    var _locallyScopedVar;

    this.thisIsPublic = function(value )
        console.log("Pubic Function " + value);

    function thisIsPrivate()
        console.log("Private Function");

3. Console Results

Pubic Function value passed
Private Function


Dapper ORM .NET Quick Start

I have been using NHibernate for large corporate projects for a while now, but wanted to leverage a lighter ORM for some personal projects.  I did not want the overhead of configuring NHibernate and wanted something "lighter".

I have heard many developers discuss Dapper. I was interested in looking into it, but I do not like InLine SQL. I would rather use LINQ. On GitHub there is a package called SQLinq for Dapper!

The screen shots below (and ZIP file Download) shows using Dapper with Inline SQL and LINQ over a SQL Server Northwind Database. This project is a console app built in Visual Studio 2015.

If you decided to use this sample project you will need to update your connection string. (To keep this simple I am not documenting the connection method here)

1. Create a Customer Entity

2. Dapper Inline SQL Example

3. Dapper LINQ Sample

4. Console App Results

 Download C# Console App Source

Scroll to Top of Bootstrap Modal / Panels

When opening a Boostrap Modal Window (or switching Boostrap Panels) and you scrolled the content previously, it will retain the position. Here are two methods to scroll the content back to the top after opening the modal again.

There was change in boostrap where you need to use: on or use a function call.

//call a function when you show the modal window (I opted for this method)
<button onclick="showSMSSummary(); return false;" data-toggle="tooltip" title="Click To iew Summary" class="btn btn-primary btn-sm">SMS Summary</button>

function showSMSSummary()
     $('#HelpScreenModal').animate({ scrollTop: 0 }, 'fast');