PAWA.Classes.AlbumGrid.CreateTable C# (CSharp) Method

CreateTable() public method

public CreateTable ( int folderID = null ) : List
folderID int
return List
        public List<string> CreateTable(int? folderID = null)
        {
            IEnumerable<Folder> folders = GetFolders(folderID);
            IEnumerable<File> files = GetFiles(folderID);
            string htmlOutput = "";
            List<string> htmlTables = new List<string>();
            int i = 0, foldersIndex = 0, filesIndex = 0, count = 0;
            bool exitFiles = false, exitFolders = false;
            int exitCount = folders.Count() + files.Count();
            exitCount = (exitCount / TilesPerPage) + 1;
            do
            {
                htmlOutput = "<table class=\"body-content-table\" id=\"table-" + htmlTables.Count() + "\">" +
                    "<tr><td colspan=\"" + TilesPerRow + "\"><div id=\"table-header-page-count\">Page " + (htmlTables.Count() + 1) + "</div>\n";

                for(var j=0; j<(TilesPerPage/TilesPerRow); j++)
                {
                    htmlOutput += "<tr>\n";

                    for (i = 0; i < TilesPerRow; i++)
                    {
                        // Add folders to table
                        if (!exitFolders)
                        {
                            // no more folders at current level
                            if (foldersIndex >= folders.Count())
                            {
                                exitFolders = true;
                            }

                            if (!exitFolders)
                            {
                                htmlOutput += "<td>\n<div class='body-content-table-link' href=\"./Album?folderID=" + folders.ElementAt(foldersIndex).FolderID + "\">" +
                                "<img src=\"../../Images/folder.png\" class=\"body-content-table-image\"/>\n" +
                                "<input type=\"checkbox\" class=\"body-content-table-checkbox\" id=\"" +
                            folders.ElementAt(foldersIndex).FolderID.ToString() + "_folder\" name=\"" +
                            folders.ElementAt(foldersIndex).FolderID.ToString() + "_folder\" />\n" +
                            "<div class=\"body-content-table-folder-text\">" + folders.ElementAt(foldersIndex).FolderName +
                            "</div></div></td>";

                                foldersIndex++;
                            }
                        }

                        // Add files to table
                        if (exitFolders)
                        {
                            if (filesIndex >= files.Count())
                            {
                                exitFiles = true;
                            }

                            // fill the rest of the final row to maintain proper <td> width if there is only
                            // one row of data. Doesn't fill if at start of row, don't want full row of fakes.
                            if (exitFiles)
                            {
                                htmlOutput += "<td>\n<span class=\"body-content-table-fakeimage\"/></span>\n"; ;
                            }
                            else
                            {
                                string[] fileExtension = files.ElementAt(filesIndex).Filename.Split('.');

                                htmlOutput += "<td>\n<div class=\"body-content-table-link\" href=\"../../Image/DisplayImage?filename=" + files.ElementAt(filesIndex).Filename +
                                "\"><img src=\"../../Images/User/" + fileExtension[0] + "_thumb." + fileExtension[1] +
                                "\" class=\"body-content-table-image\"/>\n" +
                                "<input type=\"checkbox\" class=\"body-content-table-checkbox\" name=\"" +
                                files.ElementAt(filesIndex).FileID.ToString() + "\" id=\"" +
                                files.ElementAt(filesIndex).FileID.ToString() + "\" /></div>\n</td>";

                                filesIndex++;
                            }
                        }
                    }

                    htmlOutput += "</tr>\n";
                }
                count++;
                htmlOutput += "</table>\n";
                htmlTables.Add(htmlOutput);
            } while (count < exitCount);

            return htmlTables;
        }

Usage Example

Exemplo n.º 1
0
        public ActionResult Album(string DropDownList, string Submit, AlbumViewModel avm)
        {
            //If the go button was pushed and the dropdown was delete
            if (Submit != null && DropDownList.Equals("Delete"))
            {
                //Call Delete Method
                DeleteImage deleteImage = new DeleteImage();
                deleteImage.deleteMultipleImages(Request, Server);
                DeleteFolder deleteFolder = new DeleteFolder();
                deleteFolder.deleteFolder(Request, Server);
            }
            if (Submit != null && DropDownList.Equals("Move"))
            {

            }
            // Recreate the grid tables
            AlbumGrid ag = new AlbumGrid(dbContext);
            avm.AlbumGridTable = ag.CreateTable(avm.FolderID);

                /*
            AlbumViewModel avm = new AlbumViewModel
            {
                AlbumGridTable = (ag.CreateTable(folderID)),
                InFolderID = f.getParentID(folderID).ToString()
            };
                 * */

            //Re-load the view
            return View(avm);
        }
All Usage Examples Of PAWA.Classes.AlbumGrid::CreateTable