public TEntity MapRow(DataRow row)
        {
            //Step 1 - Get the Column Names
            var columnNames = row.Table.Columns
                              .Cast <DataColumn>()
                              .Select(x => x.ColumnName)
                              .ToList();

            //Step 2 - Get the Property Data Names
            var properties = (typeof(TEntity)).GetProperties()
                             .Where(x =>
                                    x.GetCustomAttributes(typeof(DataNamesAttribute), true).Any())
                             .ToList();

            //Step 3 - Map the data
            TEntity entity = new TEntity();

            foreach (var prop in properties)
            {
                PropertyMapHelper.Map(typeof(TEntity), row, prop, entity);
            }

            return(entity);
        }