Refactor DTOs, add Blazor WASM frontend, enable CORS
- Split `CatalogDto` into `CatalogReadDto` and `CatalogWriteDto` for clear separation of read/write operations in both backend and frontend. - Updated API controllers, services, and AutoMapper profiles to use new DTOs; ensured audit fields are set in service layer. - Enabled CORS in the API project to support Blazor WASM frontend. - Added new Blazor WebAssembly project (`DbFirst.BlazorWasm`) with catalog management UI, API client, Bootstrap v5.1.0 styling, and configuration-driven API base URL. - Included `bootstrap.min.css` and its source map for frontend styling and easier debugging. - Updated solution file to include new project and support multiple build configurations. - Result: improved API design, clean DTO separation, and a modern interactive frontend for catalog management.
This commit is contained in:
52
DbFirst.sln
52
DbFirst.sln
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.14.36804.6 d17.14
|
||||
VisualStudioVersion = 17.14.36804.6
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbFirst.API", "DbFirst.API\DbFirst.API.csproj", "{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}"
|
||||
EndProject
|
||||
@@ -11,28 +11,78 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbFirst.Infrastructure", "D
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbFirst.Domain", "DbFirst.Domain\DbFirst.Domain.csproj", "{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbFirst.BlazorWasm", "DbFirst.BlazorWasm\DbFirst.BlazorWasm.csproj", "{666BE786-6D04-4224-9948-FF13597481A0}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|x64.Build.0 = Release|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{01A1D6C0-CEF6-4E90-A23D-B8594B72D8D2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5FDD6C63-CFC3-48AD-9857-4AAA4C97D6D0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|x64.Build.0 = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{16377B21-372D-438D-93F9-EBBA84E7CC73}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E989468B-CBF1-49F4-954E-4FFEE7CE5A77}.Release|x86.Build.0 = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{666BE786-6D04-4224-9948-FF13597481A0}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
Reference in New Issue
Block a user