Guest User

Untitled

a guest
Dec 20th, 2018
123
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. target="_blank">
  28. <span class="@GlyphionModelIcon"></span>
  29. </a>
  30. </div>
  31. <div class="col-sm-5">@Model.Id</div>
  32. <div class="col-sm-5">@Model.Name</div>
  33. </div>
  34.  
  35. @foreach (var parentFolder in Model)
  36. {
  37. Stack<Folder> folderStack = new Stack<Folder>();
  38. folderStack.Push(parentFolder);
  39. var currentFolder = folderStack.Pop();
  40. int dummyCounter = 1;
  41.  
  42. //Parent folder
  43. @Html.Partial("_Folder", parentFolder);
  44.  
  45. <div class="collapse" id="@currentFolder.Id">
  46.  
  47. @if (currentFolder.FoldersContained != 0)
  48. {
  49. do
  50. {
  51. //Prevents a copy of the parent folder
  52. //otherwise, this display nested folders
  53. if (dummyCounter != 1)
  54. {
  55. @Html.Partial("_Folder", currentFolder);
  56. }
  57.  
  58. <div class="collapse" id="@currentFolder.Id">
  59. @if (currentFolder.FoldersContained > 0)
  60. {
  61. for (int i = currentFolder.FoldersContained; i > 0; i--)
  62. {
  63. //Pushes all nested directories into my stack
  64. //in reverse inorder to display the top directory
  65. folderStack.Push(currentFolder.Folders[i - 1]);
  66. dummyCounter++;
  67. }
  68. }
  69.  
  70. @if (currentFolder.FilesContained != 0)
  71. {
  72. // Should they contain any files, display them
  73. foreach (var file in currentFolder.Files)
  74. {
  75. @Html.Partial("_File", file);
  76. }
  77. }
  78. </div>
  79.  
  80. //Ends the while loop
  81. if (folderStack.Count == 0)
  82. {
  83. dummyCounter = 0;
  84. }
  85.  
  86. //Prepares the next nested folder object
  87. if (folderStack.Count != 0)
  88. {
  89. currentFolder = folderStack.Pop();
  90. }
  91.  
  92. // I make use of a dummy counter inorder to break the loop
  93. // should there no longer be any nested directories and files
  94. // left to display
  95. } while (dummyCounter != 0);
  96. }
  97.  
  98. <!-- //Finally, display all files in the parent folder, should there be any-->
  99. @if (parentFolder.FilesContained != 0)
  100. {
  101. foreach (var file in parentFolder.Files)
  102. {
  103. @Html.Partial("_File", file);
  104. }
  105. }
  106. </div>
  107. }
Add Comment
Please, Sign In to add comment