├── GenMs只更新db.bat ├── src ├── Module │ ├── Admin │ │ ├── appsettings.json │ │ ├── Views │ │ │ ├── _ViewStart.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ ├── Shared │ │ │ │ └── _Layout.cshtml │ │ │ ├── Goods_tag │ │ │ │ ├── Edit.cshtml │ │ │ │ └── List.cshtml │ │ │ ├── Test │ │ │ │ ├── Edit.cshtml │ │ │ │ └── List.cshtml │ │ │ ├── Category │ │ │ │ ├── List.cshtml │ │ │ │ └── Edit.cshtml │ │ │ ├── Tag │ │ │ │ ├── Edit.cshtml │ │ │ │ └── List.cshtml │ │ │ └── Comment │ │ │ │ ├── Edit.cshtml │ │ │ │ └── List.cshtml │ │ ├── wwwroot │ │ │ └── htm │ │ │ │ ├── plugins │ │ │ │ ├── multiple-select │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── multiple-select.png │ │ │ │ │ ├── index.html │ │ │ │ │ ├── demos │ │ │ │ │ │ ├── assets │ │ │ │ │ │ │ └── bootstrap │ │ │ │ │ │ │ │ └── fonts │ │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── README.md │ │ │ │ │ ├── multiple-select.jquery.json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── LICENSE │ │ │ │ │ └── docs │ │ │ │ │ │ ├── assets │ │ │ │ │ │ └── html5shiv.js │ │ │ │ │ │ └── index.html │ │ │ │ ├── treetable │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── css │ │ │ │ │ │ ├── screen.css │ │ │ │ │ │ └── jquery.treetable.css │ │ │ │ │ ├── test.html │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── README.md │ │ │ │ │ ├── treetable.jquery.json │ │ │ │ │ └── MIT-LICENSE.txt │ │ │ │ ├── input-mask │ │ │ │ │ ├── phone-codes │ │ │ │ │ │ └── readme.txt │ │ │ │ │ └── jquery.inputmask.phone.extensions.js │ │ │ │ ├── colorpicker │ │ │ │ │ └── img │ │ │ │ │ │ ├── alpha.png │ │ │ │ │ │ ├── hue.png │ │ │ │ │ │ ├── saturation.png │ │ │ │ │ │ ├── hue-horizontal.png │ │ │ │ │ │ └── alpha-horizontal.png │ │ │ │ ├── layer │ │ │ │ │ └── skin │ │ │ │ │ │ └── default │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ ├── icon-ext.png │ │ │ │ │ │ ├── loading-0.gif │ │ │ │ │ │ ├── loading-1.gif │ │ │ │ │ │ └── loading-2.gif │ │ │ │ ├── font-awesome │ │ │ │ │ └── fonts │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── ionslider │ │ │ │ │ ├── img │ │ │ │ │ │ ├── sprite-skin-flat.png │ │ │ │ │ │ └── sprite-skin-nice.png │ │ │ │ │ ├── ion.rangeSlider.skinNice.css │ │ │ │ │ └── ion.rangeSlider.skinFlat.css │ │ │ │ ├── morris │ │ │ │ │ └── morris.css │ │ │ │ ├── datepicker │ │ │ │ │ └── locales │ │ │ │ │ │ ├── bootstrap-datepicker.kr.js │ │ │ │ │ │ ├── bootstrap-datepicker.gl.js │ │ │ │ │ │ ├── bootstrap-datepicker.ja.js │ │ │ │ │ │ ├── bootstrap-datepicker.hr.js │ │ │ │ │ │ ├── bootstrap-datepicker.zh-CN.js │ │ │ │ │ │ ├── bootstrap-datepicker.az.js │ │ │ │ │ │ ├── bootstrap-datepicker.cy.js │ │ │ │ │ │ ├── bootstrap-datepicker.he.js │ │ │ │ │ │ ├── bootstrap-datepicker.ms.js │ │ │ │ │ │ ├── bootstrap-datepicker.no.js │ │ │ │ │ │ ├── bootstrap-datepicker.ca.js │ │ │ │ │ │ ├── bootstrap-datepicker.el.js │ │ │ │ │ │ ├── bootstrap-datepicker.rs.js │ │ │ │ │ │ ├── bootstrap-datepicker.th.js │ │ │ │ │ │ ├── bootstrap-datepicker.bg.js │ │ │ │ │ │ ├── bootstrap-datepicker.es.js │ │ │ │ │ │ ├── bootstrap-datepicker.nl.js │ │ │ │ │ │ ├── bootstrap-datepicker.sl.js │ │ │ │ │ │ ├── bootstrap-datepicker.rs-latin.js │ │ │ │ │ │ ├── bootstrap-datepicker.nb.js │ │ │ │ │ │ ├── bootstrap-datepicker.sq.js │ │ │ │ │ │ ├── bootstrap-datepicker.ua.js │ │ │ │ │ │ ├── bootstrap-datepicker.id.js │ │ │ │ │ │ ├── bootstrap-datepicker.kk.js │ │ │ │ │ │ ├── bootstrap-datepicker.tr.js │ │ │ │ │ │ ├── bootstrap-datepicker.da.js │ │ │ │ │ │ ├── bootstrap-datepicker.pt-BR.js │ │ │ │ │ │ ├── bootstrap-datepicker.ru.js │ │ │ │ │ │ ├── bootstrap-datepicker.cs.js │ │ │ │ │ │ ├── bootstrap-datepicker.is.js │ │ │ │ │ │ ├── bootstrap-datepicker.sk.js │ │ │ │ │ │ ├── bootstrap-datepicker.sv.js │ │ │ │ │ │ ├── bootstrap-datepicker.fa.js │ │ │ │ │ │ ├── bootstrap-datepicker.hu.js │ │ │ │ │ │ ├── bootstrap-datepicker.ro.js │ │ │ │ │ │ ├── bootstrap-datepicker.zh-TW.js │ │ │ │ │ │ ├── bootstrap-datepicker.de.js │ │ │ │ │ │ ├── bootstrap-datepicker.fr.js │ │ │ │ │ │ ├── bootstrap-datepicker.mk.js │ │ │ │ │ │ ├── bootstrap-datepicker.vi.js │ │ │ │ │ │ ├── bootstrap-datepicker.it.js │ │ │ │ │ │ ├── bootstrap-datepicker.pt.js │ │ │ │ │ │ ├── bootstrap-datepicker.ar.js │ │ │ │ │ │ ├── bootstrap-datepicker.fi.js │ │ │ │ │ │ ├── bootstrap-datepicker.lv.js │ │ │ │ │ │ ├── bootstrap-datepicker.nl-BE.js │ │ │ │ │ │ ├── bootstrap-datepicker.lt.js │ │ │ │ │ │ ├── bootstrap-datepicker.pl.js │ │ │ │ │ │ ├── bootstrap-datepicker.sw.js │ │ │ │ │ │ ├── bootstrap-datepicker.ka.js │ │ │ │ │ │ └── bootstrap-datepicker.et.js │ │ │ │ ├── select2 │ │ │ │ │ └── i18n │ │ │ │ │ │ ├── zh-TW.js │ │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ │ ├── az.js │ │ │ │ │ │ ├── fi.js │ │ │ │ │ │ ├── ja.js │ │ │ │ │ │ ├── hu.js │ │ │ │ │ │ ├── th.js │ │ │ │ │ │ ├── tr.js │ │ │ │ │ │ ├── ko.js │ │ │ │ │ │ ├── nb.js │ │ │ │ │ │ ├── id.js │ │ │ │ │ │ ├── vi.js │ │ │ │ │ │ ├── is.js │ │ │ │ │ │ ├── ar.js │ │ │ │ │ │ ├── de.js │ │ │ │ │ │ ├── et.js │ │ │ │ │ │ ├── sv.js │ │ │ │ │ │ ├── bg.js │ │ │ │ │ │ ├── ms.js │ │ │ │ │ │ ├── gl.js │ │ │ │ │ │ ├── da.js │ │ │ │ │ │ ├── fr.js │ │ │ │ │ │ ├── ro.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── he.js │ │ │ │ │ │ ├── hi.js │ │ │ │ │ │ ├── fa.js │ │ │ │ │ │ ├── hr.js │ │ │ │ │ │ ├── eu.js │ │ │ │ │ │ ├── mk.js │ │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ │ ├── lv.js │ │ │ │ │ │ ├── pt.js │ │ │ │ │ │ ├── ca.js │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── lt.js │ │ │ │ │ │ ├── it.js │ │ │ │ │ │ ├── nl.js │ │ │ │ │ │ ├── pl.js │ │ │ │ │ │ ├── sr.js │ │ │ │ │ │ ├── uk.js │ │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ │ ├── ru.js │ │ │ │ │ │ ├── sk.js │ │ │ │ │ │ └── cs.js │ │ │ │ ├── pace │ │ │ │ │ ├── pace.min.css │ │ │ │ │ └── pace.css │ │ │ │ ├── timepicker │ │ │ │ │ └── bootstrap-timepicker.min.css │ │ │ │ └── html5shiv │ │ │ │ │ └── html5shiv.min.js │ │ │ │ ├── img │ │ │ │ └── user2-160x160.jpg │ │ │ │ ├── bootstrap │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ └── js │ │ │ │ │ └── npm.js │ │ │ │ └── css │ │ │ │ ├── index.css │ │ │ │ └── skins │ │ │ │ ├── skin-red.css │ │ │ │ ├── skin-green.css │ │ │ │ ├── skin-purple.css │ │ │ │ ├── skin-yellow.css │ │ │ │ └── skin-blue.css │ │ ├── Admin.csproj │ │ ├── Init.cs │ │ └── Controllers │ │ │ ├── LoginController.cs │ │ │ ├── TestController.cs │ │ │ ├── CategoryController.cs │ │ │ └── Goods_tagController.cs │ └── Test │ │ ├── appsettings.json │ │ ├── Views │ │ ├── _ViewStart.cshtml │ │ ├── _ViewImports.cshtml │ │ └── Shared │ │ │ └── _Layout.cshtml │ │ ├── Test.csproj │ │ ├── Init.cs │ │ └── Controllers │ │ └── TestController.cs ├── WebHost │ ├── .gitignore │ ├── package.json │ ├── njob.txt │ ├── web.config │ ├── appsettings.json │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── WebHost.csproj │ ├── nlog.config │ ├── gulpfile.js │ └── Extensions │ │ └── SwaggerExtensions.cs ├── es.db │ ├── es.db.csproj │ └── BLL │ │ └── Build │ │ └── StoreProcedure.cs └── Infrastructure │ ├── ModuleBasic │ ├── ModuleInfo.cs │ ├── IModuleInitializer.cs │ └── ModuleViewLocationExpander.cs │ ├── Controllers │ └── CustomExceptionFilter.cs │ ├── Infrastructure.csproj │ └── Extensions │ └── GlobalExtensions.cs ├── htm.zip ├── sql.txt ├── db-er.png ├── run01.png ├── run02.png ├── run03.png ├── run04.png ├── run05.png ├── db-er02.png ├── gemms01.png ├── gemms03.png ├── genms02.png ├── workdir01.png ├── workdir02.png └── .gitattributes /GenMs只更新db.bat: -------------------------------------------------------------------------------- 1 | 2 | GenMs . -D shop -N es -------------------------------------------------------------------------------- /src/Module/Admin/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /src/Module/Test/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /src/WebHost/.gitignore: -------------------------------------------------------------------------------- 1 | [Mm]odule/ 2 | wwwroot/[Mm]odule/ -------------------------------------------------------------------------------- /htm.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/htm.zip -------------------------------------------------------------------------------- /sql.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/sql.txt -------------------------------------------------------------------------------- /db-er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/db-er.png -------------------------------------------------------------------------------- /run01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/run01.png -------------------------------------------------------------------------------- /run02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/run02.png -------------------------------------------------------------------------------- /run03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/run03.png -------------------------------------------------------------------------------- /run04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/run04.png -------------------------------------------------------------------------------- /run05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/run05.png -------------------------------------------------------------------------------- /src/Module/Admin/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } -------------------------------------------------------------------------------- /src/Module/Test/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } -------------------------------------------------------------------------------- /db-er02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/db-er02.png -------------------------------------------------------------------------------- /gemms01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/gemms01.png -------------------------------------------------------------------------------- /gemms03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/gemms03.png -------------------------------------------------------------------------------- /genms02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/genms02.png -------------------------------------------------------------------------------- /workdir01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/workdir01.png -------------------------------------------------------------------------------- /workdir02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/workdir02.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/.gitignore: -------------------------------------------------------------------------------- 1 | /bower_components/ 2 | /tools 3 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | .idea 5 | bower_components 6 | experiments 7 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/input-mask/phone-codes/readme.txt: -------------------------------------------------------------------------------- 1 | more phone masks can be found at https://github.com/andr-04/inputmask-multi -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/img/user2-160x160.jpg -------------------------------------------------------------------------------- /src/Module/Admin/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Newtonsoft.Json; 2 | @using es.BLL; 3 | @using es.Model; 4 | 5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 6 | -------------------------------------------------------------------------------- /src/Module/Test/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Newtonsoft.Json; 2 | @using es.BLL; 3 | @using es.Model; 4 | 5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 6 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/alpha.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/hue.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/icon.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/saturation.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/icon-ext.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-0.gif -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-1.gif -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/layer/skin/default/loading-2.gif -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/hue-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/hue-horizontal.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/ionslider/img/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/ionslider/img/sprite-skin-flat.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/ionslider/img/sprite-skin-nice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/ionslider/img/sprite-skin-nice.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/multiple-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/multiple-select/multiple-select.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/alpha-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/colorpicker/img/alpha-horizontal.png -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/WebHost/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "aaa", 4 | "private": true, 5 | "devDependencies": { 6 | "gulp": "3.9.1", 7 | "gulp-clean": "0.3.2", 8 | "glob": "7.1.1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2881099/genms_shop/HEAD/src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/assets/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/Module/Admin/Admin.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 3 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Module/Test/Test.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 3 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/es.db/es.db.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | es.db 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Infrastructure/ModuleBasic/ModuleInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Reflection; 3 | 4 | public class ModuleInfo { 5 | public string Name { get; set; } 6 | 7 | public Assembly Assembly { get; set; } 8 | public IModuleInitializer Initializer { get; set; } 9 | 10 | public string ShortName { 11 | get { 12 | return Name.Split('.').Last(); 13 | } 14 | } 15 | 16 | public string Path { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Infrastructure/ModuleBasic/IModuleInitializer.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.Extensions.DependencyInjection; 4 | using Microsoft.Extensions.Logging; 5 | 6 | public interface IModuleInitializer { 7 | void ConfigureServices(IServiceCollection services, IHostingEnvironment env); 8 | void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime); 9 | } -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/morris/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1090;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#f9f9f9;background:rgba(0, 0, 0, 0.8);border:solid 2px rgba(0, 0, 0, 0.9);font-weight: 600;font-size:14px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} 3 | -------------------------------------------------------------------------------- /src/Module/Admin/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @ViewBag.title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | @RenderBody() 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Module/Test/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @ViewBag.title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | @RenderBody() 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "multiple-select", 3 | "version": "1.2.1", 4 | "homepage": "https://github.com/wenzhixin/multiple-select", 5 | "authors": [ 6 | "文翼 " 7 | ], 8 | "main" : [ 9 | "multiple-select.css", 10 | "multiple-select.png", 11 | "multiple-select.js" 12 | ], 13 | "description": "A jQuery plugin to select multiple elements with checkboxes", 14 | "license": "MIT", 15 | "dependencies": { 16 | "jquery": ">=1.7.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/README.md: -------------------------------------------------------------------------------- 1 | # Multiple Select 2 | 3 | Multiple select is a jQuery plugin to select multiple elements with checkboxes :). 4 | 5 | To get started checkout examples and documentation at http://wenzhixin.net.cn/p/multiple-select 6 | 7 | ## jsFiddle examples 8 | 9 | https://github.com/wenzhixin/multiple-select/issues/255 10 | 11 | ## Changelog 12 | 13 | [CHANGELOG](https://github.com/wenzhixin/multiple-select/blob/master/CHANGELOG.md) 14 | 15 | ## LICENSE 16 | 17 | [The MIT License](https://github.com/wenzhixin/multiple-select/blob/master/LICENSE) 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/css/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /src/WebHost/njob.txt: -------------------------------------------------------------------------------- 1 | ; 和 # 匀为行注释 2 | ;SEC: 按秒触发 3 | ;MIN: 按分触发 4 | ;HOUR: 按时触发 5 | ;DAY: 按天触发 6 | ;RunOnDay: 每天 什么时间 触发 7 | ;RunOnWeek: 星期几 什么时间 触发 8 | ;RunOnMonth: 每月 第几天 什么时间 触发 9 | 10 | Name1 SEC 2 /schedule/test002.aspx 11 | Name2 MIN 2 /schedule/test002.aspx 12 | Name3 HOUR 1 /schedule/test002.aspx 13 | Name4 DAY 2 /schedule/test002.aspx 14 | 15 | Name5 RunOnDay 15:55:59 /schedule/test002.aspx 16 | ;每天15点55分59秒 17 | 18 | Name6 RunOnWeek 1:15:55:59 /schedule/test002.aspx 19 | ;每星期一15点55分59秒 20 | 21 | Name7 RunOnMonth 1:15:55:59 /schedule/test002.aspx 22 | ;每月1号15点55分59秒 -------------------------------------------------------------------------------- /src/WebHost/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.kr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datepicker 3 | * Gu Youn 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kr'] = { 7 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 8 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 9 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 11 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /src/WebHost/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "ConnectionStrings": { 11 | "es_mssql": "Data Source=.;Integrated Security=True;Initial Catalog=shop;Pooling=true;Max Pool Size=100", 12 | "redis1": "127.0.0.1:6379,password=,defaultDatabase=0,poolsize=50,ssl=false,writeBuffer=20480,prefix=es", 13 | "redis2": "127.0.0.1:6379,password=,defaultDatabase=0,poolsize=50,ssl=false,writeBuffer=20480,prefix=es" 14 | }, 15 | "es_BLL_ITEM_CACHE": { 16 | "Timeout": 180 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.gl.js: -------------------------------------------------------------------------------- 1 | ;(function($){ 2 | $.fn.datepicker.dates['gl'] = { 3 | days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], 4 | daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], 5 | daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], 6 | months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], 7 | monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], 8 | today: "Hoxe", 9 | clear: "Limpar" 10 | }; 11 | }(jQuery)); 12 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | format: "yyyy/mm/dd" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/WebHost/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.Extensions.Configuration; 4 | using System.IO; 5 | 6 | namespace es.WebHost { 7 | public class Program { 8 | public static void Main(string[] args) { 9 | var config = new ConfigurationBuilder() 10 | .AddCommandLine(args) 11 | .Build(); 12 | 13 | //dotnet run --urls=http://0.0.0.0:5000 14 | var host = new WebHostBuilder() 15 | .UseConfiguration(config) 16 | .UseKestrel() 17 | .UseContentRoot(Directory.GetCurrentDirectory()) 18 | .UseIISIntegration() 19 | .UseStartup() 20 | .Build(); 21 | 22 | host.Run(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日", 13 | format: "yyyy年mm月dd日", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.az.js: -------------------------------------------------------------------------------- 1 | // Azerbaijani 2 | ;(function($){ 3 | $.fn.datepicker.dates['az'] = { 4 | days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], 5 | daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 6 | daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 7 | months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], 8 | monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], 9 | today: "Bu gün", 10 | weekStart: 1 11 | }; 12 | }(jQuery)); 13 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.cy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Welsh translation for bootstrap-datepicker 3 | * S. Morris 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['cy'] = { 7 | days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], 8 | daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], 9 | daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], 10 | months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], 11 | monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], 12 | today: "Heddiw" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datepicker 3 | **/ 4 | ;(function($){ 5 | $.fn.datepicker.dates['no'] = { 6 | days: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], 7 | daysShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], 8 | daysMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], 9 | months: ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'], 10 | monthsShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'], 11 | today: 'I dag', 12 | clear: 'Nullstill', 13 | weekStart: 1, 14 | format: 'dd.mm.yyyy' 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/WebHost/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:51210/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "WebHost": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:51213/" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs-latin'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.sq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Albanian translation for bootstrap-datepicker 3 | * Tomor Pupovci 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sq'] = { 7 | days: ["E Diel", "E Hënë", "E martē", "E mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], 8 | daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], 9 | daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], 10 | months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], 11 | monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], 12 | today: "Sot" 13 | }; 14 | }(jQuery)); 15 | 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятница", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['id'] = { 7 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 8 | daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], 9 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 10 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], 12 | today: "Hari Ini", 13 | clear: "Kosongkan" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.kk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Kazakh translation for bootstrap-datepicker 3 | * Yerzhan Tolekov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kk'] = { 7 | days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі", "Жексенбі"], 8 | daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], 9 | daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн", "Жк"], 10 | months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], 11 | monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], 12 | today: "Бүгін", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | clear: "Nulstil" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pt-BR'] = { 7 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 9 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 10 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 12 | today: "Hoje", 13 | clear: "Limpar" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Idag", 13 | format: "yyyy-mm-dd", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Test/Init.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.Extensions.Configuration; 4 | using Microsoft.Extensions.DependencyInjection; 5 | using Microsoft.Extensions.Logging; 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Text; 9 | using es.BLL; 10 | using es.Model; 11 | 12 | namespace es.Module.Test { 13 | 14 | /// 15 | /// 配置本 Module 依赖注入等,由 WebHost/Startup.cs 加载触发执行 16 | /// 17 | public class Init : IModuleInitializer { 18 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime) { 19 | 20 | } 21 | 22 | public void ConfigureServices(IServiceCollection services, IHostingEnvironment env) { 23 | 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Module/Admin/Init.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.Extensions.Configuration; 4 | using Microsoft.Extensions.DependencyInjection; 5 | using Microsoft.Extensions.Logging; 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Text; 9 | using es.BLL; 10 | using es.Model; 11 | 12 | namespace es.Module.Admin { 13 | 14 | /// 15 | /// 配置本 Module 依赖注入等,由 WebHost/Startup.cs 加载触发执行 16 | /// 17 | public class Init : IModuleInitializer { 18 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime) { 19 | 20 | } 21 | 22 | public void ConfigureServices(IServiceCollection services, IHostingEnvironment env) { 23 | 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.fa.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Persian translation for bootstrap-datepicker 3 | * Mostafa Rokooie 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fa'] = { 7 | days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], 8 | daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], 9 | daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], 10 | months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], 11 | monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], 12 | today: "امروز", 13 | clear: "پاک کن", 14 | weekStart: 1, 15 | format: "yyyy/mm/dd" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datepicker 3 | * Sotus László 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | weekStart: 1, 14 | format: "yyyy.mm.dd" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | clear: "Șterge", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datepicker 3 | * Rung-Sheng Jang 4 | * FrankWu Fix more appropriate use of Traditional Chinese habit 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['zh-TW'] = { 8 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 9 | daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], 10 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 11 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 13 | today: "今天", 14 | format: "yyyy年mm月dd日", 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | clear: "Löschen", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], 12 | today: "Aujourd'hui", 13 | clear: "Effacer", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/css/jquery.treetable.css: -------------------------------------------------------------------------------- 1 | table.treetable span.indenter { 2 | display: inline-block; 3 | margin: 0; 4 | padding: 0; 5 | text-align: right; 6 | 7 | /* Disable text selection of nodes (for better D&D UX) */ 8 | user-select: none; 9 | -khtml-user-select: none; 10 | -moz-user-select: none; 11 | -o-user-select: none; 12 | -webkit-user-select: none; 13 | 14 | /* Force content-box box model for indenter (Bootstrap compatibility) */ 15 | -webkit-box-sizing: content-box; 16 | -moz-box-sizing: content-box; 17 | box-sizing: content-box; 18 | 19 | width: 19px; 20 | } 21 | 22 | table.treetable span.indenter a { 23 | background-position: left center; 24 | background-repeat: no-repeat; 25 | display: inline-block; 26 | text-decoration: none; 27 | width: 19px; 28 | } 29 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.mk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Macedonian translation for bootstrap-datepicker 3 | * Marko Aleksic 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['mk'] = { 7 | days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Недела"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Нед"], 9 | daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са", "Не"], 10 | months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "Денес", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.vi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Vietnamese translation for bootstrap-datepicker 3 | * An Vo 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['vi'] = { 7 | days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật"], 8 | daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], 9 | daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], 10 | months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], 11 | monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], 12 | today: "Hôm nay", 13 | clear: "Xóa", 14 | format: "dd/mm/yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | clear: "Cancella", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | today: "Hoje", 14 | clear: "Limpar" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să introduceți mai puțin de "+t;return n+=" caracter",n!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți incă "+t;return n+=" caracter",n!==1&&(n+="e"),n},loadingMore:function(){return"Se încarcă…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",t!==1&&(t+="e"),t},noResults:function(){return"Nu a fost găsit nimic"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-datepicker 3 | * Mohammed Alshehri 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään", 13 | weekStart: 1, 14 | format: "d.m.yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Šodien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Test/Controllers/TestController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections; 4 | using System.Linq; 5 | using System.IO; 6 | using System.Net; 7 | using System.Net.NetworkInformation; 8 | using System.Threading.Tasks; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.AspNetCore.Mvc; 11 | using Microsoft.AspNetCore.Mvc.Filters; 12 | using Microsoft.Extensions.Logging; 13 | using Microsoft.Extensions.Configuration; 14 | using Newtonsoft.Json.Linq; 15 | using es.BLL; 16 | using es.Model; 17 | 18 | namespace es.Module.Test.Controllers { 19 | [Route("[controller]")] 20 | public class TestController : BaseController { 21 | public TestController(ILogger logger) : base(logger) { } 22 | 23 | [HttpGet] 24 | public APIReturn List() { 25 | return APIReturn.成功; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.nl-BE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Belgium-Dutch translation for bootstrap-datepicker 3 | * Julien Poulin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl-BE'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag", 13 | clear: "Leegmaken", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%100>9&&e%100<21||e%10===0?e%10>1?n:r:t}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"ių","ius","į"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"ių","ius","į"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ų","us","ą"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation for bootstrap-datepicker 3 | * Levan Melikishvili 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ka'] = { 7 | days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], 8 | daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], 9 | daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], 10 | months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], 11 | monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], 12 | today: "დღეს", 13 | clear: "გასუფთავება", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/datepicker/locales/bootstrap-datepicker.et.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datepicker 3 | * Ando Roots 4 | * Fixes by Illimar Tambek < 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['et'] = { 8 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 9 | daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], 10 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 11 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 12 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 13 | today: "Täna", 14 | clear: "Tühjenda", 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery treetable Tests 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-treetable", 3 | "description": "jQuery plugin for displaying a tree structure in a (HTML) table, i.e. a directory structure or a nested list.", 4 | "homepage": "http://ludo.cubicphuse.nl/jquery-treetable", 5 | "authors": [ "Ludo van den Boom " ], 6 | "license": [ "GPL-2.0", "MIT" ], 7 | "keywords": [ "explorer", "file", "table", "tree", "ui" ], 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/ludo/jquery-treetable.git" 11 | }, 12 | "main": [ 13 | "jquery.treetable.js", 14 | "css/jquery.treetable.css", 15 | "css/jquery.treetable.theme.default.css" 16 | ], 17 | "ignore": [ "*.html", "test" ], 18 | "dependencies": { 19 | "jquery": ">=1.6" 20 | }, 21 | "devDependencies": { 22 | "chai": "latest", 23 | "chai-jquery": "latest", 24 | "jquery-ui": "latest", 25 | "mocha": "latest", 26 | "sinonjs": "latest", 27 | "underscore": "latest" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Infrastructure/ModuleBasic/ModuleViewLocationExpander.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Razor; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | public class ModuleViewLocationExpander : IViewLocationExpander { 6 | private const string _moduleKey = "module"; 7 | 8 | public IEnumerable ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable viewLocations) { 9 | if (context.Values.ContainsKey(_moduleKey)) { 10 | var module = context.Values[_moduleKey]; 11 | if (!string.IsNullOrWhiteSpace(module)) { 12 | var moduleViewLocations = new string[] { 13 | "/Module/" + module + "/Views/{1}/{0}.cshtml", 14 | "/Module/" + module + "/Views/Shared/{0}.cshtml" 15 | }; 16 | viewLocations = moduleViewLocations.Concat(viewLocations); 17 | } 18 | } 19 | return viewLocations; 20 | } 21 | 22 | public void PopulateValues(ViewLocationExpanderContext context) { 23 | var controller = context.ActionContext.ActionDescriptor.DisplayName; 24 | var moduleName = controller.Split('(')[1].Split(')')[0]; 25 | context.Values[_moduleKey] = moduleName; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/README.md: -------------------------------------------------------------------------------- 1 | # jQuery treetable 2 | 3 | jQuery treetable is a plugin for jQuery, the 'Write Less, Do More, JavaScript 4 | Library'. With this plugin you can display a tree in an HTML table, e.g. a 5 | directory structure or a nested list. Why not use a list, you say? Because lists 6 | are great for displaying a tree, and tables are not. Oh wait, but this plugin 7 | uses tables, doesn't it? Yes. Why do I use a table to display a list? Because I 8 | need multiple columns to display additional data besides the tree. 9 | 10 | Download the latest release from the jQuery Plugin Registry or grab the source 11 | code from Github. Please report issues through Github issues. This plugin is 12 | released under both the MIT and the GPLv2 license by Ludo van den Boom. 13 | 14 | ## Documentation and Examples 15 | 16 | See index.html for technical documentation and examples. The most recent version 17 | of this document is also available online at 18 | http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example built with 19 | Ruby on Rails can be found at 20 | https://github.com/ludo/jquery-treetable-ajax-example. 21 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/multiple-select.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "multiple-select", 3 | "version": "1.2.1", 4 | "title": "Multiple Select", 5 | "description": "Multiple select is a jQuery plugin to select multiple elements with checkboxes :).", 6 | "author": { 7 | "name": "zhixin wen", 8 | "email": "wenzhixin2010@gmail.com", 9 | "url": "http://wenzhixin.net.cn/" 10 | }, 11 | "licenses": [ 12 | { 13 | "type": "MIT License", 14 | "url": "http://opensource.org/licenses/MIT" 15 | } 16 | ], 17 | "dependencies": { 18 | "jquery": ">=1.7" 19 | }, 20 | "keywords": ["multiple.select", "select.list", "multiple.choose", "checkbox"], 21 | "homepage": "http://wenzhixin.net.cn/p/multiple-select/", 22 | "demo": "http://wenzhixin.net.cn/p/multiple-select/#examples", 23 | "bugs": { 24 | "url": "https://github.com/wenzhixin/multiple-select/issues" 25 | }, 26 | "docs": "http://wenzhixin.net.cn/p/multiple-select/#documentation", 27 | "download": "https://github.com/wenzhixin/multiple-select/archive/master.zip" 28 | } -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "multiple-select", 3 | "main": "multiple-select.js", 4 | "version": "1.2.1", 5 | "title": "Multiple Select", 6 | "description": "Multiple select is a jQuery plugin to select multiple elements with checkboxes :).", 7 | "author": { 8 | "name": "zhixin wen", 9 | "email": "wenzhixin2010@gmail.com", 10 | "url": "http://wenzhixin.net.cn/" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/wenzhixin/multiple-select.git" 15 | }, 16 | "license": "MIT", 17 | "dependencies": { 18 | "jquery": ">=1.7" 19 | }, 20 | "keywords": [ 21 | "multiple.select", 22 | "select.list", 23 | "multiple.choose", 24 | "checkbox" 25 | ], 26 | "homepage": "http://wenzhixin.net.cn/p/multiple-select/", 27 | "demo": "http://wenzhixin.net.cn/p/multiple-select/#examples", 28 | "bugs": { 29 | "url": "https://github.com/wenzhixin/multiple-select/issues" 30 | }, 31 | "docs": "http://wenzhixin.net.cn/p/multiple-select/#documentation", 32 | "download": "https://github.com/wenzhixin/multiple-select/archive/master.zip" 33 | } 34 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/select2/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/treetable.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "treetable", 3 | "title": "jQuery treetable", 4 | "description": "jQuery plugin for displaying a tree structure in a (HTML) table, i.e. a directory structure or a nested list.", 5 | "keywords": [ 6 | "explorer", 7 | "file", 8 | "table", 9 | "tree", 10 | "ui" 11 | ], 12 | "version": "3.2.0", 13 | "author": { 14 | "name": "Ludo van den Boom", 15 | "url": "http://ludovandenboom.com" 16 | }, 17 | "maintainers": [ 18 | { 19 | "name": "Ludo van den Boom", 20 | "url": "http://ludovandenboom.com" 21 | } 22 | ], 23 | "licenses": [ 24 | { 25 | "type": "GPLv2", 26 | "url": "https://github.com/ludo/jquery-treetable/blob/3.2.0/GPL-LICENSE.txt" 27 | }, 28 | { 29 | "type": "MIT", 30 | "url": "https://github.com/ludo/jquery-treetable/blob/3.2.0/MIT-LICENSE.txt" 31 | } 32 | ], 33 | "bugs": "https://github.com/ludo/jquery-treetable/issues", 34 | "homepage": "https://github.com/ludo/jquery-treetable", 35 | "docs": "http://ludo.cubicphuse.nl/jquery-treetable/", 36 | "dependencies": { 37 | "jquery": ">=1.6" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/treetable/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Ludo van den Boom, http://ludovandenboom.com 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /src/WebHost/WebHost.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netcoreapp2.1 4 | 3 5 | false 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Always 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Zhixin Wen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/Infrastructure/Controllers/CustomExceptionFilter.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Hosting; 2 | using Microsoft.AspNetCore.Http; 3 | using Microsoft.AspNetCore.Mvc; 4 | using Microsoft.AspNetCore.Mvc.Filters; 5 | using Microsoft.Extensions.Configuration; 6 | using Microsoft.Extensions.Logging; 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Security.Cryptography; 10 | using System.Text; 11 | using System.Threading.Tasks; 12 | 13 | public class CustomExceptionFilter : Attribute, IExceptionFilter { 14 | private ILogger _logger = null; 15 | private IConfiguration _cfg = null; 16 | private IHostingEnvironment _env = null; 17 | 18 | public CustomExceptionFilter (ILogger logger, IConfiguration cfg, IHostingEnvironment env) { 19 | _logger = logger; 20 | _cfg = cfg; 21 | _env = env; 22 | } 23 | 24 | public void OnException(ExceptionContext context) { 25 | //在这里记录错误日志,context.Exception 为异常对象 26 | context.Result = APIReturn.失败.SetMessage(context.Exception.Message); //返回给调用方 27 | var innerLog = context.Exception.InnerException != null ? $" \r\n{context.Exception.InnerException.Message} \r\n{ context.Exception.InnerException.StackTrace}" : ""; 28 | _logger.LogError($"=============错误:{context.Exception.Message} \r\n{context.Exception.StackTrace}{innerLog}"); 29 | context.ExceptionHandled = true; 30 | } 31 | } -------------------------------------------------------------------------------- /src/Infrastructure/Infrastructure.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 3 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Module/Admin/Controllers/LoginController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using System.ComponentModel.DataAnnotations; 7 | using Microsoft.AspNetCore.Mvc; 8 | using Microsoft.AspNetCore.Mvc.Filters; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.Extensions.Logging; 11 | using es.BLL; 12 | using es.Model; 13 | 14 | namespace es.Module.Admin.Controllers { 15 | 16 | [Route("")] 17 | public class HomeController { 18 | [HttpGet] 19 | public RedirectResult Index() { 20 | return new RedirectResult("/module/Admin"); 21 | } 22 | } 23 | 24 | [Route("[controller]")] 25 | [Obsolete] 26 | public class LoginController : BaseController { 27 | 28 | public LoginController(ILogger logger) : base(logger) { } 29 | 30 | [HttpGet, 匿名访问] 31 | public ViewResult Index() { 32 | return View(); 33 | } 34 | [HttpPost, 匿名访问] 35 | public APIReturn Post(LoginModel data) { 36 | HttpContext.Session.SetString("login.username", data.Username); 37 | return APIReturn.成功; 38 | } 39 | 40 | public class LoginModel { 41 | [FromForm, Required(ErrorMessage = "请输入登陆名")] 42 | public string Username { get; set; } 43 | 44 | [FromForm, Required(ErrorMessage = "请输入密码")] 45 | public string Password { get; set; } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/Infrastructure/Extensions/GlobalExtensions.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System; 3 | using System.Text.RegularExpressions; 4 | 5 | public static class GlobalExtensions { 6 | public static object Json(this Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper html, object obj) { 7 | string str = JsonConvert.SerializeObject(obj); 8 | if (!string.IsNullOrEmpty(str)) str = Regex.Replace(str, @"<(/?script[\s>])", "<\"+\"$1", RegexOptions.IgnoreCase); 9 | if (html == null) return str; 10 | return html.Raw(str); 11 | } 12 | 13 | /// 14 | /// 转格林时间,并以ISO8601格式化字符串 15 | /// 16 | /// 17 | /// 18 | public static string ToGmtISO8601(this DateTime time) { 19 | return time.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"); 20 | } 21 | 22 | /// 23 | /// 获取时间戳,按1970-1-1 24 | /// 25 | /// 26 | /// 27 | public static long GetTime(this DateTime time) { 28 | return (long)time.ToUniversalTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds; 29 | } 30 | 31 | static DateTime dt19700101 = new DateTime(1970, 1, 1); 32 | /// 33 | /// 获取时间戳毫秒数,按1970-1-1 34 | /// 35 | /// 36 | /// 37 | public static long GetTimeMilliseconds(this DateTime time) { 38 | return (long)time.ToUniversalTime().Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/WebHost/nlog.config: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/demos/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Demos 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 | 14 |
15 | 16 |
17 | 18 | 32 |
33 |
34 | 35 | 36 | 37 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/index.css: -------------------------------------------------------------------------------- 1 | /* 系统字体重设 */ 2 | body, 3 | h1, 4 | h2, 5 | h3, 6 | h4, 7 | h5, 8 | h6, 9 | .h1, 10 | .h2, 11 | .h3, 12 | .h4, 13 | .h5, 14 | .h6, 15 | .main-header .logo { 16 | font-family: "Microsoft YaHei", segoe ui, "Helvetica Neue", Helvetica, Arial, sans-serif; 17 | } 18 | /*公共样式*/ 19 | .mt10 { 20 | margin-top: 10px; 21 | } 22 | .mt15 { 23 | margin-top: 15px; 24 | } 25 | .mt20 { 26 | margin-top: 20px; 27 | } 28 | .mr10 { 29 | margin-right: 10px; 30 | } 31 | .mr15 { 32 | margin-right: 15px; 33 | } 34 | .mr20 { 35 | margin-right: 20px; 36 | } 37 | .mb5 { 38 | margin-bottom: 5px; 39 | } 40 | .mb10 { 41 | margin-bottom: 10px; 42 | } 43 | .mb15 { 44 | margin-bottom: 15px; 45 | } 46 | .mb20 { 47 | margin-bottom: 20px; 48 | } 49 | .ml10 { 50 | margin-left: 10px; 51 | } 52 | .ml15 { 53 | margin-left: 15px; 54 | } 55 | .ml20 { 56 | margin-left: 20px; 57 | } 58 | 59 | /*table#GridView1, form#form_add table { 60 | width:100%; 61 | } 62 | table#GridView1 td, table#GridView1 th, form#form_add table td, form#form_add table th { 63 | padding:6px 12px 6px 12px; 64 | } 65 | table#GridView1 th { 66 | background-color:#9999aa; 67 | }*/ 68 | 69 | table#GridView1 td.page{margin-top:12px;} 70 | table#GridView1 td.page .normal{background:#fff;border:1px solid #384EA3;padding:3px 5px 2px 5px;margin:0px 3px 0px 0px;color:#BC2931;float:left;} 71 | table#GridView1 td.page .dot{float:left;} 72 | table#GridView1 td.page .statics{} 73 | table#GridView1 td.page a{padding:3px 5px 2px 5px;margin:0px 3px 0px 0px;background:#367fa9;border:1px solid #384EA3;color:#fff;text-decoration:none;float:left;} 74 | table#GridView1 td.page a:visited {color:#fff;} 75 | table#GridView1 td.page a:hover{color:#BC2931;border:1px solid #384EA3;background:#fff;} 76 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/input-mask/jquery.inputmask.phone.extensions.js: -------------------------------------------------------------------------------- 1 | /* 2 | Input Mask plugin extensions 3 | http://github.com/RobinHerbots/jquery.inputmask 4 | Copyright (c) 2010 - 2014 Robin Herbots 5 | Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) 6 | Version: 0.0.0 7 | 8 | Phone extension. 9 | When using this extension make sure you specify the correct url to get the masks 10 | 11 | $(selector).inputmask("phone", { 12 | url: "Scripts/jquery.inputmask/phone-codes/phone-codes.json", 13 | onKeyValidation: function () { //show some metadata in the console 14 | console.log($(this).inputmask("getmetadata")["name_en"]); 15 | } 16 | }); 17 | 18 | 19 | */ 20 | (function ($) { 21 | $.extend($.inputmask.defaults.aliases, { 22 | 'phone': { 23 | url: "phone-codes/phone-codes.json", 24 | mask: function (opts) { 25 | opts.definitions = { 26 | 'p': { 27 | validator: function () { return false; }, 28 | cardinality: 1 29 | }, 30 | '#': { 31 | validator: "[0-9]", 32 | cardinality: 1 33 | } 34 | }; 35 | var maskList = []; 36 | $.ajax({ 37 | url: opts.url, 38 | async: false, 39 | dataType: 'json', 40 | success: function (response) { 41 | maskList = response; 42 | } 43 | }); 44 | 45 | maskList.splice(0, 0, "+p(ppp)ppp-pppp"); 46 | return maskList; 47 | } 48 | } 49 | }); 50 | })(jQuery); 51 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/pace/pace.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#fff;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #fff,0 0 5px #fff;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-moz-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-o-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:50%;width:14px;height:14px;border:solid 2px transparent;border-top-color:#fff;border-left-color:#fff;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@media (max-width: 767px){.pace .pace-activity{top:15px;right:15px;width:14px;height:14px}}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}} -------------------------------------------------------------------------------- /src/Module/Admin/Views/Goods_tag/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | Goods_tagInfo item = ViewBag.item; 4 | var fk_Goodss = Goods.Select.ToList(); 5 | var fk_Tags = Tag.Select.ToList(); 6 | } 7 | 8 |
9 |
10 |

11 |
12 |
13 |
14 |
15 | @Html.AntiForgeryToken() 16 | 17 |
18 | 19 | 20 | 21 | 27 | 28 | 29 | 30 | 36 | 37 | 38 | 39 | 40 | 41 |
产品id 22 | 26 |
标签id 31 | 35 |
  
42 |
43 |
44 | 45 |
46 |
47 |
48 | 49 | -------------------------------------------------------------------------------- /src/es.db/BLL/Build/StoreProcedure.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Configuration; 3 | using System.Collections.Generic; 4 | using System.Data; 5 | using System.Data.SqlClient; 6 | 7 | namespace es.BLL { 8 | 9 | public partial class StoreProcedure { 10 | 11 | #region Sp_test 12 | public static void Sp_test(int? p1, out int? p2) => Sp_test(p1, out p2, false); 13 | public static List Sp_testReturn(int? p1, out int? p2) => Sp_test(p1, out p2, true); 14 | private static List Sp_test(int? p1, out int? p2, bool isReturn) { 15 | p2 = null; 16 | SqlParameter parmO0 = null; 17 | var sqlParams = new[] { 18 | new SqlParameter { ParameterName = "@p1", SqlDbType = SqlDbType.Int, Size = 4, Value = p1 }, 19 | parmO0 = new SqlParameter { ParameterName = "@p2", SqlDbType = SqlDbType.Int, Size = 4, Value = p2 } 20 | }; 21 | parmO0.Direction = ParameterDirection.Output; 22 | List ds = null; 23 | 24 | if (isReturn) ds = ExecuteArrayAll(@"[dbo].[sp_test]", sqlParams); 25 | else SqlHelper.Instance.ExecuteNonQuery(CommandType.StoredProcedure, @"[dbo].[sp_test]", sqlParams); 26 | 27 | if (parmO0.Value != DBNull.Value) p2 = (int?)parmO0.Value; 28 | 29 | return ds; 30 | } 31 | #endregion 32 | 33 | /// 34 | /// 执行存储过程,可能有多个结果集返回 35 | /// 36 | /// 存储过程 37 | /// 参数 38 | /// 39 | public static List ExecuteArrayAll(string procedure, params SqlParameter[] sqlParams) { 40 | var ds = new List(); 41 | SqlHelper.Instance.ExecuteReader(dr => { 42 | while (true) { 43 | var dt = new List(); 44 | while (dr.Read()) { 45 | object[] values = new object[dr.FieldCount]; 46 | dr.GetValues(values); 47 | dt.Add(values); 48 | } 49 | ds.Add(dt.ToArray()); 50 | if (dr.NextResult() == false) break; 51 | } 52 | }, CommandType.StoredProcedure, procedure, sqlParams); 53 | return ds; 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /src/Module/Admin/Views/Test/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | TestInfo item = ViewBag.item; 4 | } 5 | 6 |
7 |
8 |

9 |
10 |
11 |
12 |
13 | @Html.AntiForgeryToken() 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
id
f_bit
F_ShortCode
f_tinyint
  
38 |
39 |
40 | 41 |
42 |
43 |
44 | 45 | -------------------------------------------------------------------------------- /src/Module/Admin/Views/Category/List.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | } 4 | 5 |
6 |
7 |

8 | 添加 9 |
10 |
11 |
12 |
13 | @Html.AntiForgeryToken() 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | @foreach(CategoryInfo item in ViewBag.items) { 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | } 39 | 40 |
分类名称 18 | 19 | 换行测试 20 | 21 | xxxx分类id(自增)父级分类id创建时间 删除
@item.Name@item.Id@item.Parent_id@item.Create_time修改
41 |
42 |
43 |
44 |
45 | 46 |
47 | * 删除父项时,请先删除其所有子项。 48 | 删除选中项 49 |
50 | 51 | -------------------------------------------------------------------------------- /src/Module/Admin/Views/Tag/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | TagInfo item = ViewBag.item; 4 | var fk_goodss = Goods.Select.ToList(); 5 | } 6 | 7 |
8 |
9 |

10 |
11 |
12 |
13 |
14 | @Html.AntiForgeryToken() 15 | 16 |
17 | 18 | @if (item != null) { 19 | 20 | 21 | 22 | 23 | } 24 | 25 | 26 | 27 | 28 | 29 | 30 | 35 | 36 | 37 | 38 | 39 | 40 |
标签id(自增)
标签名
goods 31 | 34 |
  
41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 | -------------------------------------------------------------------------------- /src/Module/Admin/Views/Category/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | CategoryInfo item = ViewBag.item; 4 | var fk_Categorys = Category.Select.ToList(); 5 | } 6 | 7 |
8 |
9 |

10 |
11 |
12 |
13 |
14 | @Html.AntiForgeryToken() 15 | 16 |
17 | 18 | @if (item != null) { 19 | 20 | 21 | 22 | 23 | } 24 | 25 | 26 | 27 | 28 | 29 | 34 | 35 | 36 | @if (item != null) { 37 | 38 | 39 | 40 | 41 | } 42 | 43 | 44 | 45 | 46 |
分类id(自增)
父级分类id
分类名称 30 | 31 | 换行测试 32 | 33 | xxxx
创建时间
  
47 |
48 |
49 | 50 |
51 |
52 |
53 | 54 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/docs/assets/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d 6 |
7 |

8 | 添加 9 |
10 |
11 |
12 | 15 |
16 | @Html.AntiForgeryToken() 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | @foreach(TestInfo item in ViewBag.items) { 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | } 38 | 39 |
idf_bitF_ShortCodef_tinyint 
@item.Id@item.F_bit@item.F_ShortCode@item.F_tinyint修改
40 |
41 | 删除选中项 42 |
43 |
44 |
45 | 46 | 47 | @{ 48 | } 49 | 70 | -------------------------------------------------------------------------------- /src/WebHost/gulpfile.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var gulp = require('gulp'), 4 | clean = require('gulp-clean'), 5 | glob = require("glob"); 6 | 7 | var paths = { 8 | devModule: "../Module/", 9 | hostModule: "./Module/", 10 | hostWwwrootModules: "./wwwroot/module/" 11 | }; 12 | 13 | var modules = loadModules(); 14 | 15 | gulp.task('clean-module', function () { 16 | return gulp.src([paths.hostModule + '*', paths.hostWwwrootModules + '*'], { read: false }) 17 | .pipe(clean()); 18 | }); 19 | 20 | gulp.task('copy-module', ['clean-module'], function () { 21 | modules.forEach(function (module) { 22 | console.log(paths.devModule + module.fullName + '/Views/**/*.*'); 23 | gulp.src([paths.devModule + module.fullName + '/Views/**/*.*'], { base: module.fullName }) 24 | .pipe(gulp.dest(paths.hostModule + module.fullName)); 25 | gulp.src(paths.devModule + module.fullName + '/bin/Debug/netstandard2.0/**/' + module.fullName + '.*') 26 | .pipe(gulp.dest(paths.hostModule + module.fullName)); 27 | gulp.src(paths.devModule + module.fullName + '/appsettings.json') 28 | .pipe(gulp.dest(paths.hostModule + module.fullName)); 29 | gulp.src(paths.devModule + module.fullName + '/wwwroot/**/*.*') 30 | .pipe(gulp.dest(paths.hostWwwrootModules + module.name)); 31 | }); 32 | }); 33 | 34 | gulp.task('copy-static', function () { 35 | modules.forEach(function (module) { 36 | gulp.src([paths.devModule + module.fullName + '/Views/**/*.*'], { base: module.fullName }) 37 | .pipe(gulp.dest(paths.hostModule + module.fullName)); 38 | gulp.src(paths.devModule + module.fullName + '/wwwroot/**/*.*') 39 | .pipe(gulp.dest(paths.hostWwwrootModules + module.name)); 40 | }); 41 | }); 42 | 43 | function loadModules() { 44 | var moduleManifestPaths, 45 | modules = []; 46 | 47 | moduleManifestPaths = glob.sync(paths.devModule + '*/*.csproj', {}); 48 | moduleManifestPaths.forEach(function (moduleManifestPath) { 49 | var reg = /\/([^\/]+)\/\1\.csproj/.exec(moduleManifestPath); 50 | var moduleManifest = { 51 | name: reg[1], 52 | fullName: reg[1], 53 | version: "1.0.0" 54 | } 55 | 56 | //var exec = require('child_process').exec; 57 | //var child = exec('echo hello ' + name, function (err, stdout, stderr) { 58 | // if (err) throw err; 59 | // console.log(stdout); 60 | //}); 61 | 62 | modules.push(moduleManifest); 63 | }); 64 | 65 | return modules; 66 | } -------------------------------------------------------------------------------- /src/Module/Admin/Views/Tag/List.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | } 4 | 5 |
6 |
7 |

8 | 添加 9 |
10 |
11 |
12 | 15 |
16 | @Html.AntiForgeryToken() 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | @foreach(TagInfo item in ViewBag.items) { 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | } 36 | 37 |
标签id(自增)标签名  
@item.Id@item.NameGoods_tag修改
38 |
39 | 删除选中项 40 |
41 |
42 |
43 |
44 | 45 | @{ 46 | var fk_goodss = Goods.Select.ToList(); 47 | } 48 | 70 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/pace/pace.css: -------------------------------------------------------------------------------- 1 | .pace { 2 | -webkit-pointer-events: none; 3 | pointer-events: none; 4 | -webkit-user-select: none; 5 | -moz-user-select: none; 6 | user-select: none; 7 | } 8 | 9 | .pace-inactive { 10 | display: none; 11 | } 12 | 13 | .pace .pace-progress { 14 | background: #fff; 15 | position: fixed; 16 | z-index: 2000; 17 | top: 0; 18 | right: 100%; 19 | width: 100%; 20 | height: 2px; 21 | } 22 | 23 | .pace .pace-progress-inner { 24 | display: block; 25 | position: absolute; 26 | right: 0px; 27 | width: 100px; 28 | height: 100%; 29 | box-shadow: 0 0 10px #fff, 0 0 5px #fff; 30 | opacity: 1.0; 31 | -webkit-transform: rotate(3deg) translate(0px, -4px); 32 | -moz-transform: rotate(3deg) translate(0px, -4px); 33 | -ms-transform: rotate(3deg) translate(0px, -4px); 34 | -o-transform: rotate(3deg) translate(0px, -4px); 35 | transform: rotate(3deg) translate(0px, -4px); 36 | } 37 | 38 | .pace .pace-activity { 39 | display: block; 40 | position: fixed; 41 | z-index: 2000; 42 | top: 15px; 43 | right: 50%; 44 | width: 14px; 45 | height: 14px; 46 | border: solid 2px transparent; 47 | border-top-color: #fff; 48 | border-left-color: #fff; 49 | border-radius: 10px; 50 | -webkit-animation: pace-spinner 400ms linear infinite; 51 | -moz-animation: pace-spinner 400ms linear infinite; 52 | -ms-animation: pace-spinner 400ms linear infinite; 53 | -o-animation: pace-spinner 400ms linear infinite; 54 | animation: pace-spinner 400ms linear infinite; 55 | } 56 | 57 | @media (max-width: 767px) { 58 | .pace .pace-activity { 59 | top: 15px; 60 | right: 15px; 61 | width: 14px; 62 | height: 14px; 63 | } 64 | } 65 | 66 | @-webkit-keyframes pace-spinner { 67 | 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 68 | 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } 69 | } 70 | @-moz-keyframes pace-spinner { 71 | 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 72 | 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } 73 | } 74 | @-o-keyframes pace-spinner { 75 | 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } 76 | 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } 77 | } 78 | @-ms-keyframes pace-spinner { 79 | 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } 80 | 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } 81 | } 82 | @keyframes pace-spinner { 83 | 0% { transform: rotate(0deg); transform: rotate(0deg); } 84 | 100% { transform: rotate(360deg); transform: rotate(360deg); } 85 | } -------------------------------------------------------------------------------- /src/Module/Admin/Views/Comment/Edit.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | CommentInfo item = ViewBag.item; 4 | var fk_Goodss = Goods.Select.ToList(); 5 | } 6 | 7 |
8 |
9 |

10 |
11 |
12 |
13 |
14 | @Html.AntiForgeryToken() 15 | 16 |
17 | 18 | @if (item != null) { 19 | 20 | 21 | 22 | 23 | } 24 | 25 | 30 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | @if (item != null) { 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | } 55 | 56 | 57 | 58 | 59 |
评论id(自增)
产品id 26 | 27 | 测试换行注释 28 | 29 | \r\n 31 | 35 |
评论内容
评论者
创建时间
更新时间
  
60 |
61 |
62 | 63 |
64 |
65 |
66 | 67 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/ionslider/ion.rangeSlider.skinNice.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Nice Skin 2 | // css version 2.0.3 3 | // © Denis Ineshin, 2014 https://github.com/IonDen 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-bar, 13 | .irs-bar-edge, 14 | .irs-slider { 15 | background: url(img/sprite-skin-nice.png) repeat-x; 16 | } 17 | 18 | .irs { 19 | height: 40px; 20 | } 21 | .irs-with-grid { 22 | height: 60px; 23 | } 24 | .irs-line { 25 | height: 8px; top: 25px; 26 | } 27 | .irs-line-left { 28 | height: 8px; 29 | background-position: 0 -30px; 30 | } 31 | .irs-line-mid { 32 | height: 8px; 33 | background-position: 0 0; 34 | } 35 | .irs-line-right { 36 | height: 8px; 37 | background-position: 100% -30px; 38 | } 39 | 40 | .irs-bar { 41 | height: 8px; top: 25px; 42 | background-position: 0 -60px; 43 | } 44 | .irs-bar-edge { 45 | top: 25px; 46 | height: 8px; width: 11px; 47 | background-position: 0 -90px; 48 | } 49 | 50 | .irs-shadow { 51 | height: 1px; top: 34px; 52 | background: #000; 53 | opacity: 0.15; 54 | } 55 | .lt-ie9 .irs-shadow { 56 | filter: alpha(opacity=15); 57 | } 58 | 59 | .irs-slider { 60 | width: 22px; height: 22px; 61 | top: 17px; 62 | background-position: 0 -120px; 63 | } 64 | .irs-slider.state_hover, .irs-slider:hover { 65 | background-position: 0 -150px; 66 | } 67 | 68 | .irs-min, .irs-max { 69 | color: #999; 70 | font-size: 10px; line-height: 1.333; 71 | text-shadow: none; 72 | top: 0; padding: 1px 3px; 73 | background: rgba(0,0,0,0.1); 74 | -moz-border-radius: 3px; 75 | border-radius: 3px; 76 | } 77 | .lt-ie9 .irs-min, .lt-ie9 .irs-max { 78 | background: #ccc; 79 | } 80 | 81 | .irs-from, .irs-to, .irs-single { 82 | color: #fff; 83 | font-size: 10px; line-height: 1.333; 84 | text-shadow: none; 85 | padding: 1px 5px; 86 | background: rgba(0,0,0,0.3); 87 | -moz-border-radius: 3px; 88 | border-radius: 3px; 89 | } 90 | .lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single { 91 | background: #999; 92 | } 93 | 94 | .irs-grid-pol { 95 | background: #99a4ac; 96 | } 97 | .irs-grid-text { 98 | color: #99a4ac; 99 | } 100 | 101 | .irs-disabled { 102 | } 103 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/html5shiv/html5shiv.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /src/Module/Admin/Views/Goods_tag/List.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | } 4 | 5 |
6 |
7 |

8 | 添加 9 |
10 |
11 |
12 | 15 |
16 | @Html.AntiForgeryToken() 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | @foreach(Goods_tagInfo item in ViewBag.items) { 27 | 28 | 29 | 30 | 31 | 32 | 33 | } 34 | 35 |
产品id标签id 
[@item.Goods_id] @item.Obj_goods?.Title[@item.Tag_id] @item.Obj_tag?.Name修改
36 |
37 | 删除选中项 38 |
39 |
40 |
41 |
42 | 43 | @{ 44 | var fk_goodss = Goods.Select.ToList(); 45 | var fk_tags = Tag.Select.ToList(); 46 | } 47 | 70 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/ionslider/ion.rangeSlider.skinFlat.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Flat UI Skin 2 | // css version 2.0.3 3 | // © Denis Ineshin, 2014 https://github.com/IonDen 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-bar, 13 | .irs-bar-edge, 14 | .irs-slider { 15 | background: url(img/sprite-skin-flat.png) repeat-x; 16 | } 17 | 18 | .irs { 19 | height: 40px; 20 | } 21 | .irs-with-grid { 22 | height: 60px; 23 | } 24 | .irs-line { 25 | height: 12px; top: 25px; 26 | } 27 | .irs-line-left { 28 | height: 12px; 29 | background-position: 0 -30px; 30 | } 31 | .irs-line-mid { 32 | height: 12px; 33 | background-position: 0 0; 34 | } 35 | .irs-line-right { 36 | height: 12px; 37 | background-position: 100% -30px; 38 | } 39 | 40 | .irs-bar { 41 | height: 12px; top: 25px; 42 | background-position: 0 -60px; 43 | } 44 | .irs-bar-edge { 45 | top: 25px; 46 | height: 12px; width: 9px; 47 | background-position: 0 -90px; 48 | } 49 | 50 | .irs-shadow { 51 | height: 3px; top: 34px; 52 | background: #000; 53 | opacity: 0.25; 54 | } 55 | .lt-ie9 .irs-shadow { 56 | filter: alpha(opacity=25); 57 | } 58 | 59 | .irs-slider { 60 | width: 16px; height: 18px; 61 | top: 22px; 62 | background-position: 0 -120px; 63 | } 64 | .irs-slider.state_hover, .irs-slider:hover { 65 | background-position: 0 -150px; 66 | } 67 | 68 | .irs-min, .irs-max { 69 | color: #999; 70 | font-size: 10px; line-height: 1.333; 71 | text-shadow: none; 72 | top: 0; padding: 1px 3px; 73 | background: #e1e4e9; 74 | -moz-border-radius: 4px; 75 | border-radius: 4px; 76 | } 77 | 78 | .irs-from, .irs-to, .irs-single { 79 | color: #fff; 80 | font-size: 10px; line-height: 1.333; 81 | text-shadow: none; 82 | padding: 1px 5px; 83 | background: #ed5565; 84 | -moz-border-radius: 4px; 85 | border-radius: 4px; 86 | } 87 | .irs-from:after, .irs-to:after, .irs-single:after { 88 | position: absolute; display: block; content: ""; 89 | bottom: -6px; left: 50%; 90 | width: 0; height: 0; 91 | margin-left: -3px; 92 | overflow: hidden; 93 | border: 3px solid transparent; 94 | border-top-color: #ed5565; 95 | } 96 | 97 | 98 | .irs-grid-pol { 99 | background: #e1e4e9; 100 | } 101 | .irs-grid-text { 102 | color: #999; 103 | } 104 | 105 | .irs-disabled { 106 | } 107 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/skins/skin-red.css: -------------------------------------------------------------------------------- 1 | .skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav>.active>a{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#fff}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header .logo{background-color:#d73925;color:#fff;border-bottom:0 solid transparent}.skin-red .main-header .logo:hover{background-color:#d33724}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:0 0}.skin-red .wrapper,.skin-red .main-sidebar,.skin-red .left-side{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li:hover>a,.skin-red .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#dd4b39}.skin-red .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px}.skin-red .sidebar-form input[type=text],.skin-red .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.skin-red .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0} -------------------------------------------------------------------------------- /src/Module/Admin/Views/Comment/List.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = ""; 3 | } 4 | 5 |
6 |
7 |

8 | 添加 9 |
10 |
11 |
12 | 15 |
16 | @Html.AntiForgeryToken() 17 | 18 | 19 | 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | @foreach(CommentInfo item in ViewBag.items) { 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | } 46 | 47 |
评论id(自增)产品id 23 | 24 | 测试换行注释 25 | 26 | \r\n评论内容创建时间评论者更新时间 
@item.Id[@item.Goods_id] @item.Obj_goods?.Title@item.Content@item.Create_time@item.Nickname@item.Update_time修改
48 |
49 | 删除选中项 50 |
51 |
52 |
53 |
54 | 55 | @{ 56 | var fk_goodss = Goods.Select.ToList(); 57 | } 58 | 80 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/skins/skin-green.css: -------------------------------------------------------------------------------- 1 | .skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav>.active>a{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#fff}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header .logo{background-color:#008d4c;color:#fff;border-bottom:0 solid transparent}.skin-green .main-header .logo:hover{background-color:#008749}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:0 0}.skin-green .wrapper,.skin-green .main-sidebar,.skin-green .left-side{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li:hover>a,.skin-green .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#00a65a}.skin-green .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px}.skin-green .sidebar-form input[type=text],.skin-green .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.skin-green .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0} -------------------------------------------------------------------------------- /src/WebHost/Extensions/SwaggerExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.AspNetCore.Mvc; 4 | using Microsoft.Extensions.DependencyInjection; 5 | using Swashbuckle.AspNetCore.SwaggerGen; 6 | using System.IO; 7 | using System.Linq; 8 | 9 | namespace Swashbuckle.AspNetCore.Swagger { 10 | public class FormDataOperationFilter : IOperationFilter { 11 | public void Apply(Operation operation, OperationFilterContext context) { 12 | if (context.ApiDescription.TryGetMethodInfo(out var method) == false) return; 13 | var actattrs = method.GetCustomAttributes(false); 14 | if (actattrs.OfType().Any() || 15 | actattrs.OfType().Any()) 16 | if (operation.Consumes.Count == 0) 17 | operation.Consumes.Add("application/x-www-form-urlencoded"); 18 | } 19 | } 20 | 21 | public static class SwashbuckleSwaggerExtensions { 22 | public static IServiceCollection AddCustomizedSwaggerGen(this IServiceCollection services) { 23 | services.AddSwaggerGen(options => { 24 | foreach (var doc in _docs) options.SwaggerDoc(doc, new Info { Version = doc }); 25 | options.DocInclusionPredicate((docName, apiDesc) => { 26 | if (apiDesc.TryGetMethodInfo(out var method) == false) return false; 27 | var versions = method.DeclaringType.GetCustomAttributes(false) 28 | .OfType() 29 | .Select(attr => attr.GroupName); 30 | if (docName == "未分类" && versions.Count() == 0) return true; 31 | return versions.Any(v => v == docName); 32 | }); 33 | options.IgnoreObsoleteActions(); 34 | //options.IgnoreObsoleteControllers(); // 类、方法标记 [Obsolete],可以阻止【Swagger文档】生成 35 | options.EnableAnnotations(); 36 | options.DescribeAllEnumsAsStrings(); 37 | options.CustomSchemaIds(a => a.FullName); 38 | options.OperationFilter(); 39 | 40 | string root = Path.Combine(Directory.GetCurrentDirectory(), "Module"); 41 | string xmlFile = string.Empty; 42 | string[] dirs = Directory.GetDirectories(root); 43 | foreach (var d in dirs) { 44 | xmlFile = Path.Combine(d, $"{new DirectoryInfo(d).Name}.xml"); 45 | if (File.Exists(xmlFile)) 46 | options.IncludeXmlComments(xmlFile); // 使用前需开启项目注释 xmldoc 47 | } 48 | var InfrastructureXml = Directory.GetFiles(Directory.GetCurrentDirectory(), "Infrastructure.xml", SearchOption.AllDirectories); 49 | if (InfrastructureXml.Any()) 50 | options.IncludeXmlComments(InfrastructureXml[0]); 51 | }); 52 | return services; 53 | } 54 | static string[] _docs = new[] { "未分类", "公共", "cms", "后台管理" }; 55 | public static IApplicationBuilder UseCustomizedSwagger(this IApplicationBuilder app, IHostingEnvironment env) { 56 | return app.UseSwagger().UseSwaggerUI(options => { 57 | foreach (var doc in _docs) options.SwaggerEndpoint($"/swagger/{doc}/swagger.json", doc); 58 | }); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/Module/Admin/Controllers/TestController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections; 4 | using System.Linq; 5 | using System.IO; 6 | using System.Net; 7 | using System.Net.NetworkInformation; 8 | using System.Threading.Tasks; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.AspNetCore.Mvc; 11 | using Microsoft.AspNetCore.Mvc.Filters; 12 | using Microsoft.Extensions.Logging; 13 | using Microsoft.Extensions.Configuration; 14 | using Newtonsoft.Json.Linq; 15 | using es.BLL; 16 | using es.Model; 17 | 18 | namespace es.Module.Admin.Controllers { 19 | [Route("[controller]")] 20 | public class TestController : BaseController { 21 | public TestController(ILogger logger) : base(logger) { } 22 | 23 | [HttpGet] 24 | async public Task List([FromQuery] int limit = 20, [FromQuery] int page = 1) { 25 | var select = Test.Select; 26 | var items = await select.Count(out var count).Page(page, limit).ToListAsync(); 27 | ViewBag.items = items; 28 | ViewBag.count = count; 29 | return View(); 30 | } 31 | 32 | [HttpGet(@"add")] 33 | public ActionResult Edit() { 34 | return View(); 35 | } 36 | [HttpGet(@"edit")] 37 | async public Task Edit([FromQuery] int Id) { 38 | TestInfo item = await Test.GetItemAsync(Id); 39 | if (item == null) return APIReturn.记录不存在_或者没有权限; 40 | ViewBag.item = item; 41 | return View(); 42 | } 43 | 44 | /***************************************** POST *****************************************/ 45 | [HttpPost(@"add")] 46 | [ValidateAntiForgeryToken] 47 | async public Task _Add([FromForm] int? Id, [FromForm] bool F_bit, [FromForm] int? F_ShortCode, [FromForm] byte? F_tinyint) { 48 | TestInfo item = new TestInfo(); 49 | item.Id = Id; 50 | item.F_bit = F_bit; 51 | item.F_ShortCode = F_ShortCode; 52 | item.F_tinyint = F_tinyint; 53 | item = await Test.InsertAsync(item); 54 | return APIReturn.成功.SetData("item", item.ToBson()); 55 | } 56 | [HttpPost(@"edit")] 57 | [ValidateAntiForgeryToken] 58 | async public Task _Edit([FromQuery] int Id, [FromForm] bool F_bit, [FromForm] int? F_ShortCode, [FromForm] byte? F_tinyint) { 59 | TestInfo item = await Test.GetItemAsync(Id); 60 | if (item == null) return APIReturn.记录不存在_或者没有权限; 61 | item.F_bit = F_bit; 62 | item.F_ShortCode = F_ShortCode; 63 | item.F_tinyint = F_tinyint; 64 | int affrows = await Test.UpdateAsync(item); 65 | if (affrows > 0) return APIReturn.成功.SetMessage($"更新成功,影响行数:{affrows}"); 66 | return APIReturn.失败; 67 | } 68 | 69 | [HttpPost("del")] 70 | [ValidateAntiForgeryToken] 71 | async public Task _Del([FromForm] int[] id) { 72 | var dels = new List(); 73 | foreach (int id2 in id) 74 | dels.Add(await Test.DeleteAsync(id2)); 75 | if (dels.Count > 0) return APIReturn.成功.SetMessage($"删除成功,影响行数:{dels.Count}").SetData("dels", dels); 76 | return APIReturn.失败; 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/skins/skin-purple.css: -------------------------------------------------------------------------------- 1 | .skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav>.active>a{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#fff}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header .logo{background-color:#555299;color:#fff;border-bottom:0 solid transparent}.skin-purple .main-header .logo:hover{background-color:#545096}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:0 0}.skin-purple .wrapper,.skin-purple .main-sidebar,.skin-purple .left-side{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li:hover>a,.skin-purple .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#605ca8}.skin-purple .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px}.skin-purple .sidebar-form input[type=text],.skin-purple .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.skin-purple .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0} -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/skins/skin-yellow.css: -------------------------------------------------------------------------------- 1 | .skin-yellow .main-header .navbar{background-color:#f39c12}.skin-yellow .main-header .navbar .nav>li>a{color:#fff}.skin-yellow .main-header .navbar .nav>li>a:hover,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav>.active>a{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#fff}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow .main-header .logo{background-color:#e08e0b;color:#fff;border-bottom:0 solid transparent}.skin-yellow .main-header .logo:hover{background-color:#db8b0b}.skin-yellow .main-header li.user-header{background-color:#f39c12}.skin-yellow .content-header{background:0 0}.skin-yellow .wrapper,.skin-yellow .main-sidebar,.skin-yellow .left-side{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li:hover>a,.skin-yellow .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#f39c12}.skin-yellow .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px}.skin-yellow .sidebar-form input[type=text],.skin-yellow .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.skin-yellow .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0} -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/css/skins/skin-blue.css: -------------------------------------------------------------------------------- 1 | .skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav>.active>a{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header .logo{background-color:#367fa9;color:#fff;border-bottom:0 solid transparent}.skin-blue .main-header .logo:hover{background-color:#357ca5}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:0 0}.skin-blue .wrapper,.skin-blue .main-sidebar,.skin-blue .left-side{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li:hover>a,.skin-blue .sidebar-menu>li.active>a{color:#fff;background:#1e282c;border-left-color:#3c8dbc}.skin-blue .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px}.skin-blue .sidebar-form input[type=text],.skin-blue .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.skin-blue .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8} -------------------------------------------------------------------------------- /src/Module/Admin/Controllers/CategoryController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections; 4 | using System.Linq; 5 | using System.IO; 6 | using System.Net; 7 | using System.Net.NetworkInformation; 8 | using System.Threading.Tasks; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.AspNetCore.Mvc; 11 | using Microsoft.AspNetCore.Mvc.Filters; 12 | using Microsoft.Extensions.Logging; 13 | using Microsoft.Extensions.Configuration; 14 | using Newtonsoft.Json.Linq; 15 | using es.BLL; 16 | using es.Model; 17 | 18 | namespace es.Module.Admin.Controllers { 19 | [Route("[controller]")] 20 | public class CategoryController : BaseController { 21 | public CategoryController(ILogger logger) : base(logger) { } 22 | 23 | [HttpGet] 24 | async public Task List([FromQuery] string key, [FromQuery] int?[] Parent_id, [FromQuery] int limit = 20, [FromQuery] int page = 1) { 25 | var select = Category.Select 26 | .Where(!string.IsNullOrEmpty(key), "a.name ilike {0}", string.Concat("%", key, "%")); 27 | if (Parent_id.Length > 0) select.WhereParent_id(Parent_id); 28 | var items = await select.Count(out var count).Page(page, limit).ToListAsync(); 29 | ViewBag.items = items; 30 | ViewBag.count = count; 31 | return View(); 32 | } 33 | 34 | [HttpGet(@"add")] 35 | public ActionResult Edit() { 36 | return View(); 37 | } 38 | [HttpGet(@"edit")] 39 | async public Task Edit([FromQuery] int Id) { 40 | CategoryInfo item = await Category.GetItemAsync(Id); 41 | if (item == null) return APIReturn.记录不存在_或者没有权限; 42 | ViewBag.item = item; 43 | return View(); 44 | } 45 | 46 | /***************************************** POST *****************************************/ 47 | [HttpPost(@"add")] 48 | [ValidateAntiForgeryToken] 49 | async public Task _Add([FromForm] int? Parent_id, [FromForm] string Name) { 50 | CategoryInfo item = new CategoryInfo(); 51 | item.Parent_id = Parent_id; 52 | item.Create_time = DateTime.Now; 53 | item.Name = Name; 54 | item = await Category.InsertAsync(item); 55 | return APIReturn.成功.SetData("item", item.ToBson()); 56 | } 57 | [HttpPost(@"edit")] 58 | [ValidateAntiForgeryToken] 59 | async public Task _Edit([FromQuery] int Id, [FromForm] int? Parent_id, [FromForm] string Name) { 60 | CategoryInfo item = await Category.GetItemAsync(Id); 61 | if (item == null) return APIReturn.记录不存在_或者没有权限; 62 | item.Parent_id = Parent_id; 63 | item.Create_time = DateTime.Now; 64 | item.Name = Name; 65 | int affrows = await Category.UpdateAsync(item); 66 | if (affrows > 0) return APIReturn.成功.SetMessage($"更新成功,影响行数:{affrows}"); 67 | return APIReturn.失败; 68 | } 69 | 70 | [HttpPost("del")] 71 | [ValidateAntiForgeryToken] 72 | async public Task _Del([FromForm] int[] id) { 73 | var dels = new List(); 74 | foreach (int id2 in id) 75 | dels.Add(await Category.DeleteAsync(id2)); 76 | if (dels.Count > 0) return APIReturn.成功.SetMessage($"删除成功,影响行数:{dels.Count}").SetData("dels", dels); 77 | return APIReturn.失败; 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/Module/Admin/wwwroot/htm/plugins/multiple-select/docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Multiple Select 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 32 | 33 | 37 | 38 | 39 | 40 | 41 | 42 |
43 |
44 |

Multiple Select

45 | 51 |
52 |
53 | 54 | 55 | 56 | 57 |
58 |
59 | 60 |
61 | 67 |
68 |
69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/Module/Admin/Controllers/Goods_tagController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections; 4 | using System.Linq; 5 | using System.IO; 6 | using System.Net; 7 | using System.Net.NetworkInformation; 8 | using System.Threading.Tasks; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.AspNetCore.Mvc; 11 | using Microsoft.AspNetCore.Mvc.Filters; 12 | using Microsoft.Extensions.Logging; 13 | using Microsoft.Extensions.Configuration; 14 | using Newtonsoft.Json.Linq; 15 | using es.BLL; 16 | using es.Model; 17 | 18 | namespace es.Module.Admin.Controllers { 19 | [Route("[controller]")] 20 | public class Goods_tagController : BaseController { 21 | public Goods_tagController(ILogger logger) : base(logger) { } 22 | 23 | [HttpGet] 24 | async public Task List([FromQuery] int?[] Goods_id, [FromQuery] int?[] Tag_id, [FromQuery] int limit = 20, [FromQuery] int page = 1) { 25 | var select = Goods_tag.Select; 26 | if (Goods_id.Length > 0) select.WhereGoods_id(Goods_id); 27 | if (Tag_id.Length > 0) select.WhereTag_id(Tag_id); 28 | var items = await select.Count(out var count) 29 | .LeftJoin(a => a.Obj_goods.Id == a.Goods_id) 30 | .LeftJoin(a => a.Obj_tag.Id == a.Tag_id).Page(page, limit).ToListAsync(); 31 | ViewBag.items = items; 32 | ViewBag.count = count; 33 | return View(); 34 | } 35 | 36 | [HttpGet(@"add")] 37 | public ActionResult Edit() { 38 | return View(); 39 | } 40 | [HttpGet(@"edit")] 41 | async public Task Edit([FromQuery] int Goods_id, [FromQuery] int Tag_id) { 42 | Goods_tagInfo item = await Goods_tag.GetItemAsync(Goods_id, Tag_id); 43 | if (item == null) return APIReturn.记录不存在_或者没有权限; 44 | ViewBag.item = item; 45 | return View(); 46 | } 47 | 48 | /***************************************** POST *****************************************/ 49 | [HttpPost(@"add")] 50 | [ValidateAntiForgeryToken] 51 | async public Task _Add([FromForm] int? Goods_id, [FromForm] int? Tag_id) { 52 | Goods_tagInfo item = new Goods_tagInfo(); 53 | item.Goods_id = Goods_id; 54 | item.Tag_id = Tag_id; 55 | item = await Goods_tag.InsertAsync(item); 56 | return APIReturn.成功.SetData("item", item.ToBson()); 57 | } 58 | [HttpPost(@"edit")] 59 | [ValidateAntiForgeryToken] 60 | async public Task _Edit([FromQuery] int Goods_id, [FromQuery] int Tag_id) { 61 | Goods_tagInfo item = await Goods_tag.GetItemAsync(Goods_id, Tag_id); 62 | if (item == null) return APIReturn.记录不存在_或者没有权限; 63 | int affrows = await Goods_tag.UpdateAsync(item); 64 | if (affrows > 0) return APIReturn.成功.SetMessage($"更新成功,影响行数:{affrows}"); 65 | return APIReturn.失败; 66 | } 67 | 68 | [HttpPost("del")] 69 | [ValidateAntiForgeryToken] 70 | async public Task _Del([FromForm] string[] id) { 71 | var dels = new List(); 72 | foreach (string id2 in id) { 73 | string[] vs = id2.Split(','); 74 | dels.Add(await Goods_tag.DeleteAsync(int.Parse(vs[0]), int.Parse(vs[1]))); 75 | } 76 | if (dels.Count > 0) return APIReturn.成功.SetMessage($"删除成功,影响行数:{dels.Count}").SetData("dels", dels); 77 | return APIReturn.失败; 78 | } 79 | } 80 | } 81 | --------------------------------------------------------------------------------