├── .gitattributes ├── .gitignore ├── AspNetVideoCore.sln ├── AspNetVideoCore ├── .bowerrc ├── AspNetVideoCore.csproj ├── Controllers │ ├── AccountController.cs │ ├── EmployeeController.cs │ └── HomeController.cs ├── Data │ └── VideoDbContext.cs ├── Entities │ ├── User.cs │ └── Video.cs ├── Migrations │ ├── 20171021120514_Initial.Designer.cs │ ├── 20171021120514_Initial.cs │ ├── 20171022120557_IdentityTables.Designer.cs │ ├── 20171022120557_IdentityTables.cs │ └── VideoDbContextModelSnapshot.cs ├── Models │ └── Genres.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Services │ ├── ConfigurationMessageService.cs │ ├── HardcodedMessageService.cs │ ├── IMessageService.cs │ ├── IVideoData.cs │ ├── MockVideoData.cs │ └── SqlVideoData.cs ├── Startup.cs ├── ViewComponents │ └── Message.cs ├── ViewModels │ ├── LoginViewModel.cs │ ├── RegisterViewModel.cs │ ├── VideoEditViewModel.cs │ └── VideoViewModel.cs ├── Views │ ├── Account │ │ ├── Login.cshtml │ │ └── Register.cshtml │ ├── Home │ │ ├── Create.cshtml │ │ ├── Details.cshtml │ │ ├── Edit.cshtml │ │ ├── Index.cshtml │ │ └── _Video.cshtml │ ├── Shared │ │ ├── Components │ │ │ └── Message │ │ │ │ └── Default.cshtml │ │ ├── _Layout.cshtml │ │ └── _LoginLinks.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.json ├── bower.json └── wwwroot │ └── lib │ ├── bootstrap │ ├── .bower.json │ ├── CHANGELOG.md │ ├── Gemfile │ ├── Gemfile.lock │ ├── Gruntfile.js │ ├── ISSUE_TEMPLATE.md │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── grunt │ │ ├── .jshintrc │ │ ├── bs-commonjs-generator.js │ │ ├── bs-glyphicons-data-generator.js │ │ ├── bs-lessdoc-parser.js │ │ ├── bs-raw-files-generator.js │ │ ├── change-version.js │ │ ├── configBridge.json │ │ ├── npm-shrinkwrap.json │ │ └── sauce_browsers.yml │ ├── js │ │ ├── .jscsrc │ │ ├── .jshintrc │ │ ├── affix.js │ │ ├── alert.js │ │ ├── button.js │ │ ├── carousel.js │ │ ├── collapse.js │ │ ├── dropdown.js │ │ ├── modal.js │ │ ├── popover.js │ │ ├── scrollspy.js │ │ ├── tab.js │ │ ├── tooltip.js │ │ └── transition.js │ ├── less │ │ ├── .csscomb.json │ │ ├── .csslintrc │ │ ├── alerts.less │ │ ├── badges.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── glyphicons.less │ │ ├── grid.less │ │ ├── input-groups.less │ │ ├── jumbotron.less │ │ ├── labels.less │ │ ├── list-group.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── mixins │ │ │ ├── alerts.less │ │ │ ├── background-variant.less │ │ │ ├── border-radius.less │ │ │ ├── buttons.less │ │ │ ├── center-block.less │ │ │ ├── clearfix.less │ │ │ ├── forms.less │ │ │ ├── gradients.less │ │ │ ├── grid-framework.less │ │ │ ├── grid.less │ │ │ ├── hide-text.less │ │ │ ├── image.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── nav-divider.less │ │ │ ├── nav-vertical-align.less │ │ │ ├── opacity.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── progress-bar.less │ │ │ ├── reset-filter.less │ │ │ ├── reset-text.less │ │ │ ├── resize.less │ │ │ ├── responsive-visibility.less │ │ │ ├── size.less │ │ │ ├── tab-focus.less │ │ │ ├── table-row.less │ │ │ ├── text-emphasis.less │ │ │ ├── text-overflow.less │ │ │ └── vendor-prefixes.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── normalize.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── popovers.less │ │ ├── print.less │ │ ├── progress-bars.less │ │ ├── responsive-embed.less │ │ ├── responsive-utilities.less │ │ ├── scaffolding.less │ │ ├── tables.less │ │ ├── theme.less │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ ├── nuget │ │ ├── MyGet.ps1 │ │ ├── bootstrap.less.nuspec │ │ └── bootstrap.nuspec │ ├── package.js │ └── package.json │ ├── jquery-validation-unobtrusive │ ├── .bower.json │ ├── LICENSE.txt │ ├── bower.json │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── build │ │ └── release.js │ ├── changelog.md │ ├── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ ├── package.json │ ├── src │ │ ├── additional │ │ │ ├── accept.js │ │ │ ├── additional.js │ │ │ ├── alphanumeric.js │ │ │ ├── bankaccountNL.js │ │ │ ├── bankorgiroaccountNL.js │ │ │ ├── bic.js │ │ │ ├── cifES.js │ │ │ ├── cpfBR.js │ │ │ ├── creditcard.js │ │ │ ├── creditcardtypes.js │ │ │ ├── currency.js │ │ │ ├── dateFA.js │ │ │ ├── dateITA.js │ │ │ ├── dateNL.js │ │ │ ├── extension.js │ │ │ ├── giroaccountNL.js │ │ │ ├── iban.js │ │ │ ├── integer.js │ │ │ ├── ipv4.js │ │ │ ├── ipv6.js │ │ │ ├── lettersonly.js │ │ │ ├── letterswithbasicpunc.js │ │ │ ├── mobileNL.js │ │ │ ├── mobileUK.js │ │ │ ├── netmask.js │ │ │ ├── nieES.js │ │ │ ├── nifES.js │ │ │ ├── nipPL.js │ │ │ ├── notEqualTo.js │ │ │ ├── nowhitespace.js │ │ │ ├── pattern.js │ │ │ ├── phoneNL.js │ │ │ ├── phoneUK.js │ │ │ ├── phoneUS.js │ │ │ ├── phonesUK.js │ │ │ ├── postalCodeCA.js │ │ │ ├── postalcodeBR.js │ │ │ ├── postalcodeIT.js │ │ │ ├── postalcodeNL.js │ │ │ ├── postcodeUK.js │ │ │ ├── require_from_group.js │ │ │ ├── skip_or_fill_minimum.js │ │ │ ├── statesUS.js │ │ │ ├── strippedminlength.js │ │ │ ├── time.js │ │ │ ├── time12h.js │ │ │ ├── url2.js │ │ │ ├── vinUS.js │ │ │ ├── zipcodeUS.js │ │ │ └── ziprange.js │ │ ├── ajax.js │ │ ├── core.js │ │ └── localization │ │ │ ├── messages_ar.js │ │ │ ├── messages_az.js │ │ │ ├── messages_bg.js │ │ │ ├── messages_bn_BD.js │ │ │ ├── messages_ca.js │ │ │ ├── messages_cs.js │ │ │ ├── messages_da.js │ │ │ ├── messages_de.js │ │ │ ├── messages_el.js │ │ │ ├── messages_es.js │ │ │ ├── messages_es_AR.js │ │ │ ├── messages_es_PE.js │ │ │ ├── messages_et.js │ │ │ ├── messages_eu.js │ │ │ ├── messages_fa.js │ │ │ ├── messages_fi.js │ │ │ ├── messages_fr.js │ │ │ ├── messages_ge.js │ │ │ ├── messages_gl.js │ │ │ ├── messages_he.js │ │ │ ├── messages_hr.js │ │ │ ├── messages_hu.js │ │ │ ├── messages_hy_AM.js │ │ │ ├── messages_id.js │ │ │ ├── messages_is.js │ │ │ ├── messages_it.js │ │ │ ├── messages_ja.js │ │ │ ├── messages_ka.js │ │ │ ├── messages_kk.js │ │ │ ├── messages_ko.js │ │ │ ├── messages_lt.js │ │ │ ├── messages_lv.js │ │ │ ├── messages_mk.js │ │ │ ├── messages_my.js │ │ │ ├── messages_nl.js │ │ │ ├── messages_no.js │ │ │ ├── messages_pl.js │ │ │ ├── messages_pt_BR.js │ │ │ ├── messages_pt_PT.js │ │ │ ├── messages_ro.js │ │ │ ├── messages_ru.js │ │ │ ├── messages_sd.js │ │ │ ├── messages_si.js │ │ │ ├── messages_sk.js │ │ │ ├── messages_sl.js │ │ │ ├── messages_sr.js │ │ │ ├── messages_sr_lat.js │ │ │ ├── messages_sv.js │ │ │ ├── messages_th.js │ │ │ ├── messages_tj.js │ │ │ ├── messages_tr.js │ │ │ ├── messages_uk.js │ │ │ ├── messages_ur.js │ │ │ ├── messages_vi.js │ │ │ ├── messages_zh.js │ │ │ ├── messages_zh_TW.js │ │ │ ├── methods_de.js │ │ │ ├── methods_es_CL.js │ │ │ ├── methods_fi.js │ │ │ ├── methods_nl.js │ │ │ └── methods_pt.js │ └── validation.jquery.json │ └── jquery │ ├── .bower.json │ ├── AUTHORS.txt │ ├── LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── dist │ ├── core.js │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── jquery.slim.js │ ├── jquery.slim.min.js │ └── jquery.slim.min.map │ ├── external │ └── sizzle │ │ ├── LICENSE.txt │ │ └── dist │ │ ├── sizzle.js │ │ ├── sizzle.min.js │ │ └── sizzle.min.map │ └── src │ ├── .eslintrc.json │ ├── ajax.js │ ├── ajax │ ├── jsonp.js │ ├── load.js │ ├── parseXML.js │ ├── script.js │ ├── var │ │ ├── location.js │ │ ├── nonce.js │ │ └── rquery.js │ └── xhr.js │ ├── attributes.js │ ├── attributes │ ├── attr.js │ ├── classes.js │ ├── prop.js │ ├── support.js │ └── val.js │ ├── callbacks.js │ ├── core.js │ ├── core │ ├── DOMEval.js │ ├── access.js │ ├── init.js │ ├── nodeName.js │ ├── parseHTML.js │ ├── ready-no-deferred.js │ ├── ready.js │ ├── readyException.js │ ├── stripAndCollapse.js │ ├── support.js │ └── var │ │ └── rsingleTag.js │ ├── css.js │ ├── css │ ├── addGetHookIf.js │ ├── adjustCSS.js │ ├── curCSS.js │ ├── hiddenVisibleSelectors.js │ ├── showHide.js │ ├── support.js │ └── var │ │ ├── cssExpand.js │ │ ├── getStyles.js │ │ ├── isHiddenWithinTree.js │ │ ├── rmargin.js │ │ ├── rnumnonpx.js │ │ └── swap.js │ ├── data.js │ ├── data │ ├── Data.js │ └── var │ │ ├── acceptData.js │ │ ├── dataPriv.js │ │ └── dataUser.js │ ├── deferred.js │ ├── deferred │ └── exceptionHook.js │ ├── deprecated.js │ ├── dimensions.js │ ├── effects.js │ ├── effects │ ├── Tween.js │ └── animatedSelector.js │ ├── event.js │ ├── event │ ├── ajax.js │ ├── alias.js │ ├── focusin.js │ ├── support.js │ └── trigger.js │ ├── exports │ ├── amd.js │ └── global.js │ ├── jquery.js │ ├── manipulation.js │ ├── manipulation │ ├── _evalUrl.js │ ├── buildFragment.js │ ├── getAll.js │ ├── setGlobalEval.js │ ├── support.js │ ├── var │ │ ├── rcheckableType.js │ │ ├── rscriptType.js │ │ └── rtagName.js │ └── wrapMap.js │ ├── offset.js │ ├── queue.js │ ├── queue │ └── delay.js │ ├── selector-native.js │ ├── selector-sizzle.js │ ├── selector.js │ ├── serialize.js │ ├── traversing.js │ ├── traversing │ ├── findFilter.js │ └── var │ │ ├── dir.js │ │ ├── rneedsContext.js │ │ └── siblings.js │ ├── var │ ├── ObjectFunctionString.js │ ├── arr.js │ ├── class2type.js │ ├── concat.js │ ├── document.js │ ├── documentElement.js │ ├── fnToString.js │ ├── getProto.js │ ├── hasOwn.js │ ├── indexOf.js │ ├── pnum.js │ ├── push.js │ ├── rcssNum.js │ ├── rnothtmlwhite.js │ ├── slice.js │ ├── support.js │ └── toString.js │ └── wrap.js └── LICENSE /AspNetVideoCore.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetVideoCore", "AspNetVideoCore\AspNetVideoCore.csproj", "{A13F8115-6C22-4C52-8F7A-434F57E8F2C8}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A13F8115-6C22-4C52-8F7A-434F57E8F2C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {A13F8115-6C22-4C52-8F7A-434F57E8F2C8}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {A13F8115-6C22-4C52-8F7A-434F57E8F2C8}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {A13F8115-6C22-4C52-8F7A-434F57E8F2C8}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {CFD5AC33-4623-46B0-9E20-7B2947D6ED09} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /AspNetVideoCore/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /AspNetVideoCore/AspNetVideoCore.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | 15708227-134e-42d6-8c7f-5d58c2c0d737 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /AspNetVideoCore/Controllers/EmployeeController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace AspNetVideoCore.Controllers 4 | { 5 | //[Route("company/[controller]")] 6 | [Route("company/[controller]/[action]")] 7 | public class EmployeeController : Controller 8 | { 9 | public ContentResult Name() 10 | { 11 | return Content("Jonas"); 12 | } 13 | 14 | public string Country() 15 | { 16 | return "Sweden"; 17 | } 18 | 19 | public string Index() 20 | { 21 | return "Hello from Employee"; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /AspNetVideoCore/Data/VideoDbContext.cs: -------------------------------------------------------------------------------- 1 | using AspNetVideoCore.Entities; 2 | using Microsoft.AspNetCore.Identity.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore; 4 | 5 | namespace AspNetVideoCore.Data 6 | { 7 | public class VideoDbContext : IdentityDbContext 8 | { 9 | public DbSet