Guest User

Untitled

a guest
Dec 20th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. @{
  2. string GlyphionFolderIcon = "glyphicon glyphicon-folder-open";
  3. }
  4. <div class="row">
  5. <div class="col-sm-2">
  6. <a class="btn"
  7. role="button"
  8. data-toggle="collapse"
  9. href="#@Model.Id"
  10. aria-expanded="false"
  11. aria-controls="@Model.Id">
  12. <span class="@GlyphionFolderIcon"></span>
  13. </a>
  14. </div>
  15. <div class="col-sm-5">@Model.Id</div>
  16. <div class="col-sm-5">@Model.Name</div>
  17.  
  18. @{
  19. string GlyphionModelIcon = "glyphicon glyphicon-paperclip";
  20. }
  21.  
  22.  
  23. <div class="row">
  24. <div class="col-sm-2">
  25. <a class="btn"
  26. role="button"
  27. href="@webUrl@Model.Url"
  28. target="_blank">
  29. <span class="@GlyphionModelIcon"></span>
  30. </a>
  31. </div>
  32. <div class="col-sm-5">@Model.Id</div>
  33. <div class="col-sm-5">@Model.Name</div>
  34. </div>
  35.  
  36. @foreach (var parentFolder in Model)
  37. {
  38. Stack<Folder> folderStack = new Stack<Folder>();
  39. folderStack.Push(parentFolder);
  40. var currentFolder = folderStack.Pop();
  41. int dummyCounter = 1;
  42.  
  43. //Parent folder
  44. @Html.Partial("_Folder", parentFolder);
  45.  
  46. <div class="collapse" id="@currentFolder.Id">
  47.  
  48. @if (currentFolder.FoldersContained != 0)
  49. {
  50. do
  51. {
  52. //Prevents a copy of the parent folder
  53. //otherwise, this display nested folders
  54. if (dummyCounter != 1)
  55. {
  56. @Html.Partial("_Folder", currentFolder);
  57. }
  58.  
  59. <div class="collapse" id="@currentFolder.Id">
  60. @if (currentFolder.FoldersContained > 0)
  61. {
  62. for (int i = currentFolder.FoldersContained; i > 0; i--)
  63. {
  64. //Pushes all nested directories into my stack
  65. //in reverse inorder to display the top directory
  66. folderStack.Push(currentFolder.Folders[i - 1]);
  67. dummyCounter++;
  68. }
  69. }
  70.  
  71. @if (currentFolder.FilesContained != 0)
  72. {
  73. // Should they contain any files, display them
  74. foreach (var file in currentFolder.Files)
  75. {
  76. @Html.Partial("_File", file);
  77. }
  78. }
  79. </div>
  80.  
  81. //Ends the while loop
  82. if (folderStack.Count == 0)
  83. {
  84. dummyCounter = 0;
  85. }
  86.  
  87. //Prepares the next nested folder object
  88. if (folderStack.Count != 0)
  89. {
  90. currentFolder = folderStack.Pop();
  91. }
  92.  
  93. // I make use of a dummy counter inorder to break the loop
  94. // should there no longer be any nested directories and files
  95. // left to display
  96. } while (dummyCounter != 0);
  97. }
  98.  
  99. <!-- //Finally, display all files in the parent folder, should there be any-->
  100. @if (parentFolder.FilesContained != 0)
  101. {
  102. foreach (var file in parentFolder.Files)
  103. {
  104. @Html.Partial("_File", file);
  105. }
  106. }
  107. </div>
  108. }
Add Comment
Please, Sign In to add comment