Browse Source

Moved modules and samples to their own repositories.

pull/272/head
Halil İbrahim Kalkan 8 years ago
parent
commit
f606ab5359
  1. 575
      Volo.Abp.sln
  2. 27
      nupkg/Volo.Abp.Account.Web.0.2.0/Volo.Abp.Account.Web.nuspec
  3. 10
      nupkg/Volo.Abp.Account.Web.0.2.0/[Content_Types].xml
  4. 5
      nupkg/Volo.Abp.Account.Web.0.2.0/_rels/.rels
  5. 45
      nupkg/Volo.Abp.Account.Web.0.2.0/content/Pages/Account/Login.cshtml
  6. 21
      nupkg/Volo.Abp.Account.Web.0.2.0/content/Pages/Account/Register.cshtml
  7. 27
      nupkg/Volo.Abp.Account.Web.0.2.0/content/Properties/launchSettings.json
  8. 45
      nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Pages/Account/Login.cshtml
  9. 21
      nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Pages/Account/Register.cshtml
  10. 27
      nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Properties/launchSettings.json
  11. BIN
      nupkg/Volo.Abp.Account.Web.0.2.0/lib/netstandard2.0/Volo.Abp.Account.Web.dll
  12. 9
      nupkg/Volo.Abp.Account.Web.0.2.0/package/services/metadata/core-properties/d0b9dbb571f046678dd82d6354463c78.psmdcp
  13. 18
      src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk.Application.Contracts.csproj
  14. 11
      src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/AbpDeskApplicationContractsModule.cs
  15. 7
      src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/Dtos/GetAllTicketsInput.cs
  16. 16
      src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/Dtos/TicketDto.cs
  17. 14
      src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/ITicketAppService.cs
  18. 18
      src/AbpDesk/AbpDesk.Application.Contracts/Properties/AssemblyInfo.cs
  19. 20
      src/AbpDesk/AbpDesk.Application/AbpDesk.Application.csproj
  20. 27
      src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs
  21. 14
      src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModuleAutoMapperProfile.cs
  22. 55
      src/AbpDesk/AbpDesk.Application/AbpDesk/Tickets/TicketAppService.cs
  23. 18
      src/AbpDesk/AbpDesk.Application/Properties/AssemblyInfo.cs
  24. 12
      src/AbpDesk/AbpDesk.ConsoleClient/AbpDesk.ConsoleClient.csproj
  25. 54
      src/AbpDesk/AbpDesk.ConsoleClient/Program.cs
  26. 42
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk.ConsoleDemo.csproj
  27. 38
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/AbpDeskConsoleDemoModule.cs
  28. 47
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/BlogPostLister.cs
  29. 76
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/Program.cs
  30. 55
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/TicketLister.cs
  31. 41
      src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs
  32. 18
      src/AbpDesk/AbpDesk.ConsoleDemo/Properties/AssemblyInfo.cs
  33. 25
      src/AbpDesk/AbpDesk.ConsoleDemo/appsettings.json
  34. 22
      src/AbpDesk/AbpDesk.Domain/AbpDesk.Domain.csproj
  35. 15
      src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs
  36. 36
      src/AbpDesk/AbpDesk.Domain/AbpDesk/Tickets/Ticket.cs
  37. 18
      src/AbpDesk/AbpDesk.Domain/Properties/AssemblyInfo.cs
  38. 32
      src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk.EntityFrameworkCore.csproj
  39. 37
      src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbConfigurer.cs
  40. 46
      src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs
  41. 17
      src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDefaultDbContextFactory.cs
  42. 29
      src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskEntityFrameworkCoreModule.cs
  43. 41
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20170123122207_AbpDesk_Initial.Designer.cs
  44. 32
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20170123122207_AbpDesk_Initial.cs
  45. 92
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180105184326_MultiTenancyModuleAdded.Designer.cs
  46. 62
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180105184326_MultiTenancyModuleAdded.cs
  47. 111
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180215073249_Added_PermissionGrant_Entity.Designer.cs
  48. 108
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180215073249_Added_PermissionGrant_Entity.cs
  49. 113
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180218143334_Made_Permission_Entity_MultiTenant.Designer.cs
  50. 23
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180218143334_Made_Permission_Entity_MultiTenant.cs
  51. 112
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/AbpDeskDbContextModelSnapshot.cs
  52. 18
      src/AbpDesk/AbpDesk.EntityFrameworkCore/Properties/AssemblyInfo.cs
  53. 32
      src/AbpDesk/AbpDesk.MongoBlog/AbpDesk.MongoBlog.csproj
  54. 91
      src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/AbpDeskMongoBlogModule.cs
  55. 21
      src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/AbpDeskMongoDbContext.cs
  56. 46
      src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/BlogPost.cs
  57. 42
      src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/BlogPostComment.cs
  58. 26
      src/AbpDesk/AbpDesk.MongoBlog/Areas/Blog/Controllers/PostsController.cs
  59. 29
      src/AbpDesk/AbpDesk.MongoBlog/Areas/Blog/Views/Posts/Index.cshtml
  60. 18
      src/AbpDesk/AbpDesk.MongoBlog/Properties/AssemblyInfo.cs
  61. 19
      src/AbpDesk/AbpDesk.MongoBlog/Properties/launchSettings.json
  62. 6
      src/AbpDesk/AbpDesk.MongoBlog/compilerconfig.json
  63. 49
      src/AbpDesk/AbpDesk.MongoBlog/compilerconfig.json.defaults
  64. 7
      src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.css
  65. 1
      src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.min.css
  66. 11
      src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.scss
  67. 18
      src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDesk.SamplePlugInModule.csproj
  68. 13
      src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs
  69. 18
      src/AbpDesk/AbpDesk.SamplePlugInModule/Properties/AssemblyInfo.cs
  70. 72
      src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj
  71. 208
      src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs
  72. 4
      src/AbpDesk/AbpDesk.Web.Mvc/Areas/_ViewImports.cshtml
  73. 3
      src/AbpDesk/AbpDesk.Web.Mvc/Areas/_ViewStart.cshtml
  74. 23
      src/AbpDesk/AbpDesk.Web.Mvc/Controllers/AuthTestController.cs
  75. 59
      src/AbpDesk/AbpDesk.Web.Mvc/Controllers/IdentityServerTestController.cs
  76. 18
      src/AbpDesk/AbpDesk.Web.Mvc/Controllers/IdentityTestController.cs
  77. 66
      src/AbpDesk/AbpDesk.Web.Mvc/Controllers/MultiTenancyController.cs
  78. 9
      src/AbpDesk/AbpDesk.Web.Mvc/Dockerfile
  79. 37
      src/AbpDesk/AbpDesk.Web.Mvc/Navigation/MainMenuContributor.cs
  80. 37
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml
  81. 26
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml.cs
  82. 16
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Todo/Index.cshtml
  83. 12
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Todo/Index.cshtml.cs
  84. 3
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/Index.cshtml
  85. 12
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/Index.cshtml.cs
  86. 4
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/_ViewImports.cshtml
  87. 4
      src/AbpDesk/AbpDesk.Web.Mvc/Pages/_ViewStart.cshtml
  88. 20
      src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs
  89. 20
      src/AbpDesk/AbpDesk.Web.Mvc/Program.cs
  90. 27
      src/AbpDesk/AbpDesk.Web.Mvc/Properties/launchSettings.json
  91. 56
      src/AbpDesk/AbpDesk.Web.Mvc/Startup.cs
  92. 4
      src/AbpDesk/AbpDesk.Web.Mvc/Views/_ViewImports.cshtml
  93. 3
      src/AbpDesk/AbpDesk.Web.Mvc/Views/_ViewStart.cshtml
  94. 11
      src/AbpDesk/AbpDesk.Web.Mvc/appsettings.Staging.json
  95. 28
      src/AbpDesk/AbpDesk.Web.Mvc/appsettings.json
  96. 6
      src/AbpDesk/AbpDesk.Web.Mvc/compilerconfig.json
  97. 49
      src/AbpDesk/AbpDesk.Web.Mvc/compilerconfig.json.defaults
  98. 1
      src/AbpDesk/AbpDesk.Web.Mvc/tempkey.rsa
  99. 12
      src/AbpDesk/AbpDesk.Web.Mvc/web.config
  100. 5
      src/AbpDesk/AbpDesk.Web.Mvc/wwwroot/global-styles.css

575
Volo.Abp.sln

@ -9,18 +9,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{447C8A77-E5F0-4538-8687-7383196D04EA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Framework", "Framework", "{4C753F64-0C93-4D65-96C2-A40893AFC1E8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Framework", "Framework", "{37087D1B-3693-4E96-983D-A69F210BDE53}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AbpDesk", "AbpDesk", "{1187F469-0063-4065-9419-A1D956C80145}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AbpDesk", "AbpDesk", "{61708AC8-CE70-4351-9B31-13EA8213D208}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.Identity", "Abp.Identity", "{1895A5C9-50D4-4568-9A3A-14657E615A5E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.Identity", "Abp.Identity", "{146F561E-C7B8-4166-9383-47E1BC1A2E62}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker-files", "docker-files", "{0BEA55D6-E0B8-40DD-A256-B34C4DD990A5}"
ProjectSection(SolutionItems) = preProject
docker\docker-compose.yml = docker\docker-compose.yml
@ -50,52 +38,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.TestBas
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EntityFrameworkCore", "src\Volo.Abp.EntityFrameworkCore\Volo.Abp.EntityFrameworkCore.csproj", "{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.Domain", "src\AbpDesk\AbpDesk.Domain\AbpDesk.Domain.csproj", "{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.Application.Contracts", "src\AbpDesk\AbpDesk.Application.Contracts\AbpDesk.Application.Contracts.csproj", "{E45B2BA3-7917-4236-99CD-B0A25285A652}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.Application", "src\AbpDesk\AbpDesk.Application\AbpDesk.Application.csproj", "{B6E622CE-0AEE-45DA-81AB-C244196CB583}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.EntityFrameworkCore", "src\AbpDesk\AbpDesk.EntityFrameworkCore\AbpDesk.EntityFrameworkCore.csproj", "{35624E7C-6501-4B42-9AA7-70555666A8B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.ConsoleDemo", "src\AbpDesk\AbpDesk.ConsoleDemo\AbpDesk.ConsoleDemo.csproj", "{1A1575D7-E57E-4A40-8113-FD01BB1753D5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc", "src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj", "{3FB342CA-23B6-4795-91EF-C664527C07B7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.Application.Tests", "test\AbpDesk\AbpDesk.Application.Tests\AbpDesk.Application.Tests.csproj", "{E6E2467C-184A-4A0A-929F-932D5097953E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TestBase", "src\Volo.Abp.TestBase\Volo.Abp.TestBase.csproj", "{8CECCEAF-F0D8-4257-96BA-EACF4763AF42}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.Web.Mvc", "src\AbpDesk\AbpDesk.Web.Mvc\AbpDesk.Web.Mvc.csproj", "{12E14D95-4ABA-4290-AB1D-CCF5EB158411}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.EntityFrameworkCore", "src\Volo.Abp.Identity.EntityFrameworkCore\Volo.Abp.Identity.EntityFrameworkCore.csproj", "{439DFC0F-1BA2-464F-900E-EA7E18C08975}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Tests", "test\Volo.Abp.Identity.Tests\Volo.Abp.Identity.Tests.csproj", "{4AB91077-82DC-4335-9274-BCE017BD9C8B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MongoDB", "src\Volo.Abp.MongoDB\Volo.Abp.MongoDB.csproj", "{B31FFAE3-5DAC-4E51-BD17-F7446B741A36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.MongoBlog", "src\AbpDesk\AbpDesk.MongoBlog\AbpDesk.MongoBlog.csproj", "{63244DC7-34BE-44E1-BF6F-F2672E59AF36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.SamplePlugInModule", "src\AbpDesk\AbpDesk.SamplePlugInModule\AbpDesk.SamplePlugInModule.csproj", "{ADFAF85B-B785-41EA-B57D-422775989FA6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI", "src\Volo.Abp.AspNetCore.Mvc.UI\Volo.Abp.AspNetCore.Mvc.UI.csproj", "{BF9AB22C-F48D-4DDE-A894-BC28EB37166B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.EmbeddedFiles", "src\Volo.Abp.AspNetCore.EmbeddedFiles\Volo.Abp.AspNetCore.EmbeddedFiles.csproj", "{B6182BF1-9EC6-403D-A42C-D6441CF7B390}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", "src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj", "{C761A3F7-787D-4C7E-A41C-5FAB07F6B774}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Application.Contracts", "src\Volo.Abp.Identity.Application.Contracts\Volo.Abp.Identity.Application.Contracts.csproj", "{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Application", "src\Volo.Abp.Identity.Application\Volo.Abp.Identity.Application.csproj", "{54592671-9CB6-48AE-9AE0-84CD016E87FF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.HttpApi", "src\Volo.Abp.Identity.HttpApi\Volo.Abp.Identity.HttpApi.csproj", "{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.HttpApi.Host", "src\Volo.Abp.Identity.HttpApi.Host\Volo.Abp.Identity.HttpApi.Host.csproj", "{EB902D57-C047-4CDF-828B-FDC204AC7398}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Web", "src\Volo.Abp.Identity.Web\Volo.Abp.Identity.Web.csproj", "{17B14A48-5248-4F4C-A8E6-6926AA94EB7C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.HttpApi.Client", "src\Volo.Abp.Identity.HttpApi.Client\Volo.Abp.Identity.HttpApi.Client.csproj", "{00B240B6-EC44-461A-9578-EF4F1BE9C688}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Autofac", "src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj", "{CECE1288-B5A1-4A6B-BEE0-331861F94983}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Castle.Core", "src\Volo.Abp.Castle.Core\Volo.Abp.Castle.Core.csproj", "{053F7446-0545-482E-9F29-9C96B926966C}"
@ -124,12 +78,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client", "src
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client.Tests", "test\Volo.Abp.Http.Client.Tests\Volo.Abp.Http.Client.Tests.csproj", "{703BD43C-02B9-413F-854C-9CBA0C963196}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Application.Tests", "test\Volo.Abp.Identity.Application.Tests\Volo.Abp.Identity.Application.Tests.csproj", "{40E21A35-1C66-4E89-A16E-0475011F7EFD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Domain", "src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj", "{43D4005C-4F04-4128-937B-52BEAC5A113B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Identity.Domain.Shared", "src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj", "{DF676F73-3FC9-46CE-909A-2D75E19982AD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EntityFrameworkCore.Tests", "test\Volo.Abp.EntityFrameworkCore.Tests\Volo.Abp.EntityFrameworkCore.Tests.csproj", "{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleConsoleDemo", "test\SimpleConsoleDemo\SimpleConsoleDemo.csproj", "{2B48CF90-DBDB-469F-941C-5B5AECEEACE0}"
@ -138,10 +86,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EntityFrameworkCor
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.Versioning.Tests", "test\Volo.Abp.AspNetCore.Mvc.Versioning.Tests\Volo.Abp.AspNetCore.Mvc.Versioning.Tests.csproj", "{A8C8B76D-0869-4C11-AC55-DB9DD115788E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.Account", "Abp.Account", "{DB012309-74FD-4D5A-B843-DD77BF053BF4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Account.Web", "src\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj", "{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem", "src\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj", "{6E6A7554-3488-45AB-BC0E-9BDE1F19789D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem.Tests", "test\Volo.Abp.VirtualFileSystem.Tests\Volo.Abp.VirtualFileSystem.Tests.csproj", "{F79B6D80-C79B-4C13-9221-CA2345983743}"
@ -190,76 +134,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.UI.Navigation", "s
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.UI.Navigation.Tests", "test\Volo.Abp.UI.Navigation.Tests\Volo.Abp.UI.Navigation.Tests.csproj", "{975056D6-0B2D-43BA-9BF8-0E937581F873}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.IdentityServer", "Abp.IdentityServer", "{324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityServer.Domain", "src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj", "{210B1A21-CBC8-423D-9C69-3E63569F2C43}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityServer.EntityFrameworkCore", "src\Volo.Abp.IdentityServer.EntityFrameworkCore\Volo.Abp.IdentityServer.EntityFrameworkCore.csproj", "{8D891D68-7859-477D-BE78-99258B8B1E86}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.IdentityServer", "Abp.IdentityServer", "{3DF5C4E8-51E7-4931-B4F4-EA390AB8FCC9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Abp.IdentityServer.EntityFrameworkCore.Tests", "test\Abp.IdentityServer.EntityFrameworkCore.Tests\Abp.IdentityServer.EntityFrameworkCore.Tests.csproj", "{0C73A439-7CD2-4105-8B70-30B896C15C72}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityServer.Application.Contracts", "src\Volo.Abp.IdentityServer.Application.Contracts\Volo.Abp.IdentityServer.Application.Contracts.csproj", "{253C20C0-1F46-410A-ACFE-2F375491E6D2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityServer.Domain.Shared", "src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj", "{C386A083-4190-4567-B4E3-95D1C800A298}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.IdentityServer.Application", "src\Volo.Abp.IdentityServer.Application\Volo.Abp.IdentityServer.Application.csproj", "{2794C2A5-C633-41E3-8B47-0659E72D8C9B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpDesk.ConsoleClient", "src\AbpDesk\AbpDesk.ConsoleClient\AbpDesk.ConsoleClient.csproj", "{93B574B5-2827-4E0A-86FB-B07EF40BB39F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{3B481ACC-5BB3-4189-880C-5F7A27EAEB70}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{282A5684-F573-47BB-B044-10F3F710E22A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.MultiTenancy", "Abp.MultiTenancy", "{CA154803-3589-47B3-B7CB-B18F94FE1EB6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.EntityFrameworkCore", "src\Volo.Abp.MultiTenancy.EntityFrameworkCore\Volo.Abp.MultiTenancy.EntityFrameworkCore.csproj", "{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Domain", "src\Volo.Abp.MultiTenancy.Domain\Volo.Abp.MultiTenancy.Domain.csproj", "{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Domain.Shared", "src\Volo.Abp.MultiTenancy.Domain.Shared\Volo.Abp.MultiTenancy.Domain.Shared.csproj", "{4605A64C-B4E0-4A04-9BF2-501027375258}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application.Contracts", "src\Volo.Abp.MultiTenancy.Application.Contracts\Volo.Abp.MultiTenancy.Application.Contracts.csproj", "{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application", "src\Volo.Abp.MultiTenancy.Application\Volo.Abp.MultiTenancy.Application.csproj", "{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.MultiTenancy", "Abp.MultiTenancy", "{3CE22CAC-4B27-4EEC-A35E-C01219ED6E99}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application.Tests", "test\Volo.Abp.MultiTenancy.Application.Tests\Volo.Abp.MultiTenancy.Application.Tests.csproj", "{B65973F1-9EE0-4914-B6F2-D88F753E1D21}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Web", "src\Volo.Abp.MultiTenancy.Web\Volo.Abp.MultiTenancy.Web.csproj", "{0808036D-065B-4525-BF30-CBCEA062F8E9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.HttpApi", "src\Volo.Abp.MultiTenancy.HttpApi\Volo.Abp.MultiTenancy.HttpApi.csproj", "{06423FAC-67E2-4B7C-B29F-39578F460C4F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings", "src\Volo.Abp.Settings\Volo.Abp.Settings.csproj", "{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings.EntityFrameworkCore", "src\Volo.Abp.Settings.EntityFrameworkCore\Volo.Abp.Settings.EntityFrameworkCore.csproj", "{1DCD9600-215A-4A94-AEFD-577568D62633}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings.Domain", "src\Volo.Abp.Settings.Domain\Volo.Abp.Settings.Domain.csproj", "{837BC537-3AEC-4F6D-9D64-9704F64D0E1E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings.Tests", "test\Volo.Abp.Settings.Tests\Volo.Abp.Settings.Tests.csproj", "{61422EC8-8FFB-48EA-B4B5-527E29077930}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings.Domain.Shared", "src\Volo.Abp.Settings.Domain.Shared\Volo.Abp.Settings.Domain.Shared.csproj", "{27F990E2-6820-4159-B54A-59C8ADED8D28}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.Settings", "Abp.Settings", "{D62B8D43-B8D9-4FC6-97E2-DC54CD765915}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.Permissions", "Abp.Permissions", "{055F4AC0-46C4-4E99-89CD-0F30D4A97382}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Domain", "src\Volo.Abp.Permissions.Domain\Volo.Abp.Permissions.Domain.csproj", "{D77E0662-8404-43C5-9C46-6289EA207A40}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Domain.Shared", "src\Volo.Abp.Permissions.Domain.Shared\Volo.Abp.Permissions.Domain.Shared.csproj", "{E4D0326C-515D-46FA-AF7E-1AC32155BD03}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.EntityFrameworkCore", "src\Volo.Abp.Permissions.EntityFrameworkCore\Volo.Abp.Permissions.EntityFrameworkCore.csproj", "{2300E155-2621-4FCF-BD44-B61BA5A92B82}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Tests", "test\Volo.Abp.Permissions.Tests\Volo.Abp.Permissions.Tests.csproj", "{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Web", "src\Volo.Abp.Permissions.Web\Volo.Abp.Permissions.Web.csproj", "{8859CFE4-BC7F-4F29-B6B5-A9457435CC32}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Application.Contracts", "src\Volo.Abp.Permissions.Application.Contracts\Volo.Abp.Permissions.Application.Contracts.csproj", "{837ABFF5-66EE-486A-8023-8DD3EE7D7D96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Permissions.Application", "src\Volo.Abp.Permissions.Application\Volo.Abp.Permissions.Application.csproj", "{90197499-CBB6-4C8C-90E6-8718CD755C04}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Caching", "src\Volo.Abp.Caching\Volo.Abp.Caching.csproj", "{A5B650AB-A67F-4A4C-9F81-7B5471CA1331}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.EventBus", "src\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj", "{D9455AE7-2E0C-4647-9880-F5831BCEE3D8}"
@ -274,20 +150,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Serialization.Test
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Authorization.Tests", "test\Volo.Abp.Authorization.Tests\Volo.Abp.Authorization.Tests.csproj", "{B10E37A1-43A1-4042-BAAA-F589302958D5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MicroserviceDemo", "MicroserviceDemo", "{3510E248-DC9F-4A07-8134-02E7F5CC5783}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroserviceDemo.Web", "src\MicroserviceDemo\MicroserviceDemo.Web\MicroserviceDemo.Web.csproj", "{258B4E36-BF5B-484D-B10E-7D5AF868FA44}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroserviceDemo.TenancyService", "src\MicroserviceDemo\MicroserviceDemo.TenancyService\MicroserviceDemo.TenancyService.csproj", "{067627C7-6891-453A-A219-35141733D776}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.HttpApi.Client", "src\Volo.Abp.MultiTenancy.HttpApi.Client\Volo.Abp.MultiTenancy.HttpApi.Client.csproj", "{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroserviceDemo.AuthServer", "src\MicroserviceDemo\MicroserviceDemo.AuthServer\MicroserviceDemo.AuthServer.csproj", "{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Account.Web.IdentityServer", "src\Volo.Abp.Account.Web.IdentityServer\Volo.Abp.Account.Web.IdentityServer.csproj", "{E4AB8A4F-BB59-4BDB-B915-877CE97D8113}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroserviceDemo.ConsoleClient", "src\MicroserviceDemo\MicroserviceDemo.ConsoleClient\MicroserviceDemo.ConsoleClient.csproj", "{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Authentication.OAuth", "src\Volo.Abp.AspNetCore.Authentication.OAuth\Volo.Abp.AspNetCore.Authentication.OAuth.csproj", "{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Authentication.OAuth.Tests", "test\Volo.Abp.AspNetCore.Authentication.OAuth.Tests\Volo.Abp.AspNetCore.Authentication.OAuth.Tests.csproj", "{627B88DB-BDCF-4D92-8454-EFE95F4AFB7A}"
@ -300,15 +162,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Ddd.Domain", "src\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Ddd.Application", "src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj", "{5AB7E368-1CC8-401D-9952-6CA6779305E7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{EBD87D3A-8130-4FBB-9A47-4A81717BB915}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{F33F751F-1260-40C0-8F76-E3D680605662}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Users", "src\Volo.Abp.Users\Volo.Abp.Users.csproj", "{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Users", "src\Volo.Abp.Users\Volo.Abp.Users.csproj", "{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Auditing", "src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj", "{03F51721-DA51-4BAE-9909-3FC88FAB7774}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Auditing", "src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj", "{03F51721-DA51-4BAE-9909-3FC88FAB7774}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Auditing.Tests", "test\Volo.Abp.Auditing.Tests\Volo.Abp.Auditing.Tests.csproj", "{D5733D90-8C3D-4026-85E2-41DED26C4938}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Auditing.Tests", "test\Volo.Abp.Auditing.Tests\Volo.Abp.Auditing.Tests.csproj", "{D5733D90-8C3D-4026-85E2-41DED26C4938}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -348,62 +206,18 @@ Global
{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB}.Release|Any CPU.Build.0 = Release|Any CPU
{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8}.Release|Any CPU.Build.0 = Release|Any CPU
{E45B2BA3-7917-4236-99CD-B0A25285A652}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E45B2BA3-7917-4236-99CD-B0A25285A652}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E45B2BA3-7917-4236-99CD-B0A25285A652}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E45B2BA3-7917-4236-99CD-B0A25285A652}.Release|Any CPU.Build.0 = Release|Any CPU
{B6E622CE-0AEE-45DA-81AB-C244196CB583}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6E622CE-0AEE-45DA-81AB-C244196CB583}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6E622CE-0AEE-45DA-81AB-C244196CB583}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6E622CE-0AEE-45DA-81AB-C244196CB583}.Release|Any CPU.Build.0 = Release|Any CPU
{35624E7C-6501-4B42-9AA7-70555666A8B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35624E7C-6501-4B42-9AA7-70555666A8B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35624E7C-6501-4B42-9AA7-70555666A8B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35624E7C-6501-4B42-9AA7-70555666A8B3}.Release|Any CPU.Build.0 = Release|Any CPU
{1A1575D7-E57E-4A40-8113-FD01BB1753D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A1575D7-E57E-4A40-8113-FD01BB1753D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A1575D7-E57E-4A40-8113-FD01BB1753D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A1575D7-E57E-4A40-8113-FD01BB1753D5}.Release|Any CPU.Build.0 = Release|Any CPU
{3FB342CA-23B6-4795-91EF-C664527C07B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FB342CA-23B6-4795-91EF-C664527C07B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FB342CA-23B6-4795-91EF-C664527C07B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FB342CA-23B6-4795-91EF-C664527C07B7}.Release|Any CPU.Build.0 = Release|Any CPU
{E6E2467C-184A-4A0A-929F-932D5097953E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6E2467C-184A-4A0A-929F-932D5097953E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6E2467C-184A-4A0A-929F-932D5097953E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6E2467C-184A-4A0A-929F-932D5097953E}.Release|Any CPU.Build.0 = Release|Any CPU
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42}.Release|Any CPU.Build.0 = Release|Any CPU
{12E14D95-4ABA-4290-AB1D-CCF5EB158411}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12E14D95-4ABA-4290-AB1D-CCF5EB158411}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12E14D95-4ABA-4290-AB1D-CCF5EB158411}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12E14D95-4ABA-4290-AB1D-CCF5EB158411}.Release|Any CPU.Build.0 = Release|Any CPU
{439DFC0F-1BA2-464F-900E-EA7E18C08975}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{439DFC0F-1BA2-464F-900E-EA7E18C08975}.Debug|Any CPU.Build.0 = Debug|Any CPU
{439DFC0F-1BA2-464F-900E-EA7E18C08975}.Release|Any CPU.ActiveCfg = Release|Any CPU
{439DFC0F-1BA2-464F-900E-EA7E18C08975}.Release|Any CPU.Build.0 = Release|Any CPU
{4AB91077-82DC-4335-9274-BCE017BD9C8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AB91077-82DC-4335-9274-BCE017BD9C8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AB91077-82DC-4335-9274-BCE017BD9C8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AB91077-82DC-4335-9274-BCE017BD9C8B}.Release|Any CPU.Build.0 = Release|Any CPU
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36}.Release|Any CPU.Build.0 = Release|Any CPU
{63244DC7-34BE-44E1-BF6F-F2672E59AF36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63244DC7-34BE-44E1-BF6F-F2672E59AF36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63244DC7-34BE-44E1-BF6F-F2672E59AF36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63244DC7-34BE-44E1-BF6F-F2672E59AF36}.Release|Any CPU.Build.0 = Release|Any CPU
{ADFAF85B-B785-41EA-B57D-422775989FA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADFAF85B-B785-41EA-B57D-422775989FA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADFAF85B-B785-41EA-B57D-422775989FA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADFAF85B-B785-41EA-B57D-422775989FA6}.Release|Any CPU.Build.0 = Release|Any CPU
{BF9AB22C-F48D-4DDE-A894-BC28EB37166B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF9AB22C-F48D-4DDE-A894-BC28EB37166B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF9AB22C-F48D-4DDE-A894-BC28EB37166B}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -416,30 +230,6 @@ Global
{C761A3F7-787D-4C7E-A41C-5FAB07F6B774}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C761A3F7-787D-4C7E-A41C-5FAB07F6B774}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C761A3F7-787D-4C7E-A41C-5FAB07F6B774}.Release|Any CPU.Build.0 = Release|Any CPU
{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F}.Release|Any CPU.Build.0 = Release|Any CPU
{54592671-9CB6-48AE-9AE0-84CD016E87FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{54592671-9CB6-48AE-9AE0-84CD016E87FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{54592671-9CB6-48AE-9AE0-84CD016E87FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54592671-9CB6-48AE-9AE0-84CD016E87FF}.Release|Any CPU.Build.0 = Release|Any CPU
{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61}.Release|Any CPU.Build.0 = Release|Any CPU
{EB902D57-C047-4CDF-828B-FDC204AC7398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB902D57-C047-4CDF-828B-FDC204AC7398}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB902D57-C047-4CDF-828B-FDC204AC7398}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB902D57-C047-4CDF-828B-FDC204AC7398}.Release|Any CPU.Build.0 = Release|Any CPU
{17B14A48-5248-4F4C-A8E6-6926AA94EB7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{17B14A48-5248-4F4C-A8E6-6926AA94EB7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{17B14A48-5248-4F4C-A8E6-6926AA94EB7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17B14A48-5248-4F4C-A8E6-6926AA94EB7C}.Release|Any CPU.Build.0 = Release|Any CPU
{00B240B6-EC44-461A-9578-EF4F1BE9C688}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{00B240B6-EC44-461A-9578-EF4F1BE9C688}.Debug|Any CPU.Build.0 = Debug|Any CPU
{00B240B6-EC44-461A-9578-EF4F1BE9C688}.Release|Any CPU.ActiveCfg = Release|Any CPU
{00B240B6-EC44-461A-9578-EF4F1BE9C688}.Release|Any CPU.Build.0 = Release|Any CPU
{CECE1288-B5A1-4A6B-BEE0-331861F94983}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CECE1288-B5A1-4A6B-BEE0-331861F94983}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CECE1288-B5A1-4A6B-BEE0-331861F94983}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -496,18 +286,6 @@ Global
{703BD43C-02B9-413F-854C-9CBA0C963196}.Debug|Any CPU.Build.0 = Debug|Any CPU
{703BD43C-02B9-413F-854C-9CBA0C963196}.Release|Any CPU.ActiveCfg = Release|Any CPU
{703BD43C-02B9-413F-854C-9CBA0C963196}.Release|Any CPU.Build.0 = Release|Any CPU
{40E21A35-1C66-4E89-A16E-0475011F7EFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40E21A35-1C66-4E89-A16E-0475011F7EFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40E21A35-1C66-4E89-A16E-0475011F7EFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40E21A35-1C66-4E89-A16E-0475011F7EFD}.Release|Any CPU.Build.0 = Release|Any CPU
{43D4005C-4F04-4128-937B-52BEAC5A113B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43D4005C-4F04-4128-937B-52BEAC5A113B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43D4005C-4F04-4128-937B-52BEAC5A113B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43D4005C-4F04-4128-937B-52BEAC5A113B}.Release|Any CPU.Build.0 = Release|Any CPU
{DF676F73-3FC9-46CE-909A-2D75E19982AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF676F73-3FC9-46CE-909A-2D75E19982AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF676F73-3FC9-46CE-909A-2D75E19982AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF676F73-3FC9-46CE-909A-2D75E19982AD}.Release|Any CPU.Build.0 = Release|Any CPU
{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -524,10 +302,6 @@ Global
{A8C8B76D-0869-4C11-AC55-DB9DD115788E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8C8B76D-0869-4C11-AC55-DB9DD115788E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8C8B76D-0869-4C11-AC55-DB9DD115788E}.Release|Any CPU.Build.0 = Release|Any CPU
{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B}.Release|Any CPU.Build.0 = Release|Any CPU
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -624,114 +398,10 @@ Global
{975056D6-0B2D-43BA-9BF8-0E937581F873}.Debug|Any CPU.Build.0 = Debug|Any CPU
{975056D6-0B2D-43BA-9BF8-0E937581F873}.Release|Any CPU.ActiveCfg = Release|Any CPU
{975056D6-0B2D-43BA-9BF8-0E937581F873}.Release|Any CPU.Build.0 = Release|Any CPU
{210B1A21-CBC8-423D-9C69-3E63569F2C43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{210B1A21-CBC8-423D-9C69-3E63569F2C43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{210B1A21-CBC8-423D-9C69-3E63569F2C43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{210B1A21-CBC8-423D-9C69-3E63569F2C43}.Release|Any CPU.Build.0 = Release|Any CPU
{8D891D68-7859-477D-BE78-99258B8B1E86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D891D68-7859-477D-BE78-99258B8B1E86}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D891D68-7859-477D-BE78-99258B8B1E86}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D891D68-7859-477D-BE78-99258B8B1E86}.Release|Any CPU.Build.0 = Release|Any CPU
{0C73A439-7CD2-4105-8B70-30B896C15C72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C73A439-7CD2-4105-8B70-30B896C15C72}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C73A439-7CD2-4105-8B70-30B896C15C72}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C73A439-7CD2-4105-8B70-30B896C15C72}.Release|Any CPU.Build.0 = Release|Any CPU
{253C20C0-1F46-410A-ACFE-2F375491E6D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{253C20C0-1F46-410A-ACFE-2F375491E6D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{253C20C0-1F46-410A-ACFE-2F375491E6D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{253C20C0-1F46-410A-ACFE-2F375491E6D2}.Release|Any CPU.Build.0 = Release|Any CPU
{C386A083-4190-4567-B4E3-95D1C800A298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C386A083-4190-4567-B4E3-95D1C800A298}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C386A083-4190-4567-B4E3-95D1C800A298}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C386A083-4190-4567-B4E3-95D1C800A298}.Release|Any CPU.Build.0 = Release|Any CPU
{2794C2A5-C633-41E3-8B47-0659E72D8C9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2794C2A5-C633-41E3-8B47-0659E72D8C9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2794C2A5-C633-41E3-8B47-0659E72D8C9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2794C2A5-C633-41E3-8B47-0659E72D8C9B}.Release|Any CPU.Build.0 = Release|Any CPU
{93B574B5-2827-4E0A-86FB-B07EF40BB39F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{93B574B5-2827-4E0A-86FB-B07EF40BB39F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{93B574B5-2827-4E0A-86FB-B07EF40BB39F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{93B574B5-2827-4E0A-86FB-B07EF40BB39F}.Release|Any CPU.Build.0 = Release|Any CPU
{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD}.Release|Any CPU.Build.0 = Release|Any CPU
{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43}.Release|Any CPU.Build.0 = Release|Any CPU
{4605A64C-B4E0-4A04-9BF2-501027375258}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4605A64C-B4E0-4A04-9BF2-501027375258}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4605A64C-B4E0-4A04-9BF2-501027375258}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4605A64C-B4E0-4A04-9BF2-501027375258}.Release|Any CPU.Build.0 = Release|Any CPU
{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}.Release|Any CPU.Build.0 = Release|Any CPU
{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}.Release|Any CPU.Build.0 = Release|Any CPU
{B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Release|Any CPU.Build.0 = Release|Any CPU
{0808036D-065B-4525-BF30-CBCEA062F8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0808036D-065B-4525-BF30-CBCEA062F8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0808036D-065B-4525-BF30-CBCEA062F8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0808036D-065B-4525-BF30-CBCEA062F8E9}.Release|Any CPU.Build.0 = Release|Any CPU
{06423FAC-67E2-4B7C-B29F-39578F460C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{06423FAC-67E2-4B7C-B29F-39578F460C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{06423FAC-67E2-4B7C-B29F-39578F460C4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{06423FAC-67E2-4B7C-B29F-39578F460C4F}.Release|Any CPU.Build.0 = Release|Any CPU
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6}.Release|Any CPU.Build.0 = Release|Any CPU
{1DCD9600-215A-4A94-AEFD-577568D62633}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1DCD9600-215A-4A94-AEFD-577568D62633}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1DCD9600-215A-4A94-AEFD-577568D62633}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1DCD9600-215A-4A94-AEFD-577568D62633}.Release|Any CPU.Build.0 = Release|Any CPU
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E}.Release|Any CPU.Build.0 = Release|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Release|Any CPU.Build.0 = Release|Any CPU
{27F990E2-6820-4159-B54A-59C8ADED8D28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27F990E2-6820-4159-B54A-59C8ADED8D28}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27F990E2-6820-4159-B54A-59C8ADED8D28}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27F990E2-6820-4159-B54A-59C8ADED8D28}.Release|Any CPU.Build.0 = Release|Any CPU
{D77E0662-8404-43C5-9C46-6289EA207A40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D77E0662-8404-43C5-9C46-6289EA207A40}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D77E0662-8404-43C5-9C46-6289EA207A40}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D77E0662-8404-43C5-9C46-6289EA207A40}.Release|Any CPU.Build.0 = Release|Any CPU
{E4D0326C-515D-46FA-AF7E-1AC32155BD03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E4D0326C-515D-46FA-AF7E-1AC32155BD03}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4D0326C-515D-46FA-AF7E-1AC32155BD03}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4D0326C-515D-46FA-AF7E-1AC32155BD03}.Release|Any CPU.Build.0 = Release|Any CPU
{2300E155-2621-4FCF-BD44-B61BA5A92B82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2300E155-2621-4FCF-BD44-B61BA5A92B82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2300E155-2621-4FCF-BD44-B61BA5A92B82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2300E155-2621-4FCF-BD44-B61BA5A92B82}.Release|Any CPU.Build.0 = Release|Any CPU
{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647}.Release|Any CPU.Build.0 = Release|Any CPU
{8859CFE4-BC7F-4F29-B6B5-A9457435CC32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8859CFE4-BC7F-4F29-B6B5-A9457435CC32}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8859CFE4-BC7F-4F29-B6B5-A9457435CC32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8859CFE4-BC7F-4F29-B6B5-A9457435CC32}.Release|Any CPU.Build.0 = Release|Any CPU
{837ABFF5-66EE-486A-8023-8DD3EE7D7D96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{837ABFF5-66EE-486A-8023-8DD3EE7D7D96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{837ABFF5-66EE-486A-8023-8DD3EE7D7D96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{837ABFF5-66EE-486A-8023-8DD3EE7D7D96}.Release|Any CPU.Build.0 = Release|Any CPU
{90197499-CBB6-4C8C-90E6-8718CD755C04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90197499-CBB6-4C8C-90E6-8718CD755C04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90197499-CBB6-4C8C-90E6-8718CD755C04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90197499-CBB6-4C8C-90E6-8718CD755C04}.Release|Any CPU.Build.0 = Release|Any CPU
{A5B650AB-A67F-4A4C-9F81-7B5471CA1331}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A5B650AB-A67F-4A4C-9F81-7B5471CA1331}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5B650AB-A67F-4A4C-9F81-7B5471CA1331}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -760,30 +430,6 @@ Global
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Release|Any CPU.Build.0 = Release|Any CPU
{258B4E36-BF5B-484D-B10E-7D5AF868FA44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{258B4E36-BF5B-484D-B10E-7D5AF868FA44}.Debug|Any CPU.Build.0 = Debug|Any CPU
{258B4E36-BF5B-484D-B10E-7D5AF868FA44}.Release|Any CPU.ActiveCfg = Release|Any CPU
{258B4E36-BF5B-484D-B10E-7D5AF868FA44}.Release|Any CPU.Build.0 = Release|Any CPU
{067627C7-6891-453A-A219-35141733D776}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{067627C7-6891-453A-A219-35141733D776}.Debug|Any CPU.Build.0 = Debug|Any CPU
{067627C7-6891-453A-A219-35141733D776}.Release|Any CPU.ActiveCfg = Release|Any CPU
{067627C7-6891-453A-A219-35141733D776}.Release|Any CPU.Build.0 = Release|Any CPU
{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39}.Release|Any CPU.Build.0 = Release|Any CPU
{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A}.Release|Any CPU.Build.0 = Release|Any CPU
{E4AB8A4F-BB59-4BDB-B915-877CE97D8113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E4AB8A4F-BB59-4BDB-B915-877CE97D8113}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4AB8A4F-BB59-4BDB-B915-877CE97D8113}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4AB8A4F-BB59-4BDB-B915-877CE97D8113}.Release|Any CPU.Build.0 = Release|Any CPU
{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39}.Release|Any CPU.Build.0 = Release|Any CPU
{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -825,152 +471,81 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{4C753F64-0C93-4D65-96C2-A40893AFC1E8} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{37087D1B-3693-4E96-983D-A69F210BDE53} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{1187F469-0063-4065-9419-A1D956C80145} = {282A5684-F573-47BB-B044-10F3F710E22A}
{61708AC8-CE70-4351-9B31-13EA8213D208} = {F33F751F-1260-40C0-8F76-E3D680605662}
{1895A5C9-50D4-4568-9A3A-14657E615A5E} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{146F561E-C7B8-4166-9383-47E1BC1A2E62} = {EBD87D3A-8130-4FBB-9A47-4A81717BB915}
{0BEA55D6-E0B8-40DD-A256-B34C4DD990A5} = {CBCC288A-53C3-402F-99F7-E468738560F5}
{6D893E48-0739-401A-9AD1-286BCB6E5517} = {CBCC288A-53C3-402F-99F7-E468738560F5}
{1020F5FD-6A97-40C2-AFCA-EBDF641DF111} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{02BE03BA-3411-448C-AB61-CB36407CC49A} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{B1D860BB-6EC6-4BAE-ADAA-C2AEC2FFB510} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{05271341-7A15-484C-9FD6-802A4193F4DE} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{7CC7946B-E026-4F66-8D4F-4F78F4801D43} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{2C282467-2CD5-4750-BE1F-CA8BD8ECC6EA} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{DDEC5D74-212F-41BD-974C-4B4E88E574E1} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{2DBA20A3-8B1C-49F0-90F6-EB09DB78B1B8} = {1187F469-0063-4065-9419-A1D956C80145}
{E45B2BA3-7917-4236-99CD-B0A25285A652} = {1187F469-0063-4065-9419-A1D956C80145}
{B6E622CE-0AEE-45DA-81AB-C244196CB583} = {1187F469-0063-4065-9419-A1D956C80145}
{35624E7C-6501-4B42-9AA7-70555666A8B3} = {1187F469-0063-4065-9419-A1D956C80145}
{1A1575D7-E57E-4A40-8113-FD01BB1753D5} = {1187F469-0063-4065-9419-A1D956C80145}
{3FB342CA-23B6-4795-91EF-C664527C07B7} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{E6E2467C-184A-4A0A-929F-932D5097953E} = {61708AC8-CE70-4351-9B31-13EA8213D208}
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{12E14D95-4ABA-4290-AB1D-CCF5EB158411} = {1187F469-0063-4065-9419-A1D956C80145}
{439DFC0F-1BA2-464F-900E-EA7E18C08975} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{4AB91077-82DC-4335-9274-BCE017BD9C8B} = {146F561E-C7B8-4166-9383-47E1BC1A2E62}
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{63244DC7-34BE-44E1-BF6F-F2672E59AF36} = {1187F469-0063-4065-9419-A1D956C80145}
{ADFAF85B-B785-41EA-B57D-422775989FA6} = {1187F469-0063-4065-9419-A1D956C80145}
{BF9AB22C-F48D-4DDE-A894-BC28EB37166B} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{B6182BF1-9EC6-403D-A42C-D6441CF7B390} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{C761A3F7-787D-4C7E-A41C-5FAB07F6B774} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{C714A3AB-8402-4DC2-B120-ACCB2E29BD8F} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{54592671-9CB6-48AE-9AE0-84CD016E87FF} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{57FCA6CB-9D99-411E-8ABF-20ACFBD61D61} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{EB902D57-C047-4CDF-828B-FDC204AC7398} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{17B14A48-5248-4F4C-A8E6-6926AA94EB7C} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{00B240B6-EC44-461A-9578-EF4F1BE9C688} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{CECE1288-B5A1-4A6B-BEE0-331861F94983} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{053F7446-0545-482E-9F29-9C96B926966C} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{D8BE64D2-BD83-40F5-9783-D7FDDF668C45} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{CE12E5C2-7B3E-4637-B6A3-274BB5C3DE16} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{D2F3594F-E2B9-4338-A022-F00C4E9A14C3} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{8343BE23-6A7B-4C58-BF0D-95188B11B180} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{27D76546-6091-4AEE-9079-1FE3991C81BC} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{DE160F1A-92FB-44BA-87E2-B8AD7A938AC7} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{CF564447-8E0B-4A07-B0D2-396E00A8E437} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{D0279C94-E9A3-4A1B-968B-D3BBF3E06FD8} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{4C2F7B03-C598-4432-A43A-B065D9D0712F} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{01A70034-D353-4BF9-821D-F2B6F7641532} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{D5E2FB37-0194-480A-B952-5FFECC1200EB} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{703BD43C-02B9-413F-854C-9CBA0C963196} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{40E21A35-1C66-4E89-A16E-0475011F7EFD} = {146F561E-C7B8-4166-9383-47E1BC1A2E62}
{43D4005C-4F04-4128-937B-52BEAC5A113B} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{DF676F73-3FC9-46CE-909A-2D75E19982AD} = {1895A5C9-50D4-4568-9A3A-14657E615A5E}
{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{2B48CF90-DBDB-469F-941C-5B5AECEEACE0} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{127FC2BF-DC40-4370-B845-16088328264C} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{A8C8B76D-0869-4C11-AC55-DB9DD115788E} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{DB012309-74FD-4D5A-B843-DD77BF053BF4} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{F7DDF25E-58B1-4F68-AEDA-4F2FB4F4467B} = {DB012309-74FD-4D5A-B843-DD77BF053BF4}
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{F79B6D80-C79B-4C13-9221-CA2345983743} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{166E89F7-A505-45F2-B4CD-F345DE39030E} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{6E50143F-0982-4BCB-9D0E-FF5451AE8123} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{3622B544-1345-4230-ABC2-4902328DE971} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{BC55B87F-D2BD-428D-8F78-A95EE7BDFDFA} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{5E7381EE-54BC-4BFD-883A-8C6578C2CAD7} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{5D2275B7-0745-420A-AF1C-32C563DAB5C8} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{10EB789E-C993-4BE8-BA43-C419936C7233} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{8D22063D-88DE-4F7A-A917-C81AB4ACE601} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{5BECBCEF-459F-424B-A15A-0558D291842A} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{87117AFB-4C87-40CB-889E-F1D97C504906} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{B17BAA37-27E8-4421-A18B-DDF6D146EA06} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{C6CE997A-DE6F-4669-822F-5654BA72C0B0} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{BA4E3D59-2929-4797-A5F0-7565D76F4076} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{74ECE2F5-A7FB-4363-BDD3-EDAF13F845C8} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{89E49906-6606-4126-AB3C-1605E17A1F68} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{46EF4B32-327C-4AFF-B39D-8202580847DB} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{4AFAFAF8-06FB-48D4-AFA6-B32215584E96} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{6F80DD0F-D91C-4A69-A20E-BB687036EFA8} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{975056D6-0B2D-43BA-9BF8-0E937581F873} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{324B920F-5BBA-46D8-BDC6-E1FA5EFE3733} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{210B1A21-CBC8-423D-9C69-3E63569F2C43} = {324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}
{8D891D68-7859-477D-BE78-99258B8B1E86} = {324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}
{3DF5C4E8-51E7-4931-B4F4-EA390AB8FCC9} = {EBD87D3A-8130-4FBB-9A47-4A81717BB915}
{0C73A439-7CD2-4105-8B70-30B896C15C72} = {3DF5C4E8-51E7-4931-B4F4-EA390AB8FCC9}
{253C20C0-1F46-410A-ACFE-2F375491E6D2} = {324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}
{C386A083-4190-4567-B4E3-95D1C800A298} = {324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}
{2794C2A5-C633-41E3-8B47-0659E72D8C9B} = {324B920F-5BBA-46D8-BDC6-E1FA5EFE3733}
{93B574B5-2827-4E0A-86FB-B07EF40BB39F} = {1187F469-0063-4065-9419-A1D956C80145}
{3B481ACC-5BB3-4189-880C-5F7A27EAEB70} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{282A5684-F573-47BB-B044-10F3F710E22A} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{CA154803-3589-47B3-B7CB-B18F94FE1EB6} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{9D7C2C19-1EE4-40BB-A1A4-27B175F1BFDD} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{3FA1F4A4-BF5A-4CE3-B76F-2147FE31AB43} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{4605A64C-B4E0-4A04-9BF2-501027375258} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{FCEC7C9D-067F-452B-98C9-1878F7EA02EB} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{3CE22CAC-4B27-4EEC-A35E-C01219ED6E99} = {EBD87D3A-8130-4FBB-9A47-4A81717BB915}
{B65973F1-9EE0-4914-B6F2-D88F753E1D21} = {3CE22CAC-4B27-4EEC-A35E-C01219ED6E99}
{0808036D-065B-4525-BF30-CBCEA062F8E9} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{06423FAC-67E2-4B7C-B29F-39578F460C4F} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{1DCD9600-215A-4A94-AEFD-577568D62633} = {D62B8D43-B8D9-4FC6-97E2-DC54CD765915}
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E} = {D62B8D43-B8D9-4FC6-97E2-DC54CD765915}
{61422EC8-8FFB-48EA-B4B5-527E29077930} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{27F990E2-6820-4159-B54A-59C8ADED8D28} = {D62B8D43-B8D9-4FC6-97E2-DC54CD765915}
{D62B8D43-B8D9-4FC6-97E2-DC54CD765915} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{055F4AC0-46C4-4E99-89CD-0F30D4A97382} = {3B481ACC-5BB3-4189-880C-5F7A27EAEB70}
{D77E0662-8404-43C5-9C46-6289EA207A40} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{E4D0326C-515D-46FA-AF7E-1AC32155BD03} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{2300E155-2621-4FCF-BD44-B61BA5A92B82} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{7B4D2BEB-DE3E-4533-8CD4-7BBB30414647} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{8859CFE4-BC7F-4F29-B6B5-A9457435CC32} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{837ABFF5-66EE-486A-8023-8DD3EE7D7D96} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{90197499-CBB6-4C8C-90E6-8718CD755C04} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
{A5B650AB-A67F-4A4C-9F81-7B5471CA1331} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{D9455AE7-2E0C-4647-9880-F5831BCEE3D8} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{8C327AA0-BBED-4F8B-A88E-1DD97B04E58F} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{B417D97C-330A-42CE-BDC6-93355B0A959A} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{38EF3EC8-9915-4216-B646-4BEE07006943} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{65FB5893-7CB6-4694-A692-7E666E347D29} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{B10E37A1-43A1-4042-BAAA-F589302958D5} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{3510E248-DC9F-4A07-8134-02E7F5CC5783} = {282A5684-F573-47BB-B044-10F3F710E22A}
{258B4E36-BF5B-484D-B10E-7D5AF868FA44} = {3510E248-DC9F-4A07-8134-02E7F5CC5783}
{067627C7-6891-453A-A219-35141733D776} = {3510E248-DC9F-4A07-8134-02E7F5CC5783}
{76D24E2C-8DB0-48B7-9FC4-02231B8B9F39} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6}
{A177B8B7-ACAD-4F75-B6D4-B72F7BC2E40A} = {3510E248-DC9F-4A07-8134-02E7F5CC5783}
{E4AB8A4F-BB59-4BDB-B915-877CE97D8113} = {DB012309-74FD-4D5A-B843-DD77BF053BF4}
{CD4E755D-D47C-45B1-AFB3-3444FF2E2E39} = {3510E248-DC9F-4A07-8134-02E7F5CC5783}
{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{627B88DB-BDCF-4D92-8454-EFE95F4AFB7A} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{23C5849D-4C09-4588-AE32-E31F03B7ED63} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{9FC49D82-04E5-4170-8618-682BD3350910} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{D1318094-7907-4826-B5F3-CFFC741F235F} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{5AB7E368-1CC8-401D-9952-6CA6779305E7} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{EBD87D3A-8130-4FBB-9A47-4A81717BB915} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{F33F751F-1260-40C0-8F76-E3D680605662} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{03F51721-DA51-4BAE-9909-3FC88FAB7774} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{D5733D90-8C3D-4026-85E2-41DED26C4938} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{02BE03BA-3411-448C-AB61-CB36407CC49A} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{B1D860BB-6EC6-4BAE-ADAA-C2AEC2FFB510} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{05271341-7A15-484C-9FD6-802A4193F4DE} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{7CC7946B-E026-4F66-8D4F-4F78F4801D43} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{2C282467-2CD5-4750-BE1F-CA8BD8ECC6EA} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{DDEC5D74-212F-41BD-974C-4B4E88E574E1} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{A1AE63E9-0CF4-4AFB-A584-65D826DEA3CB} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{3FB342CA-23B6-4795-91EF-C664527C07B7} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{8CECCEAF-F0D8-4257-96BA-EACF4763AF42} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{B31FFAE3-5DAC-4E51-BD17-F7446B741A36} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{BF9AB22C-F48D-4DDE-A894-BC28EB37166B} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{B6182BF1-9EC6-403D-A42C-D6441CF7B390} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{C761A3F7-787D-4C7E-A41C-5FAB07F6B774} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{CECE1288-B5A1-4A6B-BEE0-331861F94983} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{053F7446-0545-482E-9F29-9C96B926966C} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{D8BE64D2-BD83-40F5-9783-D7FDDF668C45} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{CE12E5C2-7B3E-4637-B6A3-274BB5C3DE16} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{D2F3594F-E2B9-4338-A022-F00C4E9A14C3} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{8343BE23-6A7B-4C58-BF0D-95188B11B180} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{27D76546-6091-4AEE-9079-1FE3991C81BC} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{DE160F1A-92FB-44BA-87E2-B8AD7A938AC7} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{CF564447-8E0B-4A07-B0D2-396E00A8E437} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{D0279C94-E9A3-4A1B-968B-D3BBF3E06FD8} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{4C2F7B03-C598-4432-A43A-B065D9D0712F} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{01A70034-D353-4BF9-821D-F2B6F7641532} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{D5E2FB37-0194-480A-B952-5FFECC1200EB} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{703BD43C-02B9-413F-854C-9CBA0C963196} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{3AF7C7F5-6513-47D4-8DD0-6E1AF14568D8} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{2B48CF90-DBDB-469F-941C-5B5AECEEACE0} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{127FC2BF-DC40-4370-B845-16088328264C} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{A8C8B76D-0869-4C11-AC55-DB9DD115788E} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{F79B6D80-C79B-4C13-9221-CA2345983743} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{166E89F7-A505-45F2-B4CD-F345DE39030E} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{6E50143F-0982-4BCB-9D0E-FF5451AE8123} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{3622B544-1345-4230-ABC2-4902328DE971} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{BC55B87F-D2BD-428D-8F78-A95EE7BDFDFA} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{5E7381EE-54BC-4BFD-883A-8C6578C2CAD7} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{5D2275B7-0745-420A-AF1C-32C563DAB5C8} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{10EB789E-C993-4BE8-BA43-C419936C7233} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{8D22063D-88DE-4F7A-A917-C81AB4ACE601} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{5BECBCEF-459F-424B-A15A-0558D291842A} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{87117AFB-4C87-40CB-889E-F1D97C504906} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{D43CC2C9-449A-4619-B5C6-CBC72BCA0512} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{75C24B75-7B8A-4FC5-9DE4-91BF6168BCC0} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{B17BAA37-27E8-4421-A18B-DDF6D146EA06} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{C6CE997A-DE6F-4669-822F-5654BA72C0B0} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{BA4E3D59-2929-4797-A5F0-7565D76F4076} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{74ECE2F5-A7FB-4363-BDD3-EDAF13F845C8} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{89E49906-6606-4126-AB3C-1605E17A1F68} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{46EF4B32-327C-4AFF-B39D-8202580847DB} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{4AFAFAF8-06FB-48D4-AFA6-B32215584E96} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{6F80DD0F-D91C-4A69-A20E-BB687036EFA8} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{975056D6-0B2D-43BA-9BF8-0E937581F873} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{CB6FD800-B6C5-4C2A-8920-B8A29C74AEF6} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{A5B650AB-A67F-4A4C-9F81-7B5471CA1331} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{D9455AE7-2E0C-4647-9880-F5831BCEE3D8} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{8C327AA0-BBED-4F8B-A88E-1DD97B04E58F} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{B417D97C-330A-42CE-BDC6-93355B0A959A} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{38EF3EC8-9915-4216-B646-4BEE07006943} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{65FB5893-7CB6-4694-A692-7E666E347D29} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{B10E37A1-43A1-4042-BAAA-F589302958D5} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{A1C792B7-0DBF-460D-9158-A1A68A2D9C1A} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{627B88DB-BDCF-4D92-8454-EFE95F4AFB7A} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{23C5849D-4C09-4588-AE32-E31F03B7ED63} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{9FC49D82-04E5-4170-8618-682BD3350910} = {447C8A77-E5F0-4538-8687-7383196D04EA}
{D1318094-7907-4826-B5F3-CFFC741F235F} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{5AB7E368-1CC8-401D-9952-6CA6779305E7} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{DAE9088E-6E30-4D5D-9DF8-2188E8D386FE} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{03F51721-DA51-4BAE-9909-3FC88FAB7774} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}
{D5733D90-8C3D-4026-85E2-41DED26C4938} = {447C8A77-E5F0-4538-8687-7383196D04EA}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}

27
nupkg/Volo.Abp.Account.Web.0.2.0/Volo.Abp.Account.Web.nuspec

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Volo.Abp.Account.Web</id>
<version>0.2.0</version>
<authors>Volo.Abp.Account.Web</authors>
<owners>Volo.Abp.Account.Web</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>https://github.com/aspnetzero/abp/blob/master/LICENSE</licenseUrl>
<projectUrl>http://abp.io/</projectUrl>
<iconUrl>http://www.aspnetboilerplate.com/images/abp_nupkg.png</iconUrl>
<description>Package Description</description>
<repository type="git" url="https://github.com/aspnetzero/abp/" />
<dependencies>
<group targetFramework=".NETStandard2.0">
<dependency id="Volo.Abp.Account.Application.Contracts" version="0.2.0" exclude="Build,Analyzers" />
<dependency id="Volo.Abp.AspNetCore.Mvc.UI.Bootstrap" version="0.2.0" exclude="Build,Analyzers" />
<dependency id="Volo.Abp.Identity.Domain" version="0.2.0" exclude="Build,Analyzers" />
</group>
</dependencies>
<contentFiles>
<files include="any/netstandard2.0/Pages/Account/Login.cshtml" buildAction="Content" />
<files include="any/netstandard2.0/Pages/Account/Register.cshtml" buildAction="Content" />
<files include="any/netstandard2.0/Properties/launchSettings.json" buildAction="Content" />
</contentFiles>
</metadata>
</package>

10
nupkg/Volo.Abp.Account.Web.0.2.0/[Content_Types].xml

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
<Default Extension="psmdcp" ContentType="application/vnd.openxmlformats-package.core-properties+xml" />
<Default Extension="pdb" ContentType="application/octet" />
<Default Extension="dll" ContentType="application/octet" />
<Default Extension="cshtml" ContentType="application/octet" />
<Default Extension="json" ContentType="application/octet" />
<Default Extension="nuspec" ContentType="application/octet" />
</Types>

5
nupkg/Volo.Abp.Account.Web.0.2.0/_rels/.rels

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Type="http://schemas.microsoft.com/packaging/2010/07/manifest" Target="/Volo.Abp.Account.Web.nuspec" Id="Rfdd677b0690f4393" />
<Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/package/services/metadata/core-properties/d0b9dbb571f046678dd82d6354463c78.psmdcp" Id="Redc92efae9c749d6" />
</Relationships>

45
nupkg/Volo.Abp.Account.Web.0.2.0/content/Pages/Account/Login.cshtml

@ -1,45 +0,0 @@
@page
@model Volo.Abp.Account.Web.Pages.Account.LoginModel
<div class="row">
<div class="col-md-6">
<div class="col-md-4">
<form method="post">
<div class="form-group">
<label for="UsernameOrEmailAddress">Username or email address</label>
<input type="text" class="form-control" id="UsernameOrEmailAddress" name="UsernameOrEmailAddress">
</div>
<div class="form-group">
<label for="Password">Password</label>
<input type="password" class="form-control" id="Password" name="Password">
</div>
<div class="form-check">
<label class="form-check-label">
<input type="checkbox" name="RememberMe" value="true" checked="checked">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
<div style="padding-top: 20px">
<a href="@Url.Page("./Register", new { returnUrl = Model.ReturnUrl, returnUrlHash = Model.ReturnUrlHash })">Register</a>
</div>
</div>
</div>
@if (Model.ExternalLogins.Any())
{
<div class="col-md-6">
<h4>Use another service to log in.</h4>
<form asp-page="./Login" asp-page-handler="ExternalLogin" asp-route-returnUrl="@Model.ReturnUrl" asp-route-returnUrlHash="@Model.ReturnUrlHash" method="post">
<div>
@foreach (var provider in Model.ExternalLogins)
{
<button type="submit" class="btn btn-primary" name="provider" value="@provider.Name" title="Log in using your @provider.DisplayName account">@provider.DisplayName</button>
}
</div>
</form>
</div>
}
</div>

21
nupkg/Volo.Abp.Account.Web.0.2.0/content/Pages/Account/Register.cshtml

@ -1,21 +0,0 @@
@page
@model Volo.Abp.Account.Web.Pages.Account.RegisterModel
<div class="row">
<div class="col-md-3">
<form method="post">
<div class="form-group">
<label for="UserName">Username</label>
<input type="text" class="form-control" id="UserName" name="UserName" required>
</div>
<div class="form-group">
<label for="EmailAddress">Email address</label>
<input type="email" class="form-control" id="EmailAddress" name="EmailAddress" required>
</div>
<div class="form-group">
<label for="Password">Password</label>
<input type="password" class="form-control" id="Password" name="Password" required>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
</div>
</div>

27
nupkg/Volo.Abp.Account.Web.0.2.0/content/Properties/launchSettings.json

@ -1,27 +0,0 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:53098/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Volo.Abp.Account.Web": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:53099/"
}
}
}

45
nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Pages/Account/Login.cshtml

@ -1,45 +0,0 @@
@page
@model Volo.Abp.Account.Web.Pages.Account.LoginModel
<div class="row">
<div class="col-md-6">
<div class="col-md-4">
<form method="post">
<div class="form-group">
<label for="UsernameOrEmailAddress">Username or email address</label>
<input type="text" class="form-control" id="UsernameOrEmailAddress" name="UsernameOrEmailAddress">
</div>
<div class="form-group">
<label for="Password">Password</label>
<input type="password" class="form-control" id="Password" name="Password">
</div>
<div class="form-check">
<label class="form-check-label">
<input type="checkbox" name="RememberMe" value="true" checked="checked">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
<div style="padding-top: 20px">
<a href="@Url.Page("./Register", new { returnUrl = Model.ReturnUrl, returnUrlHash = Model.ReturnUrlHash })">Register</a>
</div>
</div>
</div>
@if (Model.ExternalLogins.Any())
{
<div class="col-md-6">
<h4>Use another service to log in.</h4>
<form asp-page="./Login" asp-page-handler="ExternalLogin" asp-route-returnUrl="@Model.ReturnUrl" asp-route-returnUrlHash="@Model.ReturnUrlHash" method="post">
<div>
@foreach (var provider in Model.ExternalLogins)
{
<button type="submit" class="btn btn-primary" name="provider" value="@provider.Name" title="Log in using your @provider.DisplayName account">@provider.DisplayName</button>
}
</div>
</form>
</div>
}
</div>

21
nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Pages/Account/Register.cshtml

@ -1,21 +0,0 @@
@page
@model Volo.Abp.Account.Web.Pages.Account.RegisterModel
<div class="row">
<div class="col-md-3">
<form method="post">
<div class="form-group">
<label for="UserName">Username</label>
<input type="text" class="form-control" id="UserName" name="UserName" required>
</div>
<div class="form-group">
<label for="EmailAddress">Email address</label>
<input type="email" class="form-control" id="EmailAddress" name="EmailAddress" required>
</div>
<div class="form-group">
<label for="Password">Password</label>
<input type="password" class="form-control" id="Password" name="Password" required>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
</div>
</div>

27
nupkg/Volo.Abp.Account.Web.0.2.0/contentFiles/any/netstandard2.0/Properties/launchSettings.json

@ -1,27 +0,0 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:53098/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Volo.Abp.Account.Web": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:53099/"
}
}
}

BIN
nupkg/Volo.Abp.Account.Web.0.2.0/lib/netstandard2.0/Volo.Abp.Account.Web.dll

Binary file not shown.

9
nupkg/Volo.Abp.Account.Web.0.2.0/package/services/metadata/core-properties/d0b9dbb571f046678dd82d6354463c78.psmdcp

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<coreProperties xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties">
<dc:creator>Volo.Abp.Account.Web</dc:creator>
<dc:description>Package Description</dc:description>
<dc:identifier>Volo.Abp.Account.Web</dc:identifier>
<version>0.2.0</version>
<keywords></keywords>
<lastModifiedBy>NuGet.Build.Tasks.Pack, Version=4.5.0.4, Culture=neutral, PublicKeyToken=31bf3856ad364e35;</lastModifiedBy>
</coreProperties>

18
src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk.Application.Contracts.csproj

@ -1,18 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.Application.Contracts</AssemblyName>
<PackageId>AbpDesk.Application.Contracts</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

11
src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/AbpDeskApplicationContractsModule.cs

@ -1,11 +0,0 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace AbpDesk
{
[DependsOn(typeof(AbpDddApplicationModule))]
public class AbpDeskApplicationContractsModule : AbpModule
{
}
}

7
src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/Dtos/GetAllTicketsInput.cs

@ -1,7 +0,0 @@
namespace AbpDesk.Tickets.Dtos
{
public class GetAllTicketsInput
{
public string Filter { get; set; }
}
}

16
src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/Dtos/TicketDto.cs

@ -1,16 +0,0 @@
using Volo.Abp.Application.Dtos;
namespace AbpDesk.Tickets.Dtos
{
public class TicketDto : EntityDto<int>
{
public string Title { get; set; }
public string Body { get; set; }
public override string ToString()
{
return $"{base.ToString()}, Title = {Title}, Body = {Body}";
}
}
}

14
src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/Tickets/ITicketAppService.cs

@ -1,14 +0,0 @@
using System.Threading.Tasks;
using AbpDesk.Tickets.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace AbpDesk.Tickets
{
public interface ITicketAppService : IApplicationService
{
Task<ListResultDto<TicketDto>> GetAll(GetAllTicketsInput input);
ListResultDto<TicketDto> GetAll2(GetAllTicketsInput input);
}
}

18
src/AbpDesk/AbpDesk.Application.Contracts/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.Application.Contracts")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e45b2ba3-7917-4236-99cd-b0a25285a652")]

20
src/AbpDesk/AbpDesk.Application/AbpDesk.Application.csproj

@ -1,20 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.Application</AssemblyName>
<PackageId>AbpDesk.Application</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\AbpDesk.Application.Contracts\AbpDesk.Application.Contracts.csproj" />
<ProjectReference Include="..\AbpDesk.Domain\AbpDesk.Domain.csproj" />
</ItemGroup>
</Project>

27
src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs

@ -1,27 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
namespace AbpDesk
{
[DependsOn(
typeof(AbpDeskDomainModule),
typeof(AbpDeskApplicationContractsModule),
typeof(AbpAutoMapperModule)
)]
public class AbpDeskApplicationModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
services.AddAssemblyOf<AbpDeskApplicationModule>();
services.Configure<AbpAutoMapperOptions>(options =>
{
options.Configurators.Add(context =>
{
context.MapperConfiguration.AddProfile<AbpDeskApplicationModuleAutoMapperProfile>();
});
});
}
}
}

14
src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModuleAutoMapperProfile.cs

@ -1,14 +0,0 @@
using AbpDesk.Tickets;
using AbpDesk.Tickets.Dtos;
using AutoMapper;
namespace AbpDesk
{
public class AbpDeskApplicationModuleAutoMapperProfile : Profile
{
public AbpDeskApplicationModuleAutoMapperProfile()
{
CreateMap<Ticket, TicketDto>();
}
}
}

55
src/AbpDesk/AbpDesk.Application/AbpDesk/Tickets/TicketAppService.cs

@ -1,55 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AbpDesk.Tickets.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Linq;
namespace AbpDesk.Tickets
{
public class TicketAppService : ApplicationService, ITicketAppService
{
private readonly IRepository<Ticket, int> _ticketRepository;
private readonly IAsyncQueryableExecuter _asyncQueryableExecuter;
public TicketAppService(
IRepository<Ticket, int> ticketRepository,
IAsyncQueryableExecuter asyncQueryableExecuter)
{
_ticketRepository = ticketRepository;
_asyncQueryableExecuter = asyncQueryableExecuter;
}
//TODO: No need to virtual once we implement UOW filter for AspNet Core!
public virtual async Task<ListResultDto<TicketDto>> GetAll(GetAllTicketsInput input)
{
var tickets = await _asyncQueryableExecuter.ToListAsync(_ticketRepository
.WhereIf(
!input.Filter.IsNullOrWhiteSpace(),
t => t.Title.Contains(input.Filter) || t.Body.Contains(input.Filter)
)
);
return new ListResultDto<TicketDto>(
ObjectMapper.Map<List<Ticket>, List<TicketDto>>(tickets)
);
}
public ListResultDto<TicketDto> GetAll2(GetAllTicketsInput input)
{
var tickets = _ticketRepository
.WhereIf(
!input.Filter.IsNullOrWhiteSpace(),
t => t.Title.Contains(input.Filter) || t.Body.Contains(input.Filter)
)
.ToList();
return new ListResultDto<TicketDto>(
ObjectMapper.Map<List<Ticket>, List<TicketDto>>(tickets)
);
}
}
}

18
src/AbpDesk/AbpDesk.Application/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.Application")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b6e622ce-0aee-45da-81ab-c244196cb583")]

12
src/AbpDesk/AbpDesk.ConsoleClient/AbpDesk.ConsoleClient.csproj

@ -1,12 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="IdentityModel" Version="3.1.0" />
</ItemGroup>
</Project>

54
src/AbpDesk/AbpDesk.ConsoleClient/Program.cs

@ -1,54 +0,0 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IdentityModel.Client;
namespace AbpDesk.ConsoleClient
{
class Program
{
static void Main(string[] args)
{
RunDemo().Wait();
Console.ReadLine();
}
private static async Task RunDemo()
{
// discover endpoints from metadata
var disco = await DiscoveryClient.GetAsync("http://localhost:59980");
if (disco.IsError)
{
Console.WriteLine(disco.Error);
return;
}
// request token
var tokenClient = new TokenClient(disco.TokenEndpoint, "client", "secret");
var tokenResponse = await tokenClient.RequestClientCredentialsAsync("api1");
if (tokenResponse.IsError)
{
Console.WriteLine(tokenResponse.Error);
return;
}
Console.WriteLine(tokenResponse.Json);
// call api
var client = new HttpClient();
client.SetBearerToken(tokenResponse.AccessToken);
var response = await client.GetAsync("http://localhost:59980/identity-test");
if (!response.IsSuccessStatusCode)
{
Console.WriteLine(response.StatusCode);
}
else
{
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
}
}

42
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk.ConsoleDemo.csproj

@ -1,42 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<AssemblyName>AbpDesk.ConsoleDemo</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>AbpDesk.ConsoleDemo</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj" />
<ProjectReference Include="..\AbpDesk.Application\AbpDesk.Application.csproj" />
<ProjectReference Include="..\AbpDesk.Application.Contracts\AbpDesk.Application.Contracts.csproj" />
<ProjectReference Include="..\AbpDesk.EntityFrameworkCore\AbpDesk.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Identity.EntityFrameworkCore\Volo.Abp.Identity.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\AbpDesk.MongoBlog\AbpDesk.MongoBlog.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.1">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
</Project>

38
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/AbpDeskConsoleDemoModule.cs

@ -1,38 +0,0 @@
using System.IO;
using AbpDesk.Blogging;
using AbpDesk.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Autofac;
using Volo.Abp.Identity.EntityFrameworkCore;
using Volo.Abp.Modularity;
namespace AbpDesk.ConsoleDemo
{
[DependsOn(
typeof(AbpDeskApplicationModule),
typeof(AbpDeskEntityFrameworkCoreModule),
typeof(AbpIdentityEntityFrameworkCoreModule),
typeof(AbpDeskMongoBlogModule),
typeof(AbpAutofacModule))]
public class AbpDeskConsoleDemoModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
var configuration = BuildConfiguration(Directory.GetCurrentDirectory());
AbpDeskDbConfigurer.Configure(services, configuration);
services.AddAssemblyOf<AbpDeskConsoleDemoModule>();
}
private static IConfigurationRoot BuildConfiguration(string basePath)
{
var builder = new ConfigurationBuilder()
.SetBasePath(basePath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
return builder.Build();
}
}
}

47
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/BlogPostLister.cs

@ -1,47 +0,0 @@
using System;
using AbpDesk.Blogging;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Guids;
using Volo.Abp.Uow;
using Volo.Abp.DependencyInjection;
namespace AbpDesk.ConsoleDemo
{
public class BlogPostLister : ITransientDependency
{
private readonly IRepository<BlogPost, Guid> _blogPostRepository;
private readonly IGuidGenerator _guidGenerator;
public BlogPostLister(
IRepository<BlogPost, Guid> blogPostRepository,
IGuidGenerator guidGenerator)
{
_blogPostRepository = blogPostRepository;
_guidGenerator = guidGenerator;
}
[UnitOfWork]
public virtual void List()
{
Console.WriteLine();
Console.WriteLine("List of blog posts:");
//var blog = _blogPostRepository.FirstOrDefault(b => b.Title.StartsWith("Hello World 3!"));
//blog.SetTitle(blog.Title + "'");
//blog.Comments.Add(new BlogPostComment("@john", "good post! " + DateTime.Now.ToString(CultureInfo.InvariantCulture), star: (byte)RandomHelper.GetRandom(1, 6)));
//_blogPostRepository.Update(blog);
//_blogPostRepository.Insert(new BlogPost(_guidGenerator.Create(), "Hello World 1!", DateTime.Now.ToString(CultureInfo.InvariantCulture)));
foreach (var blogPost in _blogPostRepository)
{
Console.WriteLine("# " + blogPost);
foreach (var comment in blogPost.Comments)
{
Console.WriteLine(" - " + comment);
}
}
}
}
}

76
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/Program.cs

@ -1,76 +0,0 @@
using System;
using System.IO;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Modularity.PlugIns;
namespace AbpDesk.ConsoleDemo
{
public class Program
{
public static void Main(string[] args)
{
try
{
RunDemo();
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex.Message);
Console.ReadLine();
}
}
private static void RunDemo()
{
using (var application = AbpApplicationFactory.Create<AbpDeskConsoleDemoModule>(options =>
{
options.UseAutofac();
AddPlugIns(options);
}))
{
application.Initialize();
RunListers(application);
Console.WriteLine("Press ENTER to exit...");
Console.ReadLine();
application.Shutdown();
}
}
private static void RunListers(IAbpApplication application)
{
application
.ServiceProvider
.GetRequiredService<TicketLister>()
.List();
application
.ServiceProvider
.GetRequiredService<UserLister>()
.List();
application
.ServiceProvider
.GetRequiredService<BlogPostLister>()
.List();
}
private static void AddPlugIns(AbpApplicationCreationOptions options)
{
options.PlugInSources.Add(
new FolderPlugInSource(
Path.Combine(
Directory.GetCurrentDirectory(),
@"..\AbpDesk.SamplePlugInModule\bin\Debug\netstandard1.6\"
)
)
{
Filter = filePath => filePath.EndsWith("AbpDesk.SamplePlugInModule.dll")
}
);
}
}
}

55
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/TicketLister.cs

@ -1,55 +0,0 @@
using System;
using AbpDesk.Tickets;
using AbpDesk.Tickets.Dtos;
using Volo.Abp.Threading;
using Volo.Abp.DependencyInjection;
namespace AbpDesk.ConsoleDemo
{
public class TicketLister : ITransientDependency
{
private readonly ITicketAppService _ticketAppService;
public TicketLister(ITicketAppService ticketAppService)
{
_ticketAppService = ticketAppService;
}
public void List()
{
Console.WriteLine();
Console.WriteLine("List of tickets:");
var result = AsyncHelper.RunSync(() => _ticketAppService.GetAll(new GetAllTicketsInput()));
foreach (var ticket in result.Items)
{
Console.WriteLine(ticket);
}
}
}
//Uses TicketAppService instead of ITicketAppService.
public class TicketLister2 : ITransientDependency
{
private readonly TicketAppService _ticketAppService;
public TicketLister2(TicketAppService ticketAppService)
{
_ticketAppService = ticketAppService;
}
public void List()
{
Console.WriteLine();
Console.WriteLine("List of tickets:");
var result = AsyncHelper.RunSync(() => _ticketAppService.GetAll(new GetAllTicketsInput()));
foreach (var ticket in result.Items)
{
Console.WriteLine(ticket);
}
}
}
}

41
src/AbpDesk/AbpDesk.ConsoleDemo/AbpDesk/ConsoleDemo/UserLister.cs

@ -1,41 +0,0 @@
using System;
using System.Linq;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Identity;
using Volo.Abp.Threading;
using Volo.Abp.Uow;
namespace AbpDesk.ConsoleDemo
{
public class UserLister : ITransientDependency
{
private readonly IdentityUserManager _userManager;
private readonly IRepository<IdentityUser, Guid> _userRepository;
public UserLister(
IdentityUserManager userManager,
IRepository<IdentityUser, Guid> userRepository)
{
_userManager = userManager;
_userRepository = userRepository;
}
[UnitOfWork]
public virtual void List()
{
Console.WriteLine();
Console.WriteLine("List of users:");
foreach (var user in _userRepository.ToList())
{
Console.WriteLine("# " + user);
foreach (var roleName in AsyncHelper.RunSync(() => _userManager.GetRolesAsync(user)))
{
Console.WriteLine(" - " + roleName);
}
}
}
}
}

18
src/AbpDesk/AbpDesk.ConsoleDemo/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.ConsoleDemo")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("1a1575d7-e57e-4a40-8113-fd01bb1753d5")]

25
src/AbpDesk/AbpDesk.ConsoleDemo/appsettings.json

@ -1,25 +0,0 @@
{
"ConnectionStrings": {
"Default": "Server=localhost;Database=AbpDesk;Trusted_Connection=True;",
"AbpDeskMongoBlog": "mongodb://127.0.0.1:27017|AbpDeskBlog"
},
//Example tenant configuration, not used!
"Tenants": [
{
"Id": "2D8BF07D-50F4-4A70-805E-C7618F008043",
"Name": "Acme",
"ConnectionStrings": {
"Default": "...",
"AbpDeskMongoBlog": "..."
}
},
{
"Id": "33A01BA1-4106-41DA-AF34-28028FB9BD1D",
"Name": "Vlsft",
"ConnectionStrings": {
"Default": "...",
"AbpDeskMongoBlog": "..."
}
}
]
}

22
src/AbpDesk/AbpDesk.Domain/AbpDesk.Domain.csproj

@ -1,22 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.Domain</AssemblyName>
<PackageId>AbpDesk.Domain</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="4.4.1" />
</ItemGroup>
</Project>

15
src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs

@ -1,15 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
namespace AbpDesk
{
[DependsOn(typeof(AbpDddDomainModule))]
public class AbpDeskDomainModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
services.AddAssemblyOf<AbpDeskDomainModule>();
}
}
}

36
src/AbpDesk/AbpDesk.Domain/AbpDesk/Tickets/Ticket.cs

@ -1,36 +0,0 @@
using System;
using JetBrains.Annotations;
using Volo.Abp;
using Volo.Abp.Domain.Entities;
namespace AbpDesk.Tickets
{
public class Ticket : AggregateRoot<int>, IHasConcurrencyStamp
{
public const int MaxTitleLength = 256;
public const int MaxBodyLength = 64 * 1024; //64K
[NotNull]
public string Title { get; protected set; }
[CanBeNull]
public string Body { get; protected set; }
public string ConcurrencyStamp { get; set; }
protected Ticket()
{
}
public Ticket([NotNull] string title, [CanBeNull] string body = null)
{
Check.NotNull(title, nameof(title));
Title = title;
Body = body;
ConcurrencyStamp = Guid.NewGuid().ToString();
}
}
}

18
src/AbpDesk/AbpDesk.Domain/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.Domain")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2dba20a3-8b1c-49f0-90f6-eb09db78b1b8")]

32
src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk.EntityFrameworkCore.csproj

@ -1,32 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.EntityFrameworkCore</AssemblyName>
<PackageId>AbpDesk.EntityFrameworkCore</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.MultiTenancy.EntityFrameworkCore\Volo.Abp.MultiTenancy.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Permissions.EntityFrameworkCore\Volo.Abp.Permissions.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\AbpDesk.Domain\AbpDesk.Domain.csproj" />
<ProjectReference Include="..\..\Volo.Abp.EntityFrameworkCore\Volo.Abp.EntityFrameworkCore.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.1">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
</Project>

37
src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbConfigurer.cs

@ -1,37 +0,0 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace AbpDesk.EntityFrameworkCore
{
public static class AbpDeskDbConfigurer
{
public static void Configure(IServiceCollection services, IConfigurationRoot configuration)
{
//Configure DbConnectionOptions by configuration file (appsettings.json)
services.Configure<DbConnectionOptions>(configuration); //TODO: Move to the application. No proper to be in EF Core package.
services.Configure<AbpDbContextOptions>(options =>
{
//Configures all dbcontextes to use Sql Server with calculated connection string
options.Configure(context =>
{
//TODO: Create an extension method to AbpDbContextConfigurationContext to use SqlServer in single line call! Example:
/* context.UseSqlServer(opional action to configure sqlserver)
* This internally makes the if below!
*/
if (context.ExistingConnection != null)
{
context.DbContextOptions.UseSqlServer(context.ExistingConnection);
}
else
{
context.DbContextOptions.UseSqlServer(context.ConnectionString);
}
});
});
}
}
}

46
src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs

@ -1,46 +0,0 @@
using AbpDesk.Tickets;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.MultiTenancy;
using Volo.Abp.MultiTenancy.EntityFrameworkCore;
using Volo.Abp.Permissions;
using Volo.Abp.Permissions.EntityFrameworkCore;
namespace AbpDesk.EntityFrameworkCore
{
[ConnectionStringName(ConnectionStrings.DefaultConnectionStringName)] //Explicitly declares this module always uses the default connection string
public class AbpDeskDbContext : AbpDbContext<AbpDeskDbContext>, IMultiTenancyDbContext, IAbpPermissionsDbContext
{
public DbSet<Ticket> Tickets { get; set; }
public DbSet<Tenant> Tenants { get; set; }
public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; }
public DbSet<PermissionGrant> PermissionGrants { get; set; }
public AbpDeskDbContext(DbContextOptions<AbpDeskDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ConfigureMultiTenancy();
modelBuilder.ConfigureAbpPermissions();
//Use different classes to map each entity type, as a better practice?
modelBuilder.Entity<Ticket>(b =>
{
b.ToTable("DskTickets");
b.Property(t => t.Title).HasMaxLength(Ticket.MaxTitleLength).IsRequired();
b.Property(t => t.Body).HasMaxLength(Ticket.MaxBodyLength);
});
}
}
}

17
src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDefaultDbContextFactory.cs

@ -1,17 +0,0 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
namespace AbpDesk.EntityFrameworkCore
{
/* This class is needed for EF Core command line tooling */
public class AbpDeskDefaultDbContextFactory : IDesignTimeDbContextFactory<AbpDeskDbContext>
{
public AbpDeskDbContext CreateDbContext(string[] args)
{
var builder = new DbContextOptionsBuilder<AbpDeskDbContext>();
builder.UseSqlServer("Server=localhost;Database=AbpDesk;Trusted_Connection=True;");
return new AbpDeskDbContext(builder.Options);
}
}
}

29
src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskEntityFrameworkCoreModule.cs

@ -1,29 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy.EntityFrameworkCore;
using Volo.Abp.Permissions.EntityFrameworkCore;
namespace AbpDesk.EntityFrameworkCore
{
[DependsOn(
typeof(AbpDeskDomainModule),
typeof(AbpEntityFrameworkCoreModule),
typeof(AbpMultiTenancyEntityFrameworkCoreModule),
typeof(AbpPermissionsEntityFrameworkCoreModule)
)]
public class AbpDeskEntityFrameworkCoreModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
services.AddAbpDbContext<AbpDeskDbContext>(options =>
{
options.AddDefaultRepositories();
options.ReplaceDbContext<IMultiTenancyDbContext>();
options.ReplaceDbContext<IAbpPermissionsDbContext>();
});
services.AddAssemblyOf<AbpDeskEntityFrameworkCoreModule>();
}
}
}

41
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20170123122207_AbpDesk_Initial.Designer.cs

@ -1,41 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using AbpDesk.EntityFrameworkCore;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
[DbContext(typeof(AbpDeskDbContext))]
[Migration("20170123122207_AbpDesk_Initial")]
partial class AbpDesk_Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.1.0-rtm-22752")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AbpDesk.Tickets.Ticket", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Body")
.HasMaxLength(65536);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256);
b.HasKey("Id");
b.ToTable("DskTickets");
});
}
}
}

32
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20170123122207_AbpDesk_Initial.cs

@ -1,32 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Metadata;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
public partial class AbpDesk_Initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "DskTickets",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
Body = table.Column<string>(maxLength: 65536, nullable: true),
ConcurrencyStamp = table.Column<string>(nullable: true),
Title = table.Column<string>(maxLength: 256, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DskTickets", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "DskTickets");
}
}
}

92
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180105184326_MultiTenancyModuleAdded.Designer.cs

@ -1,92 +0,0 @@
// <auto-generated />
using AbpDesk.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
[DbContext(typeof(AbpDeskDbContext))]
[Migration("20180105184326_MultiTenancyModuleAdded")]
partial class MultiTenancyModuleAdded
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.0-rtm-26452")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AbpDesk.Tickets.Ticket", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Body")
.HasMaxLength(65536);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256);
b.HasKey("Id");
b.ToTable("DskTickets");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.Tenant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(64);
b.HasKey("Id");
b.HasIndex("Name");
b.ToTable("MtTenants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256);
b.Property<Guid>("TenantId");
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(1024);
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("MtTenantConnectionStrings");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.HasOne("Volo.Abp.MultiTenancy.Tenant")
.WithMany("ConnectionStrings")
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}

62
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180105184326_MultiTenancyModuleAdded.cs

@ -1,62 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
public partial class MultiTenancyModuleAdded : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "MtTenants",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MtTenants", x => x.Id);
});
migrationBuilder.CreateTable(
name: "MtTenantConnectionStrings",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Value = table.Column<string>(type: "nvarchar(1024)", maxLength: 1024, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MtTenantConnectionStrings", x => x.Id);
table.ForeignKey(
name: "FK_MtTenantConnectionStrings_MtTenants_TenantId",
column: x => x.TenantId,
principalTable: "MtTenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_MtTenantConnectionStrings_TenantId",
table: "MtTenantConnectionStrings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_MtTenants_Name",
table: "MtTenants",
column: "Name");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "MtTenantConnectionStrings");
migrationBuilder.DropTable(
name: "MtTenants");
}
}
}

111
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180215073249_Added_PermissionGrant_Entity.Designer.cs

@ -1,111 +0,0 @@
// <auto-generated />
using AbpDesk.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
[DbContext(typeof(AbpDeskDbContext))]
[Migration("20180215073249_Added_PermissionGrant_Entity")]
partial class Added_PermissionGrant_Entity
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.1-rtm-125")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AbpDesk.Tickets.Ticket", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Body")
.HasMaxLength(65536);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256);
b.HasKey("Id");
b.ToTable("DskTickets");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.Tenant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(64);
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("MtTenants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.Property<Guid>("TenantId");
b.Property<string>("Name")
.HasMaxLength(128);
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(1024);
b.HasKey("TenantId", "Name");
b.ToTable("MtTenantConnectionStrings");
});
modelBuilder.Entity("Volo.Abp.Permissions.PermissionGrant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128);
b.Property<string>("ProviderKey")
.IsRequired()
.HasMaxLength(64);
b.Property<string>("ProviderName")
.IsRequired()
.HasMaxLength(64);
b.HasKey("Id");
b.HasIndex("Name", "ProviderName", "ProviderKey");
b.ToTable("AbpPermissionGrants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.HasOne("Volo.Abp.MultiTenancy.Tenant")
.WithMany("ConnectionStrings")
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}

108
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180215073249_Added_PermissionGrant_Entity.cs

@ -1,108 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
public partial class Added_PermissionGrant_Entity : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_MtTenants_Name",
table: "MtTenants");
migrationBuilder.DropPrimaryKey(
name: "PK_MtTenantConnectionStrings",
table: "MtTenantConnectionStrings");
migrationBuilder.DropIndex(
name: "IX_MtTenantConnectionStrings_TenantId",
table: "MtTenantConnectionStrings");
migrationBuilder.DropColumn(
name: "Id",
table: "MtTenantConnectionStrings");
migrationBuilder.AlterColumn<string>(
name: "Name",
table: "MtTenantConnectionStrings",
maxLength: 128,
nullable: false,
oldClrType: typeof(string),
oldMaxLength: 256);
migrationBuilder.AddPrimaryKey(
name: "PK_MtTenantConnectionStrings",
table: "MtTenantConnectionStrings",
columns: new[] { "TenantId", "Name" });
migrationBuilder.CreateTable(
name: "AbpPermissionGrants",
columns: table => new
{
Id = table.Column<Guid>(nullable: false),
Name = table.Column<string>(maxLength: 128, nullable: false),
ProviderKey = table.Column<string>(maxLength: 64, nullable: false),
ProviderName = table.Column<string>(maxLength: 64, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id);
});
migrationBuilder.CreateIndex(
name: "IX_MtTenants_Name",
table: "MtTenants",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey",
table: "AbpPermissionGrants",
columns: new[] { "Name", "ProviderName", "ProviderKey" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpPermissionGrants");
migrationBuilder.DropIndex(
name: "IX_MtTenants_Name",
table: "MtTenants");
migrationBuilder.DropPrimaryKey(
name: "PK_MtTenantConnectionStrings",
table: "MtTenantConnectionStrings");
migrationBuilder.AlterColumn<string>(
name: "Name",
table: "MtTenantConnectionStrings",
maxLength: 256,
nullable: false,
oldClrType: typeof(string),
oldMaxLength: 128);
migrationBuilder.AddColumn<Guid>(
name: "Id",
table: "MtTenantConnectionStrings",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
migrationBuilder.AddPrimaryKey(
name: "PK_MtTenantConnectionStrings",
table: "MtTenantConnectionStrings",
column: "Id");
migrationBuilder.CreateIndex(
name: "IX_MtTenants_Name",
table: "MtTenants",
column: "Name");
migrationBuilder.CreateIndex(
name: "IX_MtTenantConnectionStrings_TenantId",
table: "MtTenantConnectionStrings",
column: "TenantId");
}
}
}

113
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180218143334_Made_Permission_Entity_MultiTenant.Designer.cs

@ -1,113 +0,0 @@
// <auto-generated />
using AbpDesk.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
[DbContext(typeof(AbpDeskDbContext))]
[Migration("20180218143334_Made_Permission_Entity_MultiTenant")]
partial class Made_Permission_Entity_MultiTenant
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.1-rtm-125")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AbpDesk.Tickets.Ticket", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Body")
.HasMaxLength(65536);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256);
b.HasKey("Id");
b.ToTable("DskTickets");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.Tenant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(64);
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("MtTenants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.Property<Guid>("TenantId");
b.Property<string>("Name")
.HasMaxLength(128);
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(1024);
b.HasKey("TenantId", "Name");
b.ToTable("MtTenantConnectionStrings");
});
modelBuilder.Entity("Volo.Abp.Permissions.PermissionGrant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128);
b.Property<string>("ProviderKey")
.IsRequired()
.HasMaxLength(64);
b.Property<string>("ProviderName")
.IsRequired()
.HasMaxLength(64);
b.Property<Guid?>("TenantId");
b.HasKey("Id");
b.HasIndex("Name", "ProviderName", "ProviderKey");
b.ToTable("AbpPermissionGrants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.HasOne("Volo.Abp.MultiTenancy.Tenant")
.WithMany("ConnectionStrings")
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}

23
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/20180218143334_Made_Permission_Entity_MultiTenant.cs

@ -1,23 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
public partial class Made_Permission_Entity_MultiTenant : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "TenantId",
table: "AbpPermissionGrants",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "TenantId",
table: "AbpPermissionGrants");
}
}
}

112
src/AbpDesk/AbpDesk.EntityFrameworkCore/Migrations/AbpDeskDbContextModelSnapshot.cs

@ -1,112 +0,0 @@
// <auto-generated />
using AbpDesk.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace AbpDesk.EntityFrameworkCore.Migrations
{
[DbContext(typeof(AbpDeskDbContext))]
partial class AbpDeskDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.1-rtm-125")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AbpDesk.Tickets.Ticket", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Body")
.HasMaxLength(65536);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256);
b.HasKey("Id");
b.ToTable("DskTickets");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.Tenant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(64);
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("MtTenants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.Property<Guid>("TenantId");
b.Property<string>("Name")
.HasMaxLength(128);
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(1024);
b.HasKey("TenantId", "Name");
b.ToTable("MtTenantConnectionStrings");
});
modelBuilder.Entity("Volo.Abp.Permissions.PermissionGrant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128);
b.Property<string>("ProviderKey")
.IsRequired()
.HasMaxLength(64);
b.Property<string>("ProviderName")
.IsRequired()
.HasMaxLength(64);
b.Property<Guid?>("TenantId");
b.HasKey("Id");
b.HasIndex("Name", "ProviderName", "ProviderKey");
b.ToTable("AbpPermissionGrants");
});
modelBuilder.Entity("Volo.Abp.MultiTenancy.TenantConnectionString", b =>
{
b.HasOne("Volo.Abp.MultiTenancy.Tenant")
.WithMany("ConnectionStrings")
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}

18
src/AbpDesk/AbpDesk.EntityFrameworkCore/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.EntityFrameworkCore")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("35624e7c-6501-4b42-9aa7-70555666a8b3")]

32
src/AbpDesk/AbpDesk.MongoBlog/AbpDesk.MongoBlog.csproj

@ -1,32 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.MongoBlog</AssemblyName>
<PackageId>AbpDesk.MongoBlog</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Areas\Blog\Controllers\PostsController.cs" />
<EmbeddedResource Include="Areas\Blog\Views\Posts\Index.cshtml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="wwwroot\modules\mongoblog\views\posts\index.scss" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.MongoDB\Volo.Abp.MongoDB.csproj" />
<ProjectReference Include="..\..\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj" />
</ItemGroup>
<Target Name="PostcompileScript" AfterTargets="Build">
<Exec Command="xcopy /y $(TargetDir)AbpDesk.MongoBlog.dll ..\Web_PlugIns\" />
</Target>
</Project>

91
src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/AbpDeskMongoBlogModule.cs

@ -1,91 +0,0 @@
using System;
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
using Volo.Abp.MongoDB;
using Volo.Abp.Uow;
using Volo.Abp.VirtualFileSystem;
namespace AbpDesk.Blogging
{
//TODO: Make this a plugin
[DependsOn(typeof(AbpMongoDbModule), typeof(AbpAspNetCoreMvcModule))]
public class AbpDeskMongoBlogModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
services.AddMongoDbContext<AbpDeskMongoDbContext>(options =>
{
options.AddDefaultRepositories();
});
services.Configure<VirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpDeskMongoBlogModule>(); //TODO: Test empty base namespace!
});
services.AddAssemblyOf<AbpDeskMongoBlogModule>();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
CreateSeedData(context);
}
private static void CreateSeedData(ApplicationInitializationContext context)
{
using (var scope = context.ServiceProvider.CreateScope())
{
var logger = context.ServiceProvider.GetRequiredService<ILogger<AbpDeskMongoBlogModule>>();
logger.LogInformation("Running seed data for mongo blog module...");
using (var uow = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>().Begin())
{
var blogPostRepository = scope.ServiceProvider.GetRequiredService<IRepository<BlogPost, Guid>>();
if (blogPostRepository.Any())
{
logger.LogInformation($"No need to seed database since there are already {blogPostRepository.Count()} blog posts!");
return;
}
var guidGenerator = scope.ServiceProvider.GetRequiredService<IGuidGenerator>();
blogPostRepository.Insert(
new BlogPost(
guidGenerator.Create(),
"Demo blog post title one!",
"Sample body text for the first blog post"
)
);
blogPostRepository.Insert(
new BlogPost(
guidGenerator.Create(),
"Demo blog post title second!",
"Sample body text for the second blog post"
)
{
Comments =
{
new BlogPostComment("John", "Hi, this is a good post! Thank you :)"),
new BlogPostComment("Adam", "You are adam! :s")
}
}
);
logger.LogInformation("Inserted two blog post. completing the unit of work...");
uow.Complete();
logger.LogInformation("Completed!");
}
}
}
}
}

21
src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/AbpDeskMongoDbContext.cs

@ -1,21 +0,0 @@
using System.Collections.Generic;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
namespace AbpDesk.Blogging
{
[ConnectionStringName(ConnectionStringName)]
public class AbpDeskMongoDbContext : AbpMongoDbContext
{
public const string ConnectionStringName = "AbpDeskMongoBlog";
private static readonly MongoEntityMapping[] EntityCollectionTypes = {
new MongoEntityMapping(typeof(BlogPost), "BlogPosts")
};
public override IReadOnlyList<MongoEntityMapping> GetMappings()
{
return EntityCollectionTypes;
}
}
}

46
src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/BlogPost.cs

@ -1,46 +0,0 @@
using System;
using System.Collections.Generic;
using JetBrains.Annotations;
using Volo.Abp;
using Volo.Abp.Domain.Entities;
namespace AbpDesk.Blogging
{
public class BlogPost : AggregateRoot<Guid>
{
public virtual string Title { get; protected set; }
public virtual string Body { get; protected set; }
public virtual ICollection<BlogPostComment> Comments { get; protected set; }
protected BlogPost()
{
}
public BlogPost(Guid id, [NotNull] string title, [NotNull] string body)
{
Check.NotNull(title, nameof(title));
Check.NotNull(body, nameof(body));
Id = id;
Title = title;
Body = body;
Comments = new List<BlogPostComment>();
}
public void SetTitle([NotNull] string title)
{
Check.NotNull(title, nameof(title));
Title = title;
}
public override string ToString()
{
return $"{base.ToString()}, Title = {Title}, Body = {Body.TruncateWithPostfix(32)}";
}
}
}

42
src/AbpDesk/AbpDesk.MongoBlog/AbpDesk/Blogging/BlogPostComment.cs

@ -1,42 +0,0 @@
using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities;
namespace AbpDesk.Blogging
{
public class BlogPostComment : Entity<Guid>
{
[NotNull]
public virtual string Name { get; protected set; }
[CanBeNull]
public virtual string Email { get; protected set; }
public virtual byte? Star { get; protected set; }
[NotNull]
public virtual string Message { get; protected set; }
protected BlogPostComment()
{
}
public BlogPostComment(string name, string message, string email = null, byte? star = null)
{
Name = name;
Email = email;
Message = message;
Star = star;
}
public override string ToString()
{
return $"{base.ToString()}, " +
$"Name = {Name}, " +
$"Email = {Email}, " +
$"Message = {Message}, " +
$"Star = {(Star.HasValue ? Star.Value.ToString() : "none")}";
}
}
}

26
src/AbpDesk/AbpDesk.MongoBlog/Areas/Blog/Controllers/PostsController.cs

@ -1,26 +0,0 @@
using System;
using System.Linq;
using AbpDesk.Blogging;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Domain.Repositories;
namespace Areas.Blog.Controllers
{
[Area("Blog")]
public class PostsController : AbpController
{
private readonly IRepository<BlogPost, Guid> _blogPostRepository;
public PostsController(IRepository<BlogPost, Guid> blogPostRepository)
{
_blogPostRepository = blogPostRepository;
}
public ActionResult Index()
{
var posts = _blogPostRepository.ToList(); //TODO: async..?
return View(posts);
}
}
}

29
src/AbpDesk/AbpDesk.MongoBlog/Areas/Blog/Views/Posts/Index.cshtml

@ -1,29 +0,0 @@
@model List<AbpDesk.Blogging.BlogPost>
<h2>Blog Posts</h2>
@section styles {
<link rel="stylesheet" type="text/css" href="~/modules/mongoblog/views/posts/Index.css" />
}
<ul class="blog-post-list">
@foreach (var post in Model)
{
<h3>@post.Title</h3>
<p>@post.Body</p>
if (!post.Comments.Any())
{
<p><em>No comment yet!</em></p>
}
else
{
<div class="post-comments">
<h5>Comments</h5>
@foreach (var comment in post.Comments)
{
<p class="post-comment"><strong>@comment.Name</strong>: @comment.Message</p>
}
</div>
}
}
</ul>

18
src/AbpDesk/AbpDesk.MongoBlog/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.MongoBlog")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("63244dc7-34be-44e1-bf6f-f2672e59af36")]

19
src/AbpDesk/AbpDesk.MongoBlog/Properties/launchSettings.json

@ -1,19 +0,0 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:54356/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

6
src/AbpDesk/AbpDesk.MongoBlog/compilerconfig.json

@ -1,6 +0,0 @@
[
{
"outputFile": "wwwroot/modules/mongoblog/views/posts/index.css",
"inputFile": "wwwroot/modules/mongoblog/views/posts/index.scss"
}
]

49
src/AbpDesk/AbpDesk.MongoBlog/compilerconfig.json.defaults

@ -1,49 +0,0 @@
{
"compilers": {
"less": {
"autoPrefix": "",
"cssComb": "none",
"ieCompat": true,
"strictMath": false,
"strictUnits": false,
"relativeUrls": true,
"rootPath": "",
"sourceMapRoot": "",
"sourceMapBasePath": "",
"sourceMap": false
},
"sass": {
"includePath": "",
"indentType": "space",
"indentWidth": 2,
"outputStyle": "nested",
"Precision": 5,
"relativeUrls": true,
"sourceMapRoot": "",
"sourceMap": false
},
"stylus": {
"sourceMap": false
},
"babel": {
"sourceMap": false
},
"coffeescript": {
"bare": false,
"runtimeMode": "node",
"sourceMap": false
}
},
"minifiers": {
"css": {
"enabled": true,
"termSemicolons": true,
"gzip": false
},
"javascript": {
"enabled": true,
"termSemicolons": true,
"gzip": false
}
}
}

7
src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.css

@ -1,7 +0,0 @@
.blog-post-list .post-comments {
margin-left: 10px;
border-left: 5px solid #ddd;
padding-left: 10px; }
.blog-post-list .post-comments .post-comment {
margin-bottom: 0.2em; }

1
src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.min.css

@ -1 +0,0 @@
.blog-post-list .post-comments{margin-left:10px;border-left:5px solid #ddd;padding-left:10px;}.blog-post-list .post-comments .post-comment{margin-bottom:.2em;}

11
src/AbpDesk/AbpDesk.MongoBlog/wwwroot/modules/mongoblog/views/posts/index.scss

@ -1,11 +0,0 @@
.blog-post-list {
.post-comments {
margin-left: 10px;
border-left: 5px solid #ddd;
padding-left: 10px;
.post-comment {
margin-bottom: 0.2em;
}
}
}

18
src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDesk.SamplePlugInModule.csproj

@ -1,18 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>AbpDesk.SamplePlugInModule</AssemblyName>
<PackageId>AbpDesk.SamplePlugInModule</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace>AbpDesk.SamplePlugInModule</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.Core\Volo.Abp.Core.csproj" />
</ItemGroup>
</Project>

13
src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs

@ -1,13 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
namespace AbpDesk.SamplePlugInModule
{
public class AbpDeskSamplePlugInModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
}
}
}

18
src/AbpDesk/AbpDesk.SamplePlugInModule/Properties/AssemblyInfo.cs

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AbpDesk.SamplePlugInModule")]
[assembly: AssemblyTrademark("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("adfaf85b-b785-41ea-b57d-422775989fa6")]

72
src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj

@ -1,72 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>AbpDesk.Web.Mvc</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>AbpDesk.Web.Mvc</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<RootNamespace>AbpDesk.Web.Mvc</RootNamespace>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Logs\**" />
<Content Remove="Logs\**" />
<EmbeddedResource Remove="Logs\**" />
<None Remove="Logs\**" />
</ItemGroup>
<ItemGroup>
<None Update="wwwroot\**\*;Areas\**\*;Views\**\*;Dockerfile">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj" />
<ProjectReference Include="..\..\Volo.Abp.AspNetCore.MultiTenancy\Volo.Abp.AspNetCore.MultiTenancy.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Identity.Application\Volo.Abp.Identity.Application.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Identity.EntityFrameworkCore\Volo.Abp.Identity.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj" />
<ProjectReference Include="..\..\Volo.Abp.IdentityServer.EntityFrameworkCore\Volo.Abp.IdentityServer.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\Volo.Abp.MultiTenancy.Application\Volo.Abp.MultiTenancy.Application.csproj" />
<ProjectReference Include="..\..\Volo.Abp.MultiTenancy.Web\Volo.Abp.MultiTenancy.Web.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Permissions.Application\Volo.Abp.Permissions.Application.csproj" />
<ProjectReference Include="..\AbpDesk.Application.Contracts\AbpDesk.Application.Contracts.csproj" />
<ProjectReference Include="..\..\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj" />
<ProjectReference Include="..\AbpDesk.EntityFrameworkCore\AbpDesk.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\AbpDesk.Application\AbpDesk.Application.csproj" />
<ProjectReference Include="..\..\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj" />
<ProjectReference Include="..\..\Volo.Abp.AspNetCore.EmbeddedFiles\Volo.Abp.AspNetCore.EmbeddedFiles.csproj" />
<ProjectReference Include="..\..\Volo.Abp.Identity.Web\Volo.Abp.Identity.Web.csproj" />
<ProjectReference Include="..\..\Volo.Abp.MongoDB\Volo.Abp.MongoDB.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.3.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.1">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.2" />
<PackageReference Include="Serilog.Extensions.Logging" Version="2.0.2" />
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="2.0.1" />
</ItemGroup>
</Project>

208
src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs

@ -1,208 +0,0 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using AbpDesk.EntityFrameworkCore;
using AbpDesk.Web.Mvc.Navigation;
using AbpDesk.Web.Mvc.Permissions;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Localization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.EmbeddedFiles;
using Volo.Abp.AspNetCore.Modularity;
using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Autofac;
using Volo.Abp.Identity;
using Volo.Abp.Identity.EntityFrameworkCore;
using Volo.Abp.Identity.Web;
using Volo.Abp.IdentityServer;
using Volo.Abp.IdentityServer.EntityFrameworkCore;
using Volo.Abp.Modularity;
using Volo.Abp.Ui.Navigation;
using Volo.Abp.VirtualFileSystem;
using Volo.Abp.IdentityServer.Jwt;
using Volo.Abp.MultiTenancy;
using Volo.Abp.MultiTenancy.Web;
using Volo.Abp.Permissions;
using Volo.Abp.Permissions.Web;
namespace AbpDesk.Web.Mvc
{
[DependsOn(
typeof(AbpAspNetCoreEmbeddedFilesModule),
typeof(AbpAspNetCoreMvcUiBootstrapModule),
typeof(AbpDeskApplicationModule),
typeof(AbpDeskEntityFrameworkCoreModule),
typeof(AbpIdentityApplicationModule),
typeof(AbpIdentityEntityFrameworkCoreModule),
typeof(AbpIdentityWebModule),
typeof(AbpAccountWebModule),
typeof(AbpAutofacModule),
typeof(AbpIdentityServerDomainModule),
typeof(AbpIdentityServerEntityFrameworkCoreModule),
typeof(AbpAspNetCoreMultiTenancyModule),
typeof(AbpMultiTenancyWebModule),
typeof(AbpMultiTenancyApplicationModule),
typeof(AbpPermissionsApplicationModule)
)]
public class AbpDeskWebMvcModule : AbpModule //TODO: Rename to AbpDeskWebModule, change default namespace to AbpDesk.Web
{
public override void PreConfigureServices(IServiceCollection services)
{
services.PreConfigure<IMvcBuilder>(builder =>
{
builder
.AddRazorPagesOptions(options =>
{
options.Conventions.AuthorizeFolder("/App");
});
});
}
public override void ConfigureServices(IServiceCollection services)
{
var hostingEnvironment = services.GetSingletonInstance<IHostingEnvironment>();
var configuration = BuildConfiguration(hostingEnvironment);
AbpDeskDbConfigurer.Configure(services, configuration);
services.Configure<NavigationOptions>(options =>
{
options.MenuContributors.Add(new MainMenuContributor());
});
services.Configure<PermissionOptions>(options =>
{
options.DefinitionProviders.Add<AbpDeskPermissionDefinitionProvider>();
});
//services.Configure<RemoteServiceOptions>(configuration); //Needed when we use Volo.Abp.Identity.HttpApi.Client
var authentication = services.AddAuthentication();
services.AddAuthorization(options =>
{
options.AddPolicy("RequirePhoneNumber", policy =>
{
policy.RequireClaim("phone_number");
});
});
authentication.AddIdentityServerAuthentication("Bearer", options =>
{
options.Authority = "http://localhost:59980";
options.RequireHttpsMetadata = false;
options.ApiName = "api1";
});
////Adding Facebook authentication (TODO: Move to Account module as much as possible)
//if (bool.Parse(configuration["Authentication:Facebook:IsEnabled"]))
//{
// authentication.AddFacebook(options =>
// {
// options.AppId = configuration["Authentication:Facebook:AppId"];
// options.AppSecret = configuration["Authentication:Facebook:AppSecret"];
// options.Scope.Add("email");
// options.Scope.Add("public_profile");
// });
//}
services.AddAssemblyOf<AbpDeskWebMvcModule>();
services.Configure<BundlingOptions>(options =>
{
//TODO: To the framework!
options.ScriptBundles.Add("GlobalScripts", new[]
{
"/Abp/ApplicationConfigurationScript?_v=" + DateTime.Now.Ticks,
"/Abp/ServiceProxyScript?_v=" + DateTime.Now.Ticks
});
});
services.Configure<AbpAspNetCoreMvcOptions>(options =>
{
options.ConventionalControllers.Create(typeof(AbpDeskApplicationModule).Assembly);
});
if (hostingEnvironment.IsDevelopment())
{
services.Configure<VirtualFileSystemOptions>(options =>
{
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.AspNetCore.Mvc.UI"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAccountWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.Account.Web"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpIdentityWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.Identity.Web"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpMultiTenancyWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.MultiTenancy.Web"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpPermissionsWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.Permissions.Web"));
});
}
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
if (context.GetEnvironment().IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseVirtualFiles();
app.UseMultiTenancy();
app.UseIdentityServer();
app.UseAuthentication();
app.UseJwtTokenMiddleware("Bearer"); //TODO: It would be better without that, however it requires to use Bearer as default auth schema.
var cultures = new List<CultureInfo>
{
new CultureInfo("en"),
new CultureInfo("tr")
};
//TODO: Should we add this to the framework, or left it to the application?
//TODO: Should we add this as the first middleware (to support localization in all middlewares too)?
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en"),
SupportedCultures = cultures,
SupportedUICultures = cultures
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "defaultWithArea",
template: "{area}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
private static IConfigurationRoot BuildConfiguration(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
return builder.Build();
}
}
}

4
src/AbpDesk/AbpDesk.Web.Mvc/Areas/_ViewImports.cshtml

@ -1,4 +0,0 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, AbpDesk.Web.Mvc

3
src/AbpDesk/AbpDesk.Web.Mvc/Areas/_ViewStart.cshtml

@ -1,3 +0,0 @@
@{
Layout = "~/Views/Shared/_AppLayout.cshtml";
}

23
src/AbpDesk/AbpDesk.Web.Mvc/Controllers/AuthTestController.cs

@ -1,23 +0,0 @@
using System.Linq;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
namespace AbpDesk.Web.Mvc.Controllers
{
public class AuthTestController : AbpController
{
private readonly IAuthorizationService _authorizationService;
public AuthTestController(IAuthorizationService authorizationService)
{
_authorizationService = authorizationService;
}
[Authorize(Policy = "RequirePhoneNumber")]
public ContentResult PhoneNumberIsRequired()
{
return Content("OK: " + User.Claims.First(c => c.Type == "phone_number")?.Value);
}
}
}

59
src/AbpDesk/AbpDesk.Web.Mvc/Controllers/IdentityServerTestController.cs

@ -1,59 +0,0 @@
using System.Threading.Tasks;
using IdentityServer4.Models;
using IdentityServer4.Stores;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.IdentityServer.ApiResources;
using Volo.Abp.IdentityServer.Clients;
using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource;
using Client = Volo.Abp.IdentityServer.Clients.Client;
namespace AbpDesk.Web.Mvc.Controllers
{
[Route("identity-server-test")]
public class IdentityServerTestController : AbpController
{
private readonly IClientRepository _clientRepository;
private readonly IApiResourceRepository _apiResourceRepository;
private readonly IResourceStore _resourceStore;
public IdentityServerTestController(
IClientRepository clientRepository,
IApiResourceRepository apiResourceRepository,
IResourceStore resourceStore)
{
_clientRepository = clientRepository;
_apiResourceRepository = apiResourceRepository;
_resourceStore = resourceStore;
}
[HttpGet]
public async Task<IActionResult> Get()
{
return Content("Resources: " + (await _resourceStore.FindApiResourceAsync("api1")).Name);
}
[HttpGet]
[Route("create")]
public async Task<IActionResult> CreateClient(string clientId)
{
var apiResource = await _apiResourceRepository.FindByNameAsync("api1");
if (apiResource == null)
{
apiResource = new ApiResource(GuidGenerator.Create(), "api1");
await _apiResourceRepository.InsertAsync(apiResource);
}
var client = new Client(GuidGenerator.Create(), clientId);
client.AddGrantTypes(GrantTypes.ClientCredentials);
client.AddSecret("secret".Sha256());
client.AddScope("api1");
await _clientRepository.InsertAsync(client);
return Content("OK: " + client.Id);
}
}
}

18
src/AbpDesk/AbpDesk.Web.Mvc/Controllers/IdentityTestController.cs

@ -1,18 +0,0 @@
using System.Linq;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
namespace AbpDesk.Web.Mvc.Controllers
{
[Route("identity-test")]
[Authorize]
public class IdentityTestController : AbpController
{
[HttpGet]
public IActionResult Get()
{
return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
}
}
}

66
src/AbpDesk/AbpDesk.Web.Mvc/Controllers/MultiTenancyController.cs

@ -1,66 +0,0 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Ui;
namespace AbpDesk.Web.Mvc.Controllers
{
/* TODO: This is temporary solution to switch tenant.
*/
public class MultiTenancyController : AbpController
{
private readonly ITenantStore _tenantStore;
private readonly AspNetCoreMultiTenancyOptions _options;
public MultiTenancyController(ITenantStore tenantStore, IOptions<AspNetCoreMultiTenancyOptions> options)
{
_tenantStore = tenantStore;
_options = options.Value;
}
public async Task<ActionResult> SwitchTenant(string tenant = "")
{
if (tenant.IsNullOrEmpty())
{
HttpContext.Response.Cookies.Delete(_options.TenantKey);
}
else
{
var tenantInfo = await FindTenantAsync(tenant);
if (tenantInfo == null)
{
throw new UserFriendlyException("Unknown tenant: " + tenant);
}
HttpContext.Response.Cookies.Append(
_options.TenantKey,
tenantInfo.Id.ToString(),
new CookieOptions
{
Expires = DateTimeOffset.Now.AddYears(1)
}
);
}
return Redirect("/");
}
private async Task<TenantInfo> FindTenantAsync(string tenantIdOrName)
{
if (Guid.TryParse(tenantIdOrName, out var parsedTenantId))
{
return await _tenantStore.FindAsync(parsedTenantId);
}
else
{
return await _tenantStore.FindAsync(tenantIdOrName);
}
}
}
}

9
src/AbpDesk/AbpDesk.Web.Mvc/Dockerfile

@ -1,9 +0,0 @@
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY . .
RUN mkdir /Web_PlugIns
RUN mv /app/PlugIns/*.* /Web_PlugIns
ENTRYPOINT ["dotnet", "AbpDesk.Web.Mvc.dll"]

37
src/AbpDesk/AbpDesk.Web.Mvc/Navigation/MainMenuContributor.cs

@ -1,37 +0,0 @@
using System.Threading.Tasks;
using Volo.Abp.Ui.Navigation;
namespace AbpDesk.Web.Mvc.Navigation
{
public class MainMenuContributor : IMenuContributor
{
public Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name != StandardMenus.Main)
{
return Task.CompletedTask;
}
context.Menu.DisplayName = "Main Menu";
context.Menu.Items.Insert(0, new ApplicationMenuItem("Home", "Home", url: "/"));
context.Menu
.AddItem(
new ApplicationMenuItem("TicketManagement", "Ticket Management")
.AddItem(
new ApplicationMenuItem("TicketManagement.Tickets", "Tickets", url: "/App/Tickets")
)
).AddItem(
new ApplicationMenuItem("TodoList", "Todo List", url: "/App/Todo")
);
//Disabled blog module. This should be inside the module!
//.AddItem(
// new ApplicationMenuItem("Blog", "Blog", url: "/Blog/Posts")
//);
return Task.CompletedTask;
}
}
}

37
src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml

@ -1,37 +0,0 @@
@page
@using AbpDesk.Web.Mvc.Pages.App.Tickets
@using Volo.Abp.Users
@model AbpDesk.Web.Mvc.Pages.App.Tickets.IndexModel
@inject ICurrentUser CurrentUser;
@section styles
{
<link rel="stylesheet" type="text/css" href="~/global-styles.css" />
}
<h2>Tickets</h2>
<ul class="ticket-list">
@foreach (var ticket in Model.Tickets)
{
<li data-entity-id="@ticket.Id">
<h3>@ticket.Title</h3>
<p>@ticket.Body</p>
</li>
}
</ul>
<p>
Roles: @CurrentUser.Roles.JoinAsString(", ") <br />
IsInRole Supporter: @User.IsInRole("Supporter") <br />
IsInRole Supporter: @CurrentUser.IsInRole("Supporter")
</p>
<h4>Claims</h4>
<ul>
@foreach (var claim in User.Claims)
{
<li>@claim.Type : @claim.Value</li>
}
</ul>

26
src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Tickets/Index.cshtml.cs

@ -1,26 +0,0 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using AbpDesk.Tickets;
using AbpDesk.Tickets.Dtos;
using Volo.Abp.AspNetCore.Mvc.RazorPages;
namespace AbpDesk.Web.Mvc.Pages.App.Tickets
{
public class IndexModel : AbpPageModel
{
public IReadOnlyList<TicketDto> Tickets { get; set; }
private readonly ITicketAppService _ticketAppService;
public IndexModel(ITicketAppService ticketAppService)
{
_ticketAppService = ticketAppService;
}
public async Task OnGetAsync(GetAllTicketsInput input)
{
var result = await _ticketAppService.GetAll(input);
Tickets = result.Items;
}
}
}

16
src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Todo/Index.cshtml

@ -1,16 +0,0 @@
@page
@using AbpDesk.Web.Mvc.Pages.App.Todo
@model IndexModel
<h2>TODO application!</h2>
<div id="TodoApp">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
</div>
@section scripts {
<script src="~/pages/app/todo/index.js"></script>
}

12
src/AbpDesk/AbpDesk.Web.Mvc/Pages/App/Todo/Index.cshtml.cs

@ -1,12 +0,0 @@
using Volo.Abp.AspNetCore.Mvc.RazorPages;
namespace AbpDesk.Web.Mvc.Pages.App.Todo
{
public class IndexModel : AbpPageModel
{
public void OnGet()
{
}
}
}

3
src/AbpDesk/AbpDesk.Web.Mvc/Pages/Index.cshtml

@ -1,3 +0,0 @@
@page
@model AbpDesk.Web.Mvc.Pages.IndexModel
<h2>Home page!</h2>

12
src/AbpDesk/AbpDesk.Web.Mvc/Pages/Index.cshtml.cs

@ -1,12 +0,0 @@
using Volo.Abp.AspNetCore.Mvc.RazorPages;
namespace AbpDesk.Web.Mvc.Pages
{
public class IndexModel : AbpPageModel
{
public void OnGet()
{
}
}
}

4
src/AbpDesk/AbpDesk.Web.Mvc/Pages/_ViewImports.cshtml

@ -1,4 +0,0 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, AbpDesk.Web.Mvc

4
src/AbpDesk/AbpDesk.Web.Mvc/Pages/_ViewStart.cshtml

@ -1,4 +0,0 @@
@{
//TODO: Move this to ~/Pages/Abp/_AppLayout.cshtml..?
Layout = "~/Views/Shared/_AppLayout.cshtml";
}

20
src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs

@ -1,20 +0,0 @@
using Volo.Abp.Authorization.Permissions;
namespace AbpDesk.Web.Mvc.Permissions
{
public class AbpDeskPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var abpDeskGroup = context.AddGroup("AbpDesk");
var tickets = abpDeskGroup.AddPermission("AbpDesk.Tickets");
tickets.AddChild("AbpDesk.Tickets.Reply");
tickets.AddChild("AbpDesk.Tickets.Close");
var customers = abpDeskGroup.AddPermission("AbpDesk.Customers");
customers.AddChild("AbpDesk.Customers.Create");
customers.AddChild("AbpDesk.Customers.Delete");
}
}
}

20
src/AbpDesk/AbpDesk.Web.Mvc/Program.cs

@ -1,20 +0,0 @@
using System.IO;
using Microsoft.AspNetCore.Hosting;
namespace AbpDesk.Web.Mvc
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}

27
src/AbpDesk/AbpDesk.Web.Mvc/Properties/launchSettings.json

@ -1,27 +0,0 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:59980/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"AbpDesk.Web.Mvc": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "http://localhost:59980",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

56
src/AbpDesk/AbpDesk.Web.Mvc/Startup.cs

@ -1,56 +0,0 @@
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Serilog;
using Volo.Abp;
namespace AbpDesk.Web.Mvc
{
public class Startup
{
private readonly IHostingEnvironment _env;
public Startup(IHostingEnvironment env)
{
_env = env;
}
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddApplication<AbpDeskWebMvcModule>(options =>
{
options.UseAutofac();
/* @halil: I added Abp.MongoDb package as a dependency to the main application in order to use the blog plugin.
* Otherwise, we should add all dependencies (Recursively) into plugin folder
* and load in correct order. We should carefully think on that problem in the future.
* NOTE: Disabled
*/
//options.PlugInSources.AddFolder(
// Path.Combine(
// _env.ContentRootPath,
// @"../Web_PlugIns/")
//);
});
//TODO: This is needed because ASP.NET Core does not use IServiceProviderFactory!
return services.BuildServiceProviderFromFactory();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime appLifetime)
{
loggerFactory
.AddConsole()
.AddDebug()
.AddSerilog(new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.File("Logs/logs.txt")
.CreateLogger()
);
app.InitializeApplication();
}
}
}

4
src/AbpDesk/AbpDesk.Web.Mvc/Views/_ViewImports.cshtml

@ -1,4 +0,0 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, AbpDesk.Web.Mvc

3
src/AbpDesk/AbpDesk.Web.Mvc/Views/_ViewStart.cshtml

@ -1,3 +0,0 @@
@{
Layout = "~/Views/Shared/_AppLayout.cshtml";
}

11
src/AbpDesk/AbpDesk.Web.Mvc/appsettings.Staging.json

@ -1,11 +0,0 @@
{
"ConnectionStrings": {
"Default": "Server=10.0.75.1;Database=AbpDesk;User=sa;Password=123qwe;",
"AbpDeskMongoBlog": "mongodb://outputs_mongodb_1:27017|AbpDeskBlog"
},
"RemoteServices": {
"AbpIdentity": {
"BaseUrl": "http://outputs_abpidentity_httpapihost_1/"
}
}
}

28
src/AbpDesk/AbpDesk.Web.Mvc/appsettings.json

@ -1,28 +0,0 @@
{
"ConnectionStrings": {
"Default": "Server=localhost;Database=AbpDesk;Trusted_Connection=True;",
"AbpDeskMongoBlog": "mongodb://127.0.0.1:27017|AbpDeskBlog"
},
"RemoteServices": {
"AbpIdentity": {
"BaseUrl": "http://localhost:63290/"
}
},
"Authentication": {
"Facebook": {
"IsEnabled": "true",
"AppId": "911417875702990",
"AppSecret": "adea0bff222ae340d8fb0ce3e6275d6b"
}
},
"Tenants": [
{
"Id": "446a5211-3d72-4339-9adc-845151f8ada0",
"Name": "acme"
},
{
"Id": "25388015-ef1c-4355-9c18-f6b6ddbaf89d",
"Name": "volosoft"
}
]
}

6
src/AbpDesk/AbpDesk.Web.Mvc/compilerconfig.json

@ -1,6 +0,0 @@
[
{
"outputFile": "wwwroot/global-styles.css",
"inputFile": "wwwroot/global-styles.scss"
}
]

49
src/AbpDesk/AbpDesk.Web.Mvc/compilerconfig.json.defaults

@ -1,49 +0,0 @@
{
"compilers": {
"less": {
"autoPrefix": "",
"cssComb": "none",
"ieCompat": true,
"strictMath": false,
"strictUnits": false,
"relativeUrls": true,
"rootPath": "",
"sourceMapRoot": "",
"sourceMapBasePath": "",
"sourceMap": false
},
"sass": {
"includePath": "",
"indentType": "space",
"indentWidth": 2,
"outputStyle": "nested",
"Precision": 5,
"relativeUrls": true,
"sourceMapRoot": "",
"sourceMap": false
},
"stylus": {
"sourceMap": false
},
"babel": {
"sourceMap": false
},
"coffeescript": {
"bare": false,
"runtimeMode": "node",
"sourceMap": false
}
},
"minifiers": {
"css": {
"enabled": true,
"termSemicolons": true,
"gzip": false
},
"javascript": {
"enabled": true,
"termSemicolons": true,
"gzip": false
}
}
}

1
src/AbpDesk/AbpDesk.Web.Mvc/tempkey.rsa

@ -1 +0,0 @@
{"KeyId":"3b003a0fc7d8278f13f59d44f4620374","Parameters":{"D":"Qravv6bNhcfweciZna68hlflA8ygXVgoycYFC/oSG0Ulxr7iN1WtpJEau80OReBKVuRqqvxepzJcNv9CqMGvs9+bDrymk9DDdH46ybFKZB2MaufaBuwbuiJi5qCsGmaDvjzf1dwPyGS+7OEa28GDw7ibwwkf6sMJcIBWGQrAZ6O+/Ka8ouF8Zdn+6Igv4rK+RVtKQbjYeJ9CvhOZFXSuLl1XVAM01bGwvQSh8BwMC7i1g7gKypvTG31OSlG3ZzIoF7uuoXaC/WWbGvryvPUzFbgCLO8tQu4/Kdy9NsU3C3M/adUtRxLtVNvD29o8dDZT8NM2UTotfgGg3v72ktmnjQ==","DP":"cQ4XqOgPQAOO4dqg3yFH/xFoXQx/5/q4oGtFZYDTSOyrRL/LopZHrr53ys7Uble7+dDa6PPYBgY/C2/SwLBaUF9FpM27Kp7D+3yUKFbKtW8uke+UEM6MgcfjBdwEFVV4CqqHzgD8JvtZ1xhBvx6yUJuHcxxuWKlElXhsTVJKwwE=","DQ":"ktpqqgnwT2Rr9Eb0Kkyg5LZgsO75Pu+0u1q4WhZ7ZzOMJqquCf7hw7ucaWPLq8Ipzn5Hu5CO2gT+URjMGkJNQA+728tFnFkST9wFeqp1hQh5ZxgYsONiH9e/Nw6iauI07i2TYt7pFhIYUOg52/SvHrAzPyEYznCw3BZrR4rEjJk=","Exponent":"AQAB","InverseQ":"hkiDiH926FhARZnVhV5sDnbjxGTdQl8ErZ+qOdBE2vVP6IwNj14dkw+ON4XeIyM/CE3RYmhd8I68JCDNVd6J4hE4NIe4xr+ykmVHYLWQhZ/k4QippwabZ3SK9dkcosQF6BP3lNSgW0UxomdgMKQcsQqccroKEq52Ccr3dUVXICg=","Modulus":"7fgl4D1Emkq+KRAj+u7g7e8hrEhYT19ZRVu1LVdZpx8vDUmuBLVCrNdm6VPIeV5YvrRLELiAknujOMytnIwtY6D1beOtdunEE1z32QsFxizYa9lVaL1rwEURnLQ51sP2bJsxNZnHaJQFGCzOc1i8V551V8eG43asoSbQKFz8Aa6A5UdZaecWSF9WoIkWH/xdi2Ecun69HAS8LiS2S3yKgqyLJivZM72lMUgTWyklh8WMscMb2pRTHspV2oqlIRBo4bRbLgYRJ+6pOMvtge5CgWMupolpy0BTpQrRLPYK9oiZ9iP1/Hdrlu8U0G6XL1rz0kkfqOU10AtlYZe01b0zXQ==","P":"+pWvk2Q5+YN0IikHJkCdpeZMUM3Tkj08FEJETRNU3Rcrpg1wyFQJdqIib28XzWdua5vilBNnAwhbBw4dO978rn1riHq8VQD1JSFh1+vwlzhG76M89KnP7v/DuILbTT4tKU28VWjQsT4RVlI5Rqc3REaUoQDYAmvARCFDGOxCrYs=","Q":"8xyreLJWnAFQoVJjLhK/eNE+GdABidksHz47k1p9imeKAv4xpFx4jfAec4VSiXCvK/KW9+fbPA+S4hEa/5oICKvvALFZavL7A4htnQjflgnEc+QqlR7TjnVgMILyBB3mf4mlNjR7kfwcDwGLRBjMx8mxadj+NlREri4Jw6q4D7c="}}

12
src/AbpDesk/AbpDesk.Web.Mvc/web.config

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" startupTimeLimit="3600" requestTimeout="23:00:00" />
</system.webServer>
</configuration>

5
src/AbpDesk/AbpDesk.Web.Mvc/wwwroot/global-styles.css

@ -1,5 +0,0 @@
ul.ticket-list {
list-style: none; }
ul.ticket-list li {
border-bottom: 1px solid #d0d0d0; }

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save