AppActs.Client.WebSite.App_Base.DataTableConverter.Serialize C# (CSharp) Method

Serialize() public method

public Serialize ( object obj, System.Web.Script.Serialization.JavaScriptSerializer serializer ) : object>.IDictionary
obj object
serializer System.Web.Script.Serialization.JavaScriptSerializer
return object>.IDictionary
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            DataTable dataTable = obj as DataTable;

            if (dataTable != null)
            {
                Dictionary<string, object> dicRows = new Dictionary<string, object>();

                ArrayList list = new ArrayList();

                Action<Dictionary<string, object>, DataTable, int> populateColumns = this.populateColumnsOne;

                if (dataTable.Columns.Count == 2)
                    populateColumns = this.populateColumnsTwo;

                if (dataTable.Columns.Count == 3)
                    populateColumns = this.populateColumnsThree;

                if (dataTable.Columns.Count == 4)
                    populateColumns = this.populateColumnsFour;

                if (dataTable.Columns.Count == 5)
                    populateColumns = this.populateColumnsFive;

                if (dataTable.Columns.Count == 6)
                    populateColumns = this.populateColumnsSix;

                if (dataTable.Columns.Count == 7)
                    populateColumns = this.populateColumnsSeven;

                if (dataTable.Columns.Count == 8)
                    populateColumns = this.populateColumnsEight;

                if (dataTable.Columns.Count == 9)
                    populateColumns = this.populateColumnsNine;

                if (dataTable.Columns.Count == 10)
                    populateColumns = this.populateColumnsTen;

                if (dataTable.Columns.Count == 11)
                    populateColumns = this.populateColumnsEleven;

                if (dataTable.Columns.Count == 12)
                    populateColumns = this.populateColumnsTwelve;

                if (dataTable.Columns.Count == 13)
                    populateColumns = this.populateColumnsThirteen;

                if (dataTable.Columns.Count == 14)
                    populateColumns = this.populateColumnsFourteen;

                if (dataTable.Columns.Count == 15)
                    populateColumns = this.populateColumnsFithteen;

                for (int i = 0; i < dataTable.Rows.Count; i ++)
                {
                    Dictionary<string, object> dicRow = new Dictionary<string, object>();
                    populateColumns(dicRow, dataTable, i);
                    list.Add(dicRow);
                }

                dicRows.Add("Data", list);

                return dicRows;
            }

            return null;
        }