From 990b303eeafb3770d31216fd3c478bbb13e680bf Mon Sep 17 00:00:00 2001 From: "l.gabrysiak" Date: Wed, 21 Aug 2024 16:45:47 +0200 Subject: [PATCH] SimpleLMS init --- .DS_Store | Bin 6148 -> 6148 bytes src/.DS_Store | Bin 0 -> 8196 bytes src/Plugins/.DS_Store | Bin 0 -> 8196 bytes .../Nop.Plugin.Misc.SimpleLMS/.DS_Store | Bin 0 -> 10244 bytes .../Areas/Admin/.DS_Store | Bin 0 -> 6148 bytes .../Admin/Controllers/CourseController.cs | 857 + .../Admin/Controllers/SettingsController.cs | 85 + .../Factories/AdminCourseModelFactory.cs | 300 + .../Areas/Admin/Models/AttachmentModel.cs | 28 + .../Areas/Admin/Models/ConfigurationModel.cs | 26 + .../Areas/Admin/Models/CourseListModel.cs | 17 + .../Areas/Admin/Models/CourseModel.cs | 64 + .../Areas/Admin/Models/CourseSearchModel.cs | 24 + .../Areas/Admin/Models/LessonModel.cs | 80 + .../Areas/Admin/Models/SectionModel.cs | 34 + .../Areas/Admin/Models/SortRecord.cs | 16 + .../Areas/Admin/Models/SortableEntity.cs | 22 + .../Areas/Admin/Models/VideoModel.cs | 34 + .../Admin/Validators/AttachmentValidator.cs | 26 + .../Areas/Admin/Validators/CourseValidator.cs | 24 + .../Areas/Admin/Validators/LessonValidator.cs | 41 + .../Admin/Validators/SectionValidator.cs | 26 + .../Areas/Admin/Validators/VideoValidator.cs | 30 + .../Areas/Admin/Views/Course/Create.cshtml | 34 + .../Areas/Admin/Views/Course/Edit.cshtml | 51 + .../Areas/Admin/Views/Course/List.cshtml | 183 + .../Course/_CreateOrUpdate.Attachment.cshtml | 29 + .../_CreateOrUpdate.CourseContent.cshtml | 297 + .../Views/Course/_CreateOrUpdate.Info.cshtml | 35 + .../Course/_CreateOrUpdate.Lesson.cshtml | 46 + ..._CreateOrUpdate.Lesson_CreateOrEdit.cshtml | 265 + .../Course/_CreateOrUpdate.Lessons.cshtml | 17 + .../Course/_CreateOrUpdate.Section.cshtml | 43 + ...CreateOrUpdate.Section_CreateOrEdit.cshtml | 112 + .../Course/_CreateOrUpdate.Sections.cshtml | 16 + .../Course/_CreateOrUpdate.Sortable.cshtml | 154 + .../Views/Course/_CreateOrUpdate.Video.cshtml | 29 + .../Admin/Views/Course/_CreateOrUpdate.cshtml | 46 + .../Admin/Views/Settings/Configure.cshtml | 66 + .../Settings/_CreateOrUpdate.VdoCipher.cshtml | 26 + .../Settings/_CreateOrUpdate.Vimeo.cshtml | 44 + .../Settings/_CreateOrUpdate.Youtube.cshtml | 25 + .../Areas/Admin/Views/_ViewImports.cshtml | 62 + .../Areas/Admin/Views/_ViewStart.cshtml | 3 + .../Components/CustomViewComponent.cs | 20 + .../Content/.DS_Store | Bin 0 -> 6148 bytes .../Content/Admin/css/simplelms.css | 134 + .../Admin/images/ajax-loader-small.gif | Bin 0 -> 673 bytes .../Content/Admin/images/close.png | Bin 0 -> 989 bytes .../Content/Admin/images/loading.gif | Bin 0 -> 1688 bytes .../Content/Admin/images/text.png | Bin 0 -> 7790 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 208 bytes .../Admin/images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../Content/Admin/images/video-player.png | Bin 0 -> 15365 bytes .../Content/Public/Productstyle.css | 208 + .../Controllers/Customer.cs | 151 + .../Domains/Attachment.cs | 28 + .../Domains/AttachmentType.cs | 11 + .../Domains/Course.cs | 56 + .../Domains/CourseProgress.cs | 16 + .../Domains/CourseStat.cs | 16 + .../Domains/CustomTable.cs | 9 + .../Domains/IDisplayOrder.cs | 22 + .../Domains/Lesson.cs | 40 + .../Domains/LessonAttachment.cs | 20 + .../Domains/LessonProgress.cs | 20 + .../Domains/LessonType.cs | 11 + .../Domains/Section.cs | 19 + .../Domains/SectionLesson.cs | 21 + .../Domains/SortRecordType.cs | 14 + .../Domains/Video.cs | 33 + .../Domains/VideoType.cs | 12 + .../Events/EventConsumer.cs | 35 + .../Factories/CourseModelFactory.cs | 228 + .../Infrastructure/PluginNopStartup.cs | 45 + .../Infrastructure/RouteProvider.cs | 54 + .../SimpleLMSMapperConfiguration.cs | 55 + .../Infrastructure/ViewLocationExpander.cs | 36 + .../Mapping/Builders/AtttachmentBuilder.cs | 31 + .../Mapping/Builders/CourseBuilder.cs | 35 + .../Mapping/Builders/CourseProgressBuilder.cs | 23 + .../Builders/LessonAttachmentBuilder.cs | 25 + .../Mapping/Builders/LessonBuilder.cs | 39 + .../Mapping/Builders/LessonProgressBuilder.cs | 28 + .../Mapping/Builders/PluginBuilder.cs | 17 + .../Mapping/Builders/SectionBuilder.cs | 24 + .../Mapping/Builders/SectionLessonBuilder.cs | 26 + .../Mapping/Builders/VideoBuilder.cs | 31 + .../Mapping/NameCompatibility.cs | 25 + .../Migrations/SchemaMigration.cs | 73 + .../Models/CourseDetail.cs | 46 + .../Models/CourseOverviewListModel.cs | 23 + .../Models/CourseOverviewModel.cs | 22 + .../Models/CourseSearchModel.cs | 25 + .../Models/LessonDetail.cs | 59 + .../Models/LessonStatusModel.cs | 20 + .../Models/SectionDetail.cs | 43 + .../Models/VideoDetail.cs | 32 + .../Nop.Plugin.Misc.SimpleLMS.csproj | 235 + .../Nop.Plugin.Misc.SimpleLMS.csproj.user | 6 + .../Nop.Plugin.Misc.SimpleLMS/README.md | 11 + .../Services/CourseService.cs | 652 + .../SimpleLMSDefaults.cs | 19 + .../SimpleLMSPlugin.cs | 165 + .../SimpleLMSSettings.cs | 19 + .../Nop.Plugin.Misc.SimpleLMS/Views/.DS_Store | Bin 0 -> 6148 bytes .../Views/Customer/CoursesDetails.cshtml | 220 + .../Views/Customer/List.cshtml | 188 + .../Views/Customer/_CourseDetailRoot.cshtml | 16 + .../Views/Customer/_LessonContent.cshtml | 38 + .../Views/Customer/_MyCourseList.cshtml | 99 + .../Views/_ViewImports.cshtml | 51 + .../Nop.Plugin.Misc.SimpleLMS/logo.jpg | Bin 0 -> 5530 bytes .../Nop.Plugin.Misc.SimpleLMS/obj/.DS_Store | Bin 0 -> 6148 bytes ...CoreApp,Version=v5.0.AssemblyAttributes.cs | 4 + .../Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs | 23 + ...in.Misc.SimpleLMS.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 8 + .../Nop.Plugin.Misc.SimpleLMS.assets.cache | Bin 0 -> 23043 bytes ...c.SimpleLMS.csproj.AssemblyReference.cache | Bin 0 -> 11567 bytes ....Plugin.Misc.SimpleLMS.csproj.CopyComplete | 0 ...c.SimpleLMS.csproj.CoreCompileInputs.cache | 1 + ...Misc.SimpleLMS.csproj.FileListAbsolute.txt | 969 ++ ...sc.SimpleLMS.csprojAssemblyReference.cache | Bin 0 -> 312875 bytes .../net5.0/Nop.Plugin.Misc.SimpleLMS.dll | Bin 0 -> 209408 bytes .../net5.0/Nop.Plugin.Misc.SimpleLMS.pdb | Bin 0 -> 66012 bytes .../net5.0/ref/Nop.Plugin.Misc.SimpleLMS.dll | Bin 0 -> 60928 bytes ...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 + .../Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs | 23 + ...in.Misc.SimpleLMS.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 11 + .../Nop.Plugin.Misc.SimpleLMS.assets.cache | Bin 0 -> 187302 bytes ...c.SimpleLMS.csproj.AssemblyReference.cache | Bin 0 -> 69645 bytes ....Plugin.Misc.SimpleLMS.csproj.CopyComplete | 0 ...c.SimpleLMS.csproj.CoreCompileInputs.cache | 1 + ...Misc.SimpleLMS.csproj.FileListAbsolute.txt | 343 + .../net6.0/Nop.Plugin.Misc.SimpleLMS.dll | Bin 0 -> 257536 bytes .../net6.0/Nop.Plugin.Misc.SimpleLMS.pdb | Bin 0 -> 74548 bytes .../net6.0/ref/Nop.Plugin.Misc.SimpleLMS.dll | Bin 0 -> 71680 bytes .../refint/Nop.Plugin.Misc.SimpleLMS.dll | Bin 0 -> 71680 bytes ...in.Misc.SimpleLMS.csproj.nuget.dgspec.json | 543 + ...Plugin.Misc.SimpleLMS.csproj.nuget.g.props | 21 + ...ugin.Misc.SimpleLMS.csproj.nuget.g.targets | 6 + ...CoreApp,Version=v5.0.AssemblyAttributes.cs | 4 + .../Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs | 23 + ...in.Misc.SimpleLMS.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 8 + .../Nop.Plugin.Misc.SimpleLMS.assets.cache | Bin 0 -> 146110 bytes ...sc.SimpleLMS.csprojAssemblyReference.cache | Bin 0 -> 4145 bytes .../obj/project.assets.json | 14516 ++++++++++++++++ .../obj/project.nuget.cache | 310 + .../Nop.Plugin.Misc.SimpleLMS/plugin.json | 11 + 152 files changed, 23829 insertions(+) create mode 100644 src/.DS_Store create mode 100644 src/Plugins/.DS_Store create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/.DS_Store create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/.DS_Store create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Controllers/CourseController.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Controllers/SettingsController.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Factories/AdminCourseModelFactory.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/AttachmentModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/ConfigurationModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/CourseListModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/CourseModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/CourseSearchModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/LessonModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/SectionModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/SortRecord.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/SortableEntity.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Models/VideoModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Validators/AttachmentValidator.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Validators/CourseValidator.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Validators/LessonValidator.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Validators/SectionValidator.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Validators/VideoValidator.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/Create.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/Edit.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/List.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Attachment.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.CourseContent.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Info.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Lesson.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Lesson_CreateOrEdit.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Lessons.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Section.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Section_CreateOrEdit.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Sections.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Sortable.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Video.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Settings/Configure.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Settings/_CreateOrUpdate.VdoCipher.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Settings/_CreateOrUpdate.Vimeo.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/Settings/_CreateOrUpdate.Youtube.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/_ViewImports.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Areas/Admin/Views/_ViewStart.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Components/CustomViewComponent.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/.DS_Store create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/css/simplelms.css create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/ajax-loader-small.gif create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/close.png create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/loading.gif create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/text.png create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/ui-icons_222222_256x240.png create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Admin/images/video-player.png create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Content/Public/Productstyle.css create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Controllers/Customer.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/Attachment.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/AttachmentType.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/Course.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/CourseProgress.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/CourseStat.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/CustomTable.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/IDisplayOrder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/Lesson.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/LessonAttachment.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/LessonProgress.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/LessonType.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/Section.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/SectionLesson.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/SortRecordType.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/Video.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Domains/VideoType.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Events/EventConsumer.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Factories/CourseModelFactory.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Infrastructure/PluginNopStartup.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Infrastructure/RouteProvider.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Infrastructure/SimpleLMSMapperConfiguration.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Infrastructure/ViewLocationExpander.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/AtttachmentBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/CourseBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/CourseProgressBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/LessonAttachmentBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/LessonBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/LessonProgressBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/PluginBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/SectionBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/SectionLessonBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/Builders/VideoBuilder.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Mapping/NameCompatibility.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Migrations/SchemaMigration.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/CourseDetail.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/CourseOverviewListModel.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/CourseOverviewModel.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/CourseSearchModel.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/LessonDetail.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/LessonStatusModel.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/SectionDetail.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Models/VideoDetail.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Nop.Plugin.Misc.SimpleLMS.csproj create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Nop.Plugin.Misc.SimpleLMS.csproj.user create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/README.md create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Services/CourseService.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/SimpleLMSDefaults.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/SimpleLMSPlugin.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/SimpleLMSSettings.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/.DS_Store create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/Customer/CoursesDetails.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/Customer/List.cshtml create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/Customer/_CourseDetailRoot.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/Customer/_LessonContent.cshtml create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/Customer/_MyCourseList.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/Views/_ViewImports.cshtml create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/logo.jpg create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/.DS_Store create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfoInputs.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.GeneratedMSBuildEditorConfig.editorconfig create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.assets.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.csproj.AssemblyReference.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.csproj.CopyComplete create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.csproj.CoreCompileInputs.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.csproj.FileListAbsolute.txt create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.csprojAssemblyReference.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.dll create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/Nop.Plugin.Misc.SimpleLMS.pdb create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net5.0/ref/Nop.Plugin.Misc.SimpleLMS.dll create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfoInputs.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.assets.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.csproj.AssemblyReference.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.csproj.CopyComplete create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.csproj.CoreCompileInputs.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.csproj.FileListAbsolute.txt create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.dll create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/Nop.Plugin.Misc.SimpleLMS.pdb create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/ref/Nop.Plugin.Misc.SimpleLMS.dll create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Debug/net6.0/refint/Nop.Plugin.Misc.SimpleLMS.dll create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Nop.Plugin.Misc.SimpleLMS.csproj.nuget.dgspec.json create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Nop.Plugin.Misc.SimpleLMS.csproj.nuget.g.props create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Nop.Plugin.Misc.SimpleLMS.csproj.nuget.g.targets create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfo.cs create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/Nop.Plugin.Misc.SimpleLMS.AssemblyInfoInputs.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/Nop.Plugin.Misc.SimpleLMS.GeneratedMSBuildEditorConfig.editorconfig create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/Nop.Plugin.Misc.SimpleLMS.assets.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/Release/net5.0/Nop.Plugin.Misc.SimpleLMS.csprojAssemblyReference.cache create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/project.assets.json create mode 100644 src/Plugins/Nop.Plugin.Misc.SimpleLMS/obj/project.nuget.cache create mode 100755 src/Plugins/Nop.Plugin.Misc.SimpleLMS/plugin.json diff --git a/.DS_Store b/.DS_Store index 2d4dcb3111b9089013174809bb298b5bdd90bc9e..b8a0dd02fdac9eb0143c66e54eca31a688a27bfd 100644 GIT binary patch delta 306 zcmZoMXfc=|#>B)qu~2NHo+2aj!~pA!7aACWj2_c^W`<&hB8KFo^5TM|octsP28NwU z1v#0;B?bo97@3$^SlQS)*g3d4VuLgC%Y#c2OG=BK5{sfiypa6-oFo`KF)1uFwLD%x z#5q5&Br!8DwFs;sGbI(MBqlsFFD1X+DZex?r5LO?7$U)u%*nwSFCbZ6ZDeGsqhMle zSgWH@ZD?d+4&s>A)^c))D(hPZ#b@W_=H+(-T?Yh=j1ZcE7fQpZ9v}nipR(Yhyqx^J vbf5_1#)D5-HnVf^a{$9&E$<}^TPu#uZXL^d!_Y+wNZC;v{+ delta 72 zcmZoMXfc=|#>CJzu~2NHo+2aT!~knX#>qTPrkl-}FS2ZQU@m3a%+A5j0aUWtkoi0F aWPTA{PDTa>h66y%FxiGjdUK4(5@rCSgb`u@ diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4757b0dd3dd226710d39d3648a6d88c81a21c1f8 GIT binary patch literal 8196 zcmeHMU2GIp6h3EK=*-ZuhH%W2ZA^XLc89 znl#3rL@+*y|Bsp&4G$(ncrY4Y)I_5gLIe|E^uY)8!51{q=(%%e32kXYV&YGjo7{Wm z+;h&{d(QpNy?bW?0NV;i3qTzJ$W%FH3#hq8;c{MQ6)EhgB#LAYV1WZ(uH=p9>{;4T zM-+i50#O8_2t*NxBJf{`0G-*q$a9?gLK?ME1fmGskrCkgL!2t7>5xtd8f+cZ1Xlo} z{0a~hdZv3oU=t5%I;2yA2B!2*aeKhf6vHb93UiXjxjNBwNT&o9=77Q+FdP}f8wv)a zlU+Pe2TThZwNV732+WQEPoFC20vif2a`XM&&5`6nZrrv!zq$D`N)?s!=2yv8@&frt z=9pW`__|;4+VuPo=XzY%&Xu3_+#$;>W!aK;*YS1BG4p|eWtgOLxX*G7x76kq9K#E2 zGeRIMvXW)m#6)9iLo%Lf-a46#Pqd`AY)-~Etxru(D)Q1q)AsJ{s6FPmr-UaM?gmgZ z!?V+~-Lk!6d(P%=Rm93}eN%QzQ5R@^{pw)9HS9VW>!g`wi#+mcFR@*Dvq=8*4ZC(> z%<;0Uc38KE3%2f?t+vgTy?)<3;q#|K&&~Vofnt`if@gM{q-Pb)4$>ym#r#d3~&`X4XngigIb$^12!=rrlE(%`}l&Lhdi*tm6gCe&a|1K2(wL_Rjscmyk`5u&h0x?t$)}Z8zUFJT1Cmh` z35VakN7DwqV|w1~ED^Zar(yp->JQe9B;0JbVfk*Jgh5E^wJup6;IC{o4AZz&v%GFu zcZORq%PCp}XIcz_YWB4(%Zc`~cVB7x*3ifIksX!NpjQtFQqRn8Yo(6}MqKK8*WtKOVqd9K^$T z1drkfj-iX=cpOjSllT-qjnCi<_%gnRuj3o|7M{cR@jPC@kMRrq62HQWconbVPxv!l z$6xU`sY0rj>ZMgugOrf&l^Ug#v|e~2mGfq3x>r&M@iVpq${YHe$MZ%yeyhBR?RiMu z`>*EBm1>bGcP&}EGO@NXwP}0$2BHK6%c#2<%K?C=!9DNbV4id71Br@BkwiOwM4V{NexnKFa@4Zyw)@4u9#0N2rtpwQvcn~|W3%hZMAbS+EsN>@}iZ(h}!V?7B37jO*K8w%c zDSRH!;7j-lz8b>!9ej5N9QRF!BYrR&j>Sygv0Z0`BxMj!H;TC1jX;G^tmF6p-E)8c zzunhGdQk+T2>cHtfR!DYjy9V3TpOxHvN+X8sq(`0rUVU4sNpKSKe&z)z43=3J;y^? fI;2yAl7z}X{vn|JTQ)lX%RgA7^FKi1oz?sW5tbvC literal 0 HcmV?d00001 diff --git a/src/Plugins/.DS_Store b/src/Plugins/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9a167f1d2be3e8282d315eec3c7f1510dcff836c GIT binary patch literal 8196 zcmeHMYitx%6u#fIz>FPWS_`zuWVe=Au+RsUr{JqX7eFWbMA}Pa1JvNX5fFB0lq&(>EbjN&@n;%t%D}N1t7{> z0DsUu^#Q(3G@!A7jtT0Ul26e+ATUMHVnCSFdX%dZjRkZ}P+`s>%o&0wBj`}zKb`EN zzB)rp&~Oej5N6=&3~=~Vv)#;L!)(>0{(Ti|r#{|g8ImXHZiqB2X0SGrC(o%GB9&$4;0>jec#eOY!d{wj*a0DDLizW95fzw_hvIq^wNdN_oZ>%i_u;o9kwBj%9T? zuIZVM-IMf;!(P$Rq@`r9>*Tx^-&wz=9kWr#zaL`^}^d0>H1XdqL*YoZ9bScy(3z!EQ@E<=(URWuH2WU583Wy zxyP)(qSxrlWO+ZAx8w|(g;-so*C|>`?sO?Z!bQE>sA#Uzd59`Sm^Q0xWG$<7S*f&P z3DJ6Wqpa;xx(gz5A*@vImX&1285*KsTp^3=t+Mv1d>?;sTgvtJ3>$XwBgOR{vfS$q zrgFxf5vtRoMVl=9FP7xoWNX&+oSdJH-8H)2!(DC3W{oTby|AjfLQm*jvi1$xXr^5- z2^sV*1VH54Sn{<0PHJN-#Ji~#gfTzIN@bA^C_gQAwv?@-)3K8sB=kPaji70%&joX0P?fJ?ZH-=%VCp|n_9 zA}y8br3R@Jq{98cg$!o%};0WabNUM5VuMyMFan|KRv;{%++ zM>vg-eRNFVJN$qjr__7<{z1B4=BUJwVn)Bu#dFJzR-Us^b0s*6Dx$zaCei zPMCo(1OL$sptLp78mA9G-B!YT?I>OM)5QnZ8xzzwp^2+-x!;Zxz4C`4-A9A9SU|@F er4<_g`VRp&`IqwW{14B6|Nry9?7#p1`TqxfExr8! literal 0 HcmV?d00001 diff --git a/src/Plugins/Nop.Plugin.Misc.SimpleLMS/.DS_Store b/src/Plugins/Nop.Plugin.Misc.SimpleLMS/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..94fa4fed9081ac6b2d60dc327063cccf8994c587 GIT binary patch literal 10244 zcmeHM-D@0G6hG4>&BTo*Xaf~L7_o{EA#OIBR9bPf*$7pmp^^n$5*dcy)Y_JrH{!_Q0M8cz$qjah>+-u2-w612=U9Ks|`ps^A&t z043x2b=t4HUadr-(>py_zNqCNF)U9U?GD3Hr~SI?)t)$6o;X>4&z65eu~hGna}=Dc zv{%RX*aNW#f*#aI&NkJs6I}KI_TJrhqJ)jMQ&Sdbd^Pf(- z-!hW`s>dN3C9Jogg($ISeG{>%;jfIG(!U2Wi&ucuV-q1I*&N%6)~~a=`t&@_So%@7A(nu5%5-4qEPZ$FewO*qrDvpW;c_QR>8y5tU3t@=G=vVFQxrxp z@+OH9dJNNa5tD?A;Z=q8MiLTFf4b!%64L(TSxAJSbQWJGE_`yiqGA(@>jAUZ}5~W+`Gd;fi($b?UvY|Tli0+4# z+_1j!oU#Z$C5+2jfD=Zh;3Tk;%N=i*xW$w zEy3yzBEwlVsiM@vSe&FB-teZ27xgFcK8JTjjMfHX=+e58t=Osvp7;J!{phWO-msxC zdcwF6Jq^H`Lcku3hcJ}z`0+1x;R#<}_w|dvefasw9ko^3YwhKIuvPf?z9sf=LV2#| z*L83~&Py)5)wW*HGTw%lc?-1(-xu*@ju6hKzIefpN`JzVfKHw1^{a2}*4EU>2*LF@ z_rnSHpp9}gBzv;pvx*t4gN(uk-peNG58m(!ez%0^k@<>@G<0x&=spUwg}vOypPES{ zY~c*j^$gK6@MYREdsI>UU5lcI)V6e#}fIjr|`l zG$@h#zgN+yQIaXj$feKum}p2u36!xnz_3Hu&f1cmuCUR?JxY3@72VTgv1obQ z!hd9dpWT4Y>5k^~M78HPp3cklMp8Z{hxIA|IHw~G6sx+y<))i zvuT#%mbA9EZjNiMhu%V2*sl`YhF}s)F?_icpFpEv-SY$(6e~fjK List() + { + if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageProducts)) + return AccessDeniedView(); + + var courseSearchModel = new CourseSearchModel(); + + //prepare model + var model = await _courseModelFactory.PrepareCourseSearchModelAsync(courseSearchModel); + + return View("~/Plugins/Misc.SimpleLMS/Areas/Admin/Views/Course/List.cshtml", model); + } + + [HttpPost] + public virtual async Task CourseList(CourseSearchModel searchModel) + { + if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageProducts)) + return await AccessDeniedDataTablesJson(); + + var customer = await _workContext.GetCurrentCustomerAsync(); + + searchModel.InstructorGUID = customer.CustomerGuid.ToString(); + + //prepare model + var model = await _courseModelFactory.PrepareCourseListModelAsync(searchModel); + + return Json(model); + } + + + public virtual async Task Create() + { + if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageProducts)) + return AccessDeniedView(); + + var model = await _courseModelFactory.PrepareCourseModelAsync(new CourseModel(), null); + + return View("~/Plugins/Misc.SimpleLMS/Areas/Admin/Views/Course/Create.cshtml", model); + } + + public virtual async Task Sections(int courseId) + { + if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageProducts)) + return AccessDeniedView(); + + var courseExisting = await _courseService.GetCourseById(courseId); + var customer = await _workContext.GetCurrentCustomerAsync(); + + if (courseExisting.InstructorGuid != customer.CustomerGuid) + return await AccessDeniedDataTablesJson(); + + + + var model = await _courseModelFactory.PrepareCourseModelAsync(new CourseModel(), courseExisting); + + return PartialView("~/Plugins/Misc.SimpleLMS/Areas/Admin/Views/Course/_CreateOrUpdate.Sections.cshtml", model.Sections); + } + + [HttpPost, ParameterBasedOnFormName("save-continue", "continueEditing")] + [ValidateAntiForgeryToken] + public virtual async Task Create(CourseModel model, bool continueEditing) + { + if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageProducts)) + return AccessDeniedView(); + + if (ModelState.IsValid) + { + var customer = await _workContext.GetCurrentCustomerAsync(); + var course = model.ToEntity(); + + course.InstructorId = customer.Id; + course.InstructorGuid = customer.CustomerGuid; + course.CreatedOnUtc = DateTime.UtcNow; + course.UpdatedOnUtc = DateTime.UtcNow; + + await _courseService.InsertOrUpdateCourseAsync(course); + + //foreach (var sectionModel in model.Sections) + //{ + // var section = sectionModel.ToEntity
(); + // section.CourseId = course.Id; + // await _courseService.InsertOrUpdateSectionAsync(section); + // foreach (var lessonModel in sectionModel.Lessons) + // { + // var lesson = lessonModel.ToEntity(); + // await _courseService.InsertOrUpdateLessonAsync(lesson); + // await _courseService.InsertOrUpdateSectionLessonAsync(new SectionLesson + // { + // CourseId = course.Id, + // DisplayOrder = lessonModel.DisplayOrder, + // LessonId = lesson.Id, + // IsFreeLesson = lessonModel.IsFreeLesson, + // SectionId = section.Id + // }); + + // if (lessonModel.LessonType == LessonType.Document) + // { + // foreach (var attachmentModel in lessonModel.Attachments) + // { + // var attachment = attachmentModel.ToEntity(); + // attachment.InstructorId = customer.Id; + // attachment.InstructorGuid = customer.CustomerGuid; + // await _courseService.InsertOrUpdateAttachmentAsync(attachment); + // await _courseService.InsertOrUpdateLessonAttachmentAsync(new LessonAttachment + // { + // AttachmentId = attachment.Id, + // LessonId = lesson.Id + // }); + // } + // } + // else if (lessonModel.LessonType == LessonType.Video) + // { + // if (lessonModel.Video != null) + // { + // var video = lessonModel.Video.ToEntity