Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: engindemirog/nArchitecture
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: yakupaltunoglu/nArchitecture
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
  • 1 commit
  • 122 files changed
  • 1 contributor

Commits on May 23, 2023

  1. x

    Yakup ALTUNOGLU committed May 23, 2023
    Copy the full SHA
    7ab2eeb View commit details
Showing with 10,176 additions and 5 deletions.
  1. +64 −5 nArchitecture.sln
  2. +20 −0 src/demoProjects/calendarSemerkand/Application/Application.csproj
  3. +42 −0 src/demoProjects/calendarSemerkand/Application/ApplicationServiceRegistration.cs
  4. +45 −0 ...moProjects/calendarSemerkand/Application/Features/Cities/Commands/CreateCity/CreateCityCommand.cs
  5. +18 −0 ...s/calendarSemerkand/Application/Features/Cities/Commands/CreateCity/CreateCityCommandValidator.cs
  6. +14 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Dtos/CityGetByIdDto.cs
  7. +14 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Dtos/CityListDto.cs
  8. +16 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Dtos/CreatedCityDto.cs
  9. +17 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Models/CityListModel.cs
  10. +26 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Profiles/MappingProfiles.cs
  11. +43 −0 ...emoProjects/calendarSemerkand/Application/Features/Cities/Queries/GetByIdCity/GetByIdCityQuery.cs
  12. +40 −0 ...emoProjects/calendarSemerkand/Application/Features/Cities/Queries/GetListCity/GetListCityQuery.cs
  13. +33 −0 src/demoProjects/calendarSemerkand/Application/Features/Cities/Rules/CityBusinessRules.cs
  14. +16 −0 src/demoProjects/calendarSemerkand/Application/Services/Repositories/ICityRepository.cs
  15. +17 −0 src/demoProjects/calendarSemerkand/Domain/Domain.csproj
  16. +61 −0 src/demoProjects/calendarSemerkand/Domain/Entities/City.cs
  17. +41 −0 src/demoProjects/calendarSemerkand/Domain/Entities/DaylightSavingTime.cs
  18. +57 −0 src/demoProjects/calendarSemerkand/Domain/Entities/PrayTime.cs
  19. +61 −0 src/demoProjects/calendarSemerkand/Domain/Entities/Time.cs
  20. +9 −0 src/demoProjects/calendarSemerkand/Infrastructure/Infrastructure.csproj
  21. +122 −0 src/demoProjects/calendarSemerkand/Persistence/Contexts/BaseDbContext.cs
  22. +118 −0 src/demoProjects/calendarSemerkand/Persistence/Helpers/DateTimeHelper.cs
  23. +15 −0 src/demoProjects/calendarSemerkand/Persistence/Helpers/Meyl_Cetveli.cs
  24. +93 −0 src/demoProjects/calendarSemerkand/Persistence/Helpers/PrayTime2.cs
  25. +500 −0 src/demoProjects/calendarSemerkand/Persistence/Helpers/PrayTimeHelper.cs
  26. +228 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228092658_m1.Designer.cs
  27. +114 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228092658_m1.cs
  28. +237 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228112922_m2.Designer.cs
  29. +45 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228112922_m2.cs
  30. +339 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228133312_m3.Designer.cs
  31. +87 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/20230228133312_m3.cs
  32. +337 −0 src/demoProjects/calendarSemerkand/Persistence/Migrations/BaseDbContextModelSnapshot.cs
  33. +20 −0 src/demoProjects/calendarSemerkand/Persistence/Persistence.csproj
  34. +26 −0 src/demoProjects/calendarSemerkand/Persistence/PersistenceServiceRegistration.cs
  35. +164 −0 src/demoProjects/calendarSemerkand/Persistence/Repositories/CityRepository.cs
  36. +7 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/App.config
  37. +14 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/Config.cs
  38. +251 −0 ...moProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/AstronomyServiceTests.cs
  39. +328 −0 ...Projects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/ConvertTimeServiceTests.cs
  40. +232 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/DSTServiceTests.cs
  41. +152 −0 ...emoProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/DialCodeServiceTests.cs
  42. +89 −0 ...emoProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/HolidaysServiceTests.cs
  43. +44 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/PlacesServiceTests.cs
  44. +538 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/IntegrationTests/TimeServiceTests.cs
  45. +67 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/TimeAndDate.Services.Tests.csproj
  46. +111 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/UnitTests/AstronomyTests.cs
  47. +4 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services.Tests/packages.config
  48. +27 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/AssemblyInfo.cs
  49. +183 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/AstronomyService.cs
  50. +49 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Authentication.cs
  51. +103 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/BaseService.cs
  52. +16 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/AuthOptions.cs
  53. +23 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/DateTimeUtils.cs
  54. +11 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/Exceptions.cs
  55. +25 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/InMemStore.cs
  56. +6 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/MalformedXMLException.cs
  57. +137 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/StringHelpers.cs
  58. +19 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/UriUtils.cs
  59. +30 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Common/XmlUtils.cs
  60. +13 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/Constants.cs
  61. +172 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/ConvertTimeService.cs
  62. +39 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/ConvertedTimes.cs
  63. +155 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DSTService.cs
  64. +114 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/Astronomy.cs
  65. +79 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyDay.cs
  66. +120 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyDayEvent.cs
  67. +56 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyEvent.cs
  68. +47 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyEventClass.cs
  69. +79 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyEventCode.cs
  70. +11 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyEventType.cs
  71. +61 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyLocation.cs
  72. +52 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyObjectDetails.cs
  73. +17 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomyObjectType.cs
  74. +35 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/AstronomySpecial.cs
  75. +54 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Astro/MoonPhase.cs
  76. +9 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/BaseModel.cs
  77. +126 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/DST/DST.cs
  78. +13 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/DST/DSTSpecialType.cs
  79. +83 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/DialCode/Composition.cs
  80. +46 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/DialCode/PhoneNumberElement.cs
  81. +179 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Holidays/Holiday.cs
  82. +67 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Holidays/HolidayState.cs
  83. +34 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Holidays/HolidayType.cs
  84. +17 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Coordinates.cs
  85. +40 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Country.cs
  86. +72 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Geo.cs
  87. +169 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Location.cs
  88. +56 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/LocationId.cs
  89. +54 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/LocationRef.cs
  90. +54 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Place.cs
  91. +80 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Places/Region.cs
  92. +75 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Time/TADTime.cs
  93. +96 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Time/TADTimezone.cs
  94. +105 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Time/TimeChange.cs
  95. +44 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DataTypes/Time/VerboseTimeChange.cs
  96. +191 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DialCodeService.cs
  97. +33 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/DialCodes.cs
  98. +112 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/HolidaysService.cs
  99. +62 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/PlacesService.cs
  100. +95 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/TimeAndDate.Services.csproj
  101. +131 −0 src/demoProjects/calendarSemerkand/TimeAndDate.Services/TimeService.cs
  102. +197 −0 src/demoProjects/calendarSemerkand/TimeAndDate/ExcelYaz.cs
  103. +170 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Form1.Designer.cs
  104. +347 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Form1.cs
  105. +120 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Form1.resx
  106. BIN src/demoProjects/calendarSemerkand/TimeAndDate/Microsoft.Office.Interop.Excel.dll
  107. +21 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Program.cs
  108. +36 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Properties/AssemblyInfo.cs
  109. +63 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Properties/Resources.Designer.cs
  110. +117 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Properties/Resources.resx
  111. +26 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Properties/Settings.Designer.cs
  112. +7 −0 src/demoProjects/calendarSemerkand/TimeAndDate/Properties/Settings.settings
  113. +114 −0 src/demoProjects/calendarSemerkand/TimeAndDate/TimeAndDate.csproj
  114. +3 −0 src/demoProjects/calendarSemerkand/TimeAndDate/app.config
  115. +14 −0 src/demoProjects/calendarSemerkand/TimeAndDate/place.cs
  116. +17 −0 src/demoProjects/calendarSemerkand/WebAPI/Controllers/BaseController.cs
  117. +38 −0 src/demoProjects/calendarSemerkand/WebAPI/Controllers/CitiesController.cs
  118. +81 −0 src/demoProjects/calendarSemerkand/WebAPI/Program.cs
  119. +31 −0 src/demoProjects/calendarSemerkand/WebAPI/Properties/launchSettings.json
  120. +35 −0 src/demoProjects/calendarSemerkand/WebAPI/WebAPI.csproj
  121. +8 −0 src/demoProjects/calendarSemerkand/WebAPI/appsettings.Development.json
  122. +19 −0 src/demoProjects/calendarSemerkand/WebAPI/appsettings.json
69 changes: 64 additions & 5 deletions nArchitecture.sln
Original file line number Diff line number Diff line change
@@ -37,15 +37,33 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebAPI", "src\demoProjects\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rentACar", "rentACar", "{E3BE1496-27FA-4B1B-B8B2-A9DC8DDDC4C3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Application", "src\demoProjects\rentACar\Application\Application.csproj", "{340C0C7F-5E5C-4097-9C25-B5964BBDC2D6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Application", "src\demoProjects\rentACar\Application\Application.csproj", "{340C0C7F-5E5C-4097-9C25-B5964BBDC2D6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Domain", "src\demoProjects\rentACar\Domain\Domain.csproj", "{BB849BC7-4B6B-4D55-BB2D-C90CD3D2FFD5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Domain", "src\demoProjects\rentACar\Domain\Domain.csproj", "{BB849BC7-4B6B-4D55-BB2D-C90CD3D2FFD5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure", "src\demoProjects\rentACar\Infrastructure\Infrastructure.csproj", "{EAC94DA5-0929-42B9-95BE-1753255ACE83}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infrastructure", "src\demoProjects\rentACar\Infrastructure\Infrastructure.csproj", "{EAC94DA5-0929-42B9-95BE-1753255ACE83}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Persistence", "src\demoProjects\rentACar\Persistence\Persistence.csproj", "{5A128E9B-B7D9-43F5-8E22-2E998D70252E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Persistence", "src\demoProjects\rentACar\Persistence\Persistence.csproj", "{5A128E9B-B7D9-43F5-8E22-2E998D70252E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebAPI", "src\demoProjects\rentACar\WebAPI\WebAPI.csproj", "{B3A9582B-1FEA-4055-984E-829D05248B11}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebAPI", "src\demoProjects\rentACar\WebAPI\WebAPI.csproj", "{B3A9582B-1FEA-4055-984E-829D05248B11}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "calendarSemerkand", "calendarSemerkand", "{B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Application", "src\demoProjects\calendarSemerkand\Application\Application.csproj", "{1AB8066A-9A89-4302-A851-553FF91B6979}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Domain", "src\demoProjects\calendarSemerkand\Domain\Domain.csproj", "{904C5B7B-FA37-4B2E-9696-D7B99254F997}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Persistence", "src\demoProjects\calendarSemerkand\Persistence\Persistence.csproj", "{9D3882B9-094B-4871-8FF0-85458F7FB93C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebAPI", "src\demoProjects\calendarSemerkand\WebAPI\WebAPI.csproj", "{11F1DF38-17B5-48A4-AEB1-72A7D791C460}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure", "src\demoProjects\calendarSemerkand\Infrastructure\Infrastructure.csproj", "{CD3FD0C2-AB84-4012-8A3D-D718B5648D07}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeAndDate.Services", "src\demoProjects\calendarSemerkand\TimeAndDate.Services\TimeAndDate.Services.csproj", "{2879BE0B-E891-4F3A-B69C-C5EE26012532}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeAndDate.Services.Tests", "src\demoProjects\calendarSemerkand\TimeAndDate.Services.Tests\TimeAndDate.Services.Tests.csproj", "{7DF2F1C9-0C4D-4850-974C-1CFD58763C94}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeAndDate", "src\demoProjects\calendarSemerkand\TimeAndDate\TimeAndDate.csproj", "{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -117,6 +135,38 @@ Global
{B3A9582B-1FEA-4055-984E-829D05248B11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3A9582B-1FEA-4055-984E-829D05248B11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3A9582B-1FEA-4055-984E-829D05248B11}.Release|Any CPU.Build.0 = Release|Any CPU
{1AB8066A-9A89-4302-A851-553FF91B6979}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AB8066A-9A89-4302-A851-553FF91B6979}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AB8066A-9A89-4302-A851-553FF91B6979}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AB8066A-9A89-4302-A851-553FF91B6979}.Release|Any CPU.Build.0 = Release|Any CPU
{904C5B7B-FA37-4B2E-9696-D7B99254F997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{904C5B7B-FA37-4B2E-9696-D7B99254F997}.Debug|Any CPU.Build.0 = Debug|Any CPU
{904C5B7B-FA37-4B2E-9696-D7B99254F997}.Release|Any CPU.ActiveCfg = Release|Any CPU
{904C5B7B-FA37-4B2E-9696-D7B99254F997}.Release|Any CPU.Build.0 = Release|Any CPU
{9D3882B9-094B-4871-8FF0-85458F7FB93C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9D3882B9-094B-4871-8FF0-85458F7FB93C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D3882B9-094B-4871-8FF0-85458F7FB93C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D3882B9-094B-4871-8FF0-85458F7FB93C}.Release|Any CPU.Build.0 = Release|Any CPU
{11F1DF38-17B5-48A4-AEB1-72A7D791C460}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11F1DF38-17B5-48A4-AEB1-72A7D791C460}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11F1DF38-17B5-48A4-AEB1-72A7D791C460}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11F1DF38-17B5-48A4-AEB1-72A7D791C460}.Release|Any CPU.Build.0 = Release|Any CPU
{CD3FD0C2-AB84-4012-8A3D-D718B5648D07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD3FD0C2-AB84-4012-8A3D-D718B5648D07}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD3FD0C2-AB84-4012-8A3D-D718B5648D07}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD3FD0C2-AB84-4012-8A3D-D718B5648D07}.Release|Any CPU.Build.0 = Release|Any CPU
{2879BE0B-E891-4F3A-B69C-C5EE26012532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2879BE0B-E891-4F3A-B69C-C5EE26012532}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2879BE0B-E891-4F3A-B69C-C5EE26012532}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2879BE0B-E891-4F3A-B69C-C5EE26012532}.Release|Any CPU.Build.0 = Release|Any CPU
{7DF2F1C9-0C4D-4850-974C-1CFD58763C94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DF2F1C9-0C4D-4850-974C-1CFD58763C94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DF2F1C9-0C4D-4850-974C-1CFD58763C94}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DF2F1C9-0C4D-4850-974C-1CFD58763C94}.Release|Any CPU.Build.0 = Release|Any CPU
{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -142,6 +192,15 @@ Global
{EAC94DA5-0929-42B9-95BE-1753255ACE83} = {E3BE1496-27FA-4B1B-B8B2-A9DC8DDDC4C3}
{5A128E9B-B7D9-43F5-8E22-2E998D70252E} = {E3BE1496-27FA-4B1B-B8B2-A9DC8DDDC4C3}
{B3A9582B-1FEA-4055-984E-829D05248B11} = {E3BE1496-27FA-4B1B-B8B2-A9DC8DDDC4C3}
{B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE} = {84E05683-0E4A-4FB1-8FD4-9F0C509BC74C}
{1AB8066A-9A89-4302-A851-553FF91B6979} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{904C5B7B-FA37-4B2E-9696-D7B99254F997} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{9D3882B9-094B-4871-8FF0-85458F7FB93C} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{11F1DF38-17B5-48A4-AEB1-72A7D791C460} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{CD3FD0C2-AB84-4012-8A3D-D718B5648D07} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{2879BE0B-E891-4F3A-B69C-C5EE26012532} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{7DF2F1C9-0C4D-4850-974C-1CFD58763C94} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
{0732C39D-C5B4-48FB-9FB4-6974BFD3B2FA} = {B7EEE41F-E99A-4BF0-A61D-F12A861DEDFE}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C127633B-AB1B-43AE-A516-DCF06F13F757}
20 changes: 20 additions & 0 deletions src/demoProjects/calendarSemerkand/Application/Application.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>


<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="10.0.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\corePackages\Core.Application\Core.Application.csproj" />
<ProjectReference Include="..\Domain\Domain.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using Application.Features.Cities.Rules;
using Application.Services.Repositories;
using Core.Application.Pipelines.Validation;
using FluentValidation;
using MediatR;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace Application
{
public static class ApplicationServiceRegistration
{
public static IServiceCollection AddApplicationServices(this IServiceCollection services)
{

services.AddAutoMapper(Assembly.GetExecutingAssembly());
services.AddMediatR(Assembly.GetExecutingAssembly());

services.AddScoped<CityBusinessRules>();

services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
//services.AddTransient(typeof(IPipelineBehavior<,>), typeof(AuthorizationBehavior<,>));
//services.AddTransient(typeof(IPipelineBehavior<,>), typeof(CachingBehavior<,>));
//services.AddTransient(typeof(IPipelineBehavior<,>), typeof(CacheRemovingBehavior<,>));
//services.AddTransient(typeof(IPipelineBehavior<,>), typeof(LoggingBehavior<,>));
services.AddTransient(typeof(IPipelineBehavior<,>), typeof(RequestValidationBehavior<,>));






return services;

}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using Application.Features.Cities.Dtos;
using Application.Features.Cities.Rules;
using Application.Services.Repositories;
using AutoMapper;
using Domain.Entities;
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Commands.CreateCity
{
public partial class CreateCityCommand:IRequest<CreatedCityDto>
{
public string Name { get; set; }

public class CreateCityCommandHandler : IRequestHandler<CreateCityCommand, CreatedCityDto>
{
private readonly ICityRepository _CityRepository;
private readonly IMapper _mapper;
private readonly CityBusinessRules _CityBusinessRules;

public CreateCityCommandHandler(ICityRepository CityRepository, IMapper mapper, CityBusinessRules CityBusinessRules)
{
_CityRepository = CityRepository;
_mapper = mapper;
_CityBusinessRules = CityBusinessRules;
}

public async Task<CreatedCityDto> Handle(CreateCityCommand request, CancellationToken cancellationToken)
{
await _CityBusinessRules.CityNameCanNotBeDuplicatedWhenInserted(request.Name);

City mappedCity = _mapper.Map<City>(request);
City createdCity = await _CityRepository.AddAsync(mappedCity);
CreatedCityDto createdCityDto = _mapper.Map<CreatedCityDto>(createdCity);

return createdCityDto;

}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Commands.CreateCity
{
public class CreateCityCommandValidator:AbstractValidator<CreateCityCommand>
{
public CreateCityCommandValidator()
{
RuleFor(c => c.Name).NotEmpty();
RuleFor(c => c.Name).MinimumLength(2);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Dtos
{
public class CityGetByIdDto
{
public int Id { get; set; }
public string Name { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Dtos
{
public class CityListDto
{
public int Id { get; set; }
public string Name { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Dtos
{
public class CreatedCityDto
{
public int Id { get; set; }
public string Name { get; set; }

public DateTime PostDate { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using Application.Features.Cities.Dtos;
using Core.Persistence.Paging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Models
{
public class CityListModel:BasePageableModel
{
public IList<CityListDto> Items { get; set; }

//
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using Application.Features.Cities.Commands.CreateCity;
using Application.Features.Cities.Dtos;
using Application.Features.Cities.Models;
using AutoMapper;
using Core.Persistence.Paging;
using Domain.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Profiles
{
public class MappingProfiles : Profile
{
public MappingProfiles()
{
CreateMap<City,CreatedCityDto>().ReverseMap();
CreateMap<City,CreateCityCommand>().ReverseMap();
CreateMap<IPaginate<City>, CityListModel>().ReverseMap();
CreateMap<City,CityListDto>().ReverseMap();
CreateMap<City, CityGetByIdDto>().ReverseMap();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using Application.Features.Cities.Dtos;
using Application.Features.Cities.Rules;
using Application.Services.Repositories;
using AutoMapper;
using Core.CrossCuttingConcerns.Exceptions;
using Domain.Entities;
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.Features.Cities.Queries.GetByIdCity
{
public class GetByIdCityQuery:IRequest<CityGetByIdDto>
{
public int Id { get; set; }
public class GetByIdCityQueryHandler : IRequestHandler<GetByIdCityQuery, CityGetByIdDto>
{
private readonly ICityRepository _CityRepository;
private readonly IMapper _mapper;
private readonly CityBusinessRules _CityBusinessRules;

public GetByIdCityQueryHandler(ICityRepository CityRepository, IMapper mapper, CityBusinessRules CityBusinessRules)
{
_CityRepository = CityRepository;
_mapper = mapper;
_CityBusinessRules = CityBusinessRules;
}

public async Task<CityGetByIdDto> Handle(GetByIdCityQuery request, CancellationToken cancellationToken)
{
City? City = await _CityRepository.GetAsync(b=>b.Id==request.Id);

_CityBusinessRules.CityShouldExistWhenRequested(City);

CityGetByIdDto CityGetByIdDto = _mapper.Map<CityGetByIdDto>(City);
return CityGetByIdDto;
}
}
}
}
Loading