public ActionResult SelectTab(int selectedColumn, int selectedTab, int selectedFile)
        {
            ConfigureFileTypeViewIndex viewInfo = new ConfigureFileTypeViewIndex();

            viewInfo.SelectedFile = selectedFile;
            viewInfo.SelectedTab = selectedTab;
            viewInfo.SelectedColumn = selectedColumn;

            viewInfo = SetFile(viewInfo);
            viewInfo = SetTab(viewInfo);
            viewInfo = SetColumn(viewInfo);

            return View("Index", viewInfo);
        }
        //
        // GET: /ConfigureFileType/
        public ActionResult Index()
        {
            ConfigureFileTypeViewIndex viewInfo = new ConfigureFileTypeViewIndex
            {
                SelectedFile = 0,
                SelectedTab = 0,
                SelectedColumn = 0
            };

            viewInfo = SetFile(viewInfo);
            viewInfo = SetTab(viewInfo);
            viewInfo = SetColumn(viewInfo);

            return View(viewInfo);
        }
 public ActionResult Index(ConfigureFileTypeViewIndex viewInfo)
 {
     viewInfo = SetTab(viewInfo);
     viewInfo = SetColumn(viewInfo);
     return View(viewInfo);
 }
        private ConfigureFileTypeViewIndex SetTab(ConfigureFileTypeViewIndex viewInfo)
        {
            ConfigureFileTypeViewIndexTab t = new ConfigureFileTypeViewIndexTab();

            int fileID = viewInfo.SelectedFile;

            if (viewInfo.SelectedTab == 0)
            {
                // we need to populate the list for the view
                // first entry in the list should be the select something entry
                t.TabTypeDbID = 0;
                t.TabTypeName = "Please select a tab";
                viewInfo.TabList.Add(t);
            }

            var tabs = db.WhichTabsInWhichFiles.Where(x => x.FileTypeID == fileID).Select(x => x.TabTypeID);

            foreach (var tabTypeId in tabs)
            {
                var tabTypeInfo = db.IngestionTabTypes.Find(tabTypeId);
                t = new ConfigureFileTypeViewIndexTab();
                t.TabTypeDbID = tabTypeInfo.Id;
                t.TabTypeName = tabTypeInfo.IngestionTabTypeName;
                viewInfo.TabList.Add(t);
            }

            return viewInfo;
        }
        private ConfigureFileTypeViewIndex SetFile(ConfigureFileTypeViewIndex viewInfo)
        {
            ConfigureFileTypeViewIndexFile f = new ConfigureFileTypeViewIndexFile();

            int fileID = viewInfo.SelectedFile;

            if (fileID == 0)
            {
                // we need to populate the list for the view
                // first entry in the list should be the select something entry
                f.FileTypeDbID = 0;
                f.FileTypeName = "Please select a file";
                viewInfo.FileList.Add(f);
            }

               foreach (var fileType in db.IngestionFileTypes)
            {
                f = new ConfigureFileTypeViewIndexFile();
                f.FileTypeDbID = fileType.Id;
                f.FileTypeName = fileType.IngestionFileTypeName;
                viewInfo.FileList.Add(f);
            }

            return viewInfo;
        }
        private ConfigureFileTypeViewIndex SetColumn(ConfigureFileTypeViewIndex viewInfo)
        {
            ConfigureFileTypeViewIndexColumn c = new ConfigureFileTypeViewIndexColumn();

            int tabID = viewInfo.SelectedTab;

            if (viewInfo.SelectedColumn == 0)
            {
                // we need to populate the list for the view
                // first entry in the list should be the select something entry
                c.ColumnTypeDbID = 0;
                c.ColumnTypeName = "Please select a column";
                viewInfo.ColumnList.Add(c);
            }

            var columns = db.WhichColumnsInWhichTabs.Where(x => x.TabID == tabID).Select(x => x.ColumnID);

            foreach (var columnTypeId in columns)
            {
                var columnTypeInfo = db.IngestionColumnTypes.Find(columnTypeId);
                c = new ConfigureFileTypeViewIndexColumn();
                c.ColumnTypeDbID = columnTypeInfo.Id;
                c.ColumnTypeName = columnTypeInfo.IngestionColumnTypeName;
                viewInfo.ColumnList.Add(c);
            }

            return viewInfo;
        }