diff --git a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln b/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln
deleted file mode 100644
index 8364178..0000000
--- a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln
+++ /dev/null
@@ -1,104 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29001.49
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Shared", "src\Win_in.Sfs.Scp.WebApi.Domain.Shared\Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain", "src\Win_in.Sfs.Scp.WebApi.Domain\Win_in.Sfs.Scp.WebApi.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Contracts", "src\Win_in.Sfs.Scp.WebApi.Application.Contracts\Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application", "src\Win_in.Sfs.Scp.WebApi.Application\Win_in.Sfs.Scp.WebApi.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{649A3FFA-182F-4E56-9717-E6A9A2BEC545}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{E400416D-2895-4512-9D17-90681EEC7E0A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore", "src\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj", "{0CE86223-D31D-4315-A1F5-87BA3EE1B844}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi", "src\Win_in.Sfs.Scp.WebApi.HttpApi\Win_in.Sfs.Scp.WebApi.HttpApi.csproj", "{077AA5F8-8B61-420C-A6B5-0150A66FDB34}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.TestBase", "test\Win_in.Sfs.Scp.WebApi.TestBase\Win_in.Sfs.Scp.WebApi.TestBase.csproj", "{C5BB573D-3030-4BCB-88B7-F6A85C32766C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests", "test\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests.csproj", "{527F645C-C1FC-406E-8479-81386C8ECF13}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Tests", "test\Win_in.Sfs.Scp.WebApi.Domain.Tests\Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj", "{E60895E5-79C4-447D-88B7-85CB5BA336A4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Tests", "test\Win_in.Sfs.Scp.WebApi.Application.Tests\Win_in.Sfs.Scp.WebApi.Application.Tests.csproj", "{90CB5DC4-C040-45C7-8900-9688B26405BC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Host", "host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj", "{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.Build.0 = Release|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.Build.0 = Release|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.Build.0 = Release|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.Build.0 = Release|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.Build.0 = Release|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.Build.0 = Release|Any CPU
- {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {D64C1577-4929-4B60-939E-96DE1534891A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {78040F9E-3501-4A40-82DF-00A597710F35} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {37B135B0-DAFE-4616-B25C-1BDF32FC44A2} = {E400416D-2895-4512-9D17-90681EEC7E0A}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD}
- EndGlobalSection
-EndGlobal
diff --git a/ScpWebApiService/common.props b/ScpWebApiService/common.props
deleted file mode 100644
index 01eae14..0000000
--- a/ScpWebApiService/common.props
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- latest
- 0.1.0
- $(NoWarn);CS1591
- module
-
-
-
-
-
- All
- runtime; build; native; contentfiles; analyzers
-
-
-
-
-
-
- $(NoWarn);0436
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/database/Dockerfile b/ScpWebApiService/database/Dockerfile
deleted file mode 100644
index 01e141f..0000000
--- a/ScpWebApiService/database/Dockerfile
+++ /dev/null
@@ -1,20 +0,0 @@
-FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
-COPY . .
-
-WORKDIR /templates/service/host/IdentityServerHost
-RUN dotnet restore
-RUN dotnet ef migrations script -i -o migrations-IdentityServerHost.sql
-
-WORKDIR /templates/service/host/Win_in.Sfs.Scp.WebApi.Host
-RUN dotnet restore
-RUN dotnet ef migrations script -i -o migrations-WebApi.sql
-
-FROM mcr.microsoft.com/mssql-tools AS final
-WORKDIR /src
-COPY --from=build /templates/service/host/IdentityServerHost/migrations-IdentityServerHost.sql migrations-IdentityServerHost.sql
-COPY --from=build /templates/service/host/Win_in.Sfs.Scp.WebApi.Host/migrations-WebApi.sql migrations-WebApi.sql
-COPY --from=build /templates/service/database/entrypoint.sh .
-RUN /bin/bash -c "sed -i $'s/\r$//' entrypoint.sh"
-RUN chmod +x ./entrypoint.sh
-
-ENTRYPOINT ["./entrypoint.sh"]
\ No newline at end of file
diff --git a/ScpWebApiService/database/entrypoint.sh b/ScpWebApiService/database/entrypoint.sh
deleted file mode 100644
index c537cb6..0000000
--- a/ScpWebApiService/database/entrypoint.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-until /opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q 'SELECT name FROM master.sys.databases'; do
->&2 echo "SQL Server is starting up"
-sleep 1
-done
-
-/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$IdentityServer_DB]"
-/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$WebApi_DB]"
-
-/opt/mssql-tools/bin/sqlcmd -d $IdentityServer_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-IdentityServerHost.sql
-/opt/mssql-tools/bin/sqlcmd -d $WebApi_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-WebApi.sql
\ No newline at end of file
diff --git a/ScpWebApiService/docker-compose.migrations.yml b/ScpWebApiService/docker-compose.migrations.yml
deleted file mode 100644
index 9a024ec..0000000
--- a/ScpWebApiService/docker-compose.migrations.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: '3.4'
-
-services:
- migrations:
- build:
- context: ../../
- dockerfile: templates/service/database/Dockerfile
- depends_on:
- - sqlserver
- environment:
- - IdentityServer_DB=WebApi_Identity
- - WebApi_DB=WebApi_ModuleDb
- - SA_PASSWORD=yourStrong(!)Password
diff --git a/ScpWebApiService/docker-compose.override.yml b/ScpWebApiService/docker-compose.override.yml
deleted file mode 100644
index cccc182..0000000
--- a/ScpWebApiService/docker-compose.override.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-version: '3.4'
-
-services:
- sqlserver:
- environment:
- - SA_PASSWORD=yourStrong(!)Password
- - ACCEPT_EULA=Y
- ports:
- - "51599:1433"
-
- identity-server:
- environment:
- - ASPNETCORE_URLS=http://0.0.0.0:80
- - ConnectionStrings__Default=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=WebApi_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- ports:
- - "51600:80"
-
- web-api:
- environment:
- - ASPNETCORE_URLS=http://0.0.0.0:80
- - ConnectionStrings__Default=Server=sqlserver;Database=WebApi_ModuleDb;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - ConnectionStrings__AbpSettingManagement=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - ConnectionStrings__AbpPermissionManagement=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - ConnectionStrings__AbpAuditLogging=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=WebApi_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
- - AuthServer__Authority=http://identity-server
- ports:
- - "51601:80"
\ No newline at end of file
diff --git a/ScpWebApiService/docker-compose.yml b/ScpWebApiService/docker-compose.yml
deleted file mode 100644
index 63d0dea..0000000
--- a/ScpWebApiService/docker-compose.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-version: '3.4'
-
-services:
- sqlserver:
- image: mcr.microsoft.com/mssql/server
- volumes:
- - dbdata:/var/opt/mssql
-
- identity-server:
- build:
- context: ../../
- dockerfile: templates/service/host/IdentityServerHost/Dockerfile
- depends_on:
- - sqlserver
-
- web-api:
- build:
- context: ../../
- dockerfile: templates/service/host/Win_in.Sfs.Scp.WebApi.Host/Dockerfile
- depends_on:
- - sqlserver
- - identity-server
-
-volumes:
- dbdata:
\ No newline at end of file
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile
deleted file mode 100644
index 52970bd..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
-WORKDIR /app
-EXPOSE 80
-
-FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
-WORKDIR /src
-COPY . .
-WORKDIR /src/templates/service/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host
-RUN dotnet restore -nowarn:msb3202,nu1503
-RUN dotnet build --no-restore -c Release -o /app
-
-FROM build AS publish
-RUN dotnet publish --no-restore -c Release -o /app
-
-FROM base AS final
-WORKDIR /app
-COPY --from=publish /app .
-ENTRYPOINT ["dotnet", "Win_in.Sfs.Scp.WebApi.HttpApi.Host.dll"]
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs
deleted file mode 100644
index 1aa2976..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using Volo.Abp.EntityFrameworkCore;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- public class WebApiHttpApiHostMigrationsDbContext : AbpDbContext
- {
- public WebApiHttpApiHostMigrationsDbContext(DbContextOptions options)
- : base(options)
- {
-
- }
-
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
-
- modelBuilder.ConfigureWebApi();
- }
- }
-}
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs
deleted file mode 100644
index bc0f0b8..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.IO;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Design;
-using Microsoft.Extensions.Configuration;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- public class WebApiHttpApiHostMigrationsDbContextFactory : IDesignTimeDbContextFactory
- {
- public WebApiHttpApiHostMigrationsDbContext CreateDbContext(string[] args)
- {
- var configuration = BuildConfiguration();
-
- var builder = new DbContextOptionsBuilder()
- .UseSqlServer(configuration.GetConnectionString("WebApi"));
-
- return new WebApiHttpApiHostMigrationsDbContext(builder.Options);
- }
-
- private static IConfigurationRoot BuildConfiguration()
- {
- var builder = new ConfigurationBuilder()
- .SetBasePath(Directory.GetCurrentDirectory())
- .AddJsonFile("appsettings.json", optional: false);
-
- return builder.Build();
- }
- }
-}
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json
deleted file mode 100644
index 285218d..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "profiles": {
- "Win_in.Sfs.Scp.WebApi.DemoApp": {
- "commandName": "Project",
- "launchBrowser": true,
- "applicationUrl": "https://localhost:9203",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj
deleted file mode 100644
index cf99129..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
- net5.0
- Win_in.Sfs.Scp.WebApi
- true
- Win_in.Sfs.Scp.WebApi-c2d31439-b723-48e2-b061-5ebd7aeb6010
-
-
-
- ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.HttpApi.Host.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json
deleted file mode 100644
index 07eddda..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "App": {
- "CorsOrigins": "https://*.WebApi.com,http://localhost:4200,http://localhost:44307,https://localhost:44307"
- },
- "ConnectionStrings": {
- "Default": "Server=127.0.0.1;Database=ScpWebApi_ABP;User ID=sa;Password=Microsoft2008;connection timeout=600",
- "WebApi": "Server=127.0.0.1;Database=ScpWebApi_Module;User ID=sa;Password=Microsoft2008;connection timeout=600"
- },
- "Redis": {
- "Configuration": "127.0.0.1"
- },
- "AuthServer": {
- "Authority": "https://localhost:9000/",
- "RequireHttpsMetadata": "false",
- "SwaggerClientId": "WebApi_Swagger",
- "SwaggerClientSecret": "1q2w3e*"
- },
- "IsMultiTenancy": true
-
-}
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json
deleted file mode 100644
index 5feb464..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "App": {
- "CorsOrigins": "https://*.WebApi.com,http://localhost:4200,http://localhost:44307,https://localhost:44307"
- },
- "ConnectionStrings": {
- "Default": "Server=119.3.213.202,13315;Database=WebApi_Module;User ID=sa;Password=ChangkeTec@2020;connection timeout=600",
- "WebApi": "Server=119.3.213.202,13315;Database=WebApi_Module;User ID=sa;Password=ChangkeTec@2020;connection timeout=600"
- },
- "Redis": {
- "Configuration": "127.0.0.1"
- },
- "AuthServer": {
- "Authority": "https://localhost:9000/",
- "RequireHttpsMetadata": "false",
- "SwaggerClientId": "WebApi_Swagger",
- "SwaggerClientSecret": "1q2w3e*"
- },
- "IsMultiTenancy": true
-
-}
diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock
deleted file mode 100644
index fb57ccd..0000000
--- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock
+++ /dev/null
@@ -1,4 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs
deleted file mode 100644
index 2c81e46..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单新增DTO(ASN Create DTO)
- ///
- public class ASNCreateDTO : ASNCreateOrUpdateDTOBase
- {
- ///
- /// 发货单号(ASN Number)
- ///
- [Required]
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { set; get; }
-
- ///
- /// 要货计划单号(Request Plan Number)
- ///
- [Required]
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { set; get; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Required]
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { set; get; }
-
- ///
- /// 供应商代码(Supplier code)
- ///
- [Required]
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// 地点(Site)
- ///
- [Required]
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(IAC company code)
- ///
- [Required]
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
-
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs
deleted file mode 100644
index 71c0f4c..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Data;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单创建更新基础Dto
- ///
- public abstract class ASNCreateOrUpdateDTOBase : EntityDto,IHasExtraProperties
- {
-
-
- ///
- /// 联系人(Contact person)
- ///
- [Display(Name = "联系人(ContactName)")]
- public string ContactName { set; get; }
-
- ///
- /// 联系电话(Contact phone)
- ///
- [Display(Name = "联系电话(ContactPhone)")]
- public string ContactPhone { set; get; }
-
- ///
- /// 版本(Car Number)
- ///
- [Display(Name = "车牌号(CarNumber)")]
- public string CarNumber { set; get; }
-
- ///
- /// 仓库(Warehouse code)
- ///
- [Required]
- [Display(Name = "仓库(Warehouse)")]
- public string Warehouse { set; get; }
-
- ///
- /// 收货口(Warehouse Dock)
- ///
- [Required]
- [Display(Name = "收货口(Dock)")]
- public string Dock { set; get; }
-
- ///
- /// 时间窗口开始(Time Window Begin)
- ///
- [Required]
- [Display(Name = "时间窗口开始(TimeWindowBegin)")]
- public DateTime TimeWindowBegin { set; get; }
-
- ///
- /// 时间窗口结束(Time Window End)
- ///
- [Required]
- [Display(Name = "时间窗口结束(TimeWindowEnd)")]
- public DateTime TimeWindowEnd { set; get; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { set; get; }
-
- ///
- /// 明细列表(Detail list)
- ///
- [Required]
- public virtual ICollection Details { get; set; }
-
- ///
- /// 扩展属性(Extra Properties)
- ///
- [Display(Name = "扩展属性(Extra Properties)")]
- public ExtraPropertyDictionary ExtraProperties { get; set; }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs
deleted file mode 100644
index 7d902bc..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Data;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单DTO(ASN DTO)
- ///
- public class ASNDTO : AuditedEntityDto,IHasExtraProperties
- {
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { set; get; }
-
- ///
- /// 要货计划单号(Request Plan Number)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { set; get; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { set; get; }
-
- ///
- /// 供应商代码(Supplier code)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// 状态(Status)
- ///
- [Display(Name = "状态(Status)")]
- public int Status { set; get; }
-
- ///
- /// 联系人(Contact person)
- ///
- [Display(Name = "联系人(ContactName)")]
- public string ContactName { set; get; }
-
- ///
- /// 联系电话(Contact phone)
- ///
- [Display(Name = "联系电话(ContactPhone)")]
- public string ContactPhone { set; get; }
-
- ///
- /// 版本(Car Number)
- ///
- [Display(Name = "车牌号(CarNumber)")]
- public string CarNumber { set; get; }
-
- ///
- /// 仓库(Warehouse code)
- ///
- [Display(Name = "仓库(Warehouse)")]
- public string Warehouse { set; get; }
-
- ///
- /// 收货口(Warehouse Dock)
- ///
- [Display(Name = "收货口(Dock)")]
- public string Dock { set; get; }
-
- ///
- /// 时间窗口开始(Time Window Begin)
- ///
- [Display(Name = "时间窗口开始(TimeWindowBegin)")]
- public DateTime TimeWindowBegin { set; get; }
-
- ///
- /// 时间窗口结束(Time Window End)
- ///
- [Display(Name = "时间窗口结束(TimeWindowEnd)")]
- public DateTime TimeWindowEnd { set; get; }
-
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(IAC company code)
- ///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { set; get; }
-
- ///
- /// 是否已读(IsRead)
- ///
- [Display(Name = "是否已读(IsRead)")]
- public bool IsRead { set; get; }
-
-
- public virtual ICollection Details { get; set; }
-
- ///
- /// 扩展属性(Extra Properties)
- ///
- [Display(Name = "扩展属性(Extra Properties)")]
- public ExtraPropertyDictionary ExtraProperties { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs
deleted file mode 100644
index 77e5292..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Data;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单明细DTO(ASN Detail DTO)
- ///
- public class ASNDetailsDTO : AuditedEntityDto, IHasExtraProperties
- {
- ///
- /// 发货单号(ASN Number)
- ///
- [Required]
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { set; get; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Required]
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { set; get; }
-
- ///
- /// 订单行(Purchase order Line)
- ///
- [Required]
- [Display(Name = "订单行(PoLine)")]
- public string PoLine { set; get; }
-
- ///
- /// 零件号(PartCode)
- ///
- [Required]
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { set; get; }
-
- ///
- /// 批次(Lot number)
- ///
- [Required]
- [Display(Name = "批次(Lot)")]
- public string Lot { set; get; }
-
- ///
- /// 供应商批次(Supplier Lot)
- ///
- [Required]
- [Display(Name = "供应商批次(SupplierLot)")]
- public string SupplierLot { set; get; }
-
- ///
- /// 生产日期(Produce Date)
- ///
- [Required]
- [Display(Name = "生产日期(ProductionDate)")]
- public DateTime ProductionDate { set; get; }
-
- ///
- /// 计量单位(Unit of measure)
- ///
- [Required]
- [Display(Name = "计量单位(Uom)")]
- public string Uom { set; get; }
-
- ///
- /// 发货数量(Delivery quantity)
- ///
- [Required]
- [Display(Name = "发货数量(DeliverQty)")]
- public decimal DeliverQty { set; get; }
-
- ///
- /// 标包计量单位(standard package um)
- ///
- [Required]
- [Display(Name = "标包计量单位(Standard Pack Uom)")]
- public string StdPackUom { set; get; }
-
- ///
- /// 标包数量(standard package quantity)
- ///
- [Required]
- [Display(Name = "标包数量(Standard Pack Qty)")]
- public decimal StdPackQty { set; get; }
-
- ///
- /// 供应商计量单位(Supplier UM)
- ///
- [Display(Name = "供应商计量单位(SupplierPackUom)")]
- public string SupplierPackUom { set; get; }
-
- ///
- /// 供应商包装数量(Supplier package UM)
- ///
- [Display(Name = "供应商包装数量(SupplierPackQty)")]
- public decimal SupplierPackQty { set; get; }
-
- ///
- /// 供应商包装转换率(UM conversion)
- ///
- [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")]
- public decimal SupplierPackConvertRate { set; get; }
-
- ///
- /// 标签代码(LabelCode)
- ///
- [Display(Name = "标签代码(LabelCode)")]
- public string LabelCode { set; get; }
-
- ///
- /// 完整条码数据(BarCode)
- ///
- [Display(Name = "完整条码数据(BarCode)")]
- public string BarCode { set; get; }
-
- ///
- /// 托标签号(PalletLabelCode)
- ///
- [Display(Name = "托标签号(PalletLabelCode)")]
- public string PalletLabelCode { set; get; }
- ///
- /// 扩展属性(Extra Properties)
- ///
- [Display(Name = "扩展属性(Extra Properties)")]
- public ExtraPropertyDictionary ExtraProperties { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs
deleted file mode 100644
index 85046b5..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单更新DTO(ASN update DTO)
- ///
- public class ASNUpdateDTO : ASNCreateOrUpdateDTOBase
- {
- ///
- /// 状态(Status)
- ///
- [Required]
- [Display(Name = "状态(Status)")]
- public int Status { set; get; }
-
-
- ///
- /// 是否已读(IsRead)
- ///
- [Required]
- [Display(Name = "是否已读(IsRead)")]
- public bool IsRead { set; get; }
-
-
- ///
- /// 并发时间戳(Concurrency Stamp)
- ///
- [Display(Name = "并发时间戳(Concurrency Stamp)")]
- public string ConcurrencyStamp { get; set; }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs
deleted file mode 100644
index 350e097..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using System.Threading.Tasks;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Application.Services;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- public interface IASNAppService:ICrudAppService
- {
- Task> GetUnreadListAsync();
- Task ReadAsync(Guid id);
- Task UnreadAsync(Guid id);
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs
deleted file mode 100644
index d668dc2..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- public class ASNLabelCreateDTO : ASNLabelCreateOrUpdateDTOBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs
deleted file mode 100644
index 43c7b0b..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单标签表创建更新基础Dto
- ///
- public abstract class ASNLabelCreateOrUpdateDTOBase : EntityDto
- {
- ///
- /// 标签代码(Label code)
- ///
- [Display(Name = "标签代码(LabelCode)")]
- public string LabelCode { get; set; }
-
- ///
- /// 完整条码数据(Barcode barcode)
- ///
- [Display(Name = "完整条码数据(Barcode)")]
- public string Barcode { get; set; }
-
- ///
- /// 零件号(Part code)
- ///
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { get; set; }
-
- ///
- /// 零件名称(Part Name)
- ///
- [Display(Name = "零件名称(PartName)")]
- public string PartName { get; set; }
-
- ///
- /// 零件描述(Part desc)
- ///
- [Display(Name = "零件描述(PartDesc)")]
- public string PartDesc { get; set; }
-
- ///
- /// 批次(Lot number)
- ///
- [Display(Name = "批次(Lot)")]
- public bool Lot { get; set; }
-
- ///
- /// 计量单位(UM)
- ///
- [Display(Name = "计量单位(Uom)")]
- public bool Uom { get; set; }
-
- ///
- /// 数量(Label quantity)
- ///
- [Display(Name = "数量(Qty)")]
- public decimal Qty { get; set; }
-
- ///
- /// 标包计量单位(Package UM)
- ///
- [Display(Name = "标包计量单位(StdPackUom)")]
- public string StdPackUom { get; set; }
-
- ///
- /// 标包数量(Package quantity)
- ///
- [Display(Name = "标包数量(StdPackQty)")]
- public decimal StdPackQty { get; set; }
-
- ///
- /// 供应商代码(Supplier Code)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { get; set; }
-
- ///
- /// 供应商名称(Supplier Name)
- ///
- [Display(Name = "供应商名称(SupplierName)")]
- public string SupplierName { get; set; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { get; set; }
-
- ///
- /// 订单行(Purchase order Line)
- ///
- [Display(Name = "订单行(PoLine)")]
- public string PoLine { get; set; }
-
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { get; set; }
-
- ///
- /// 要货计划单号(Plan number)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { get; set; }
-
- ///
- /// 供应商批次(Supplier Lot)
- ///
- [Display(Name = "供应商批次(SupplierLot)")]
- public string SupplierLot { get; set; }
-
- ///
- /// 生产日期(Produce Date)
- ///
- [Display(Name = "生产日期(ProduceDate)")]
- public DateTime ProduceDate { get; set; }
-
- ///
- /// 托标签号(Pallet label number)
- ///
- [Display(Name = "托标签号(PalletLabelnumber)")]
- public decimal PalletLabelnumber { get; set; }
-
- ///
- /// 地点(site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { get; set; }
-
- ///
- /// 公司(IAC company code)
- ///
- [Display(Name = "公司(Company)")]
- public decimal Company { get; set; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs
deleted file mode 100644
index 8a72338..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单标签表DTO
- ///
- public class ASNLabelDTO : AuditedEntityDto
- {
- ///
- /// 标签代码(Label code)
- ///
- [Display(Name = "标签代码(LabelCode)")]
- public string LabelCode { get; set; }
-
- ///
- /// 完整条码数据(Barcode barcode)
- ///
- [Display(Name = "完整条码数据(Barcode)")]
- public string Barcode { get; set; }
-
- ///
- /// 零件号(Part code)
- ///
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { get; set; }
-
- ///
- /// 零件名称(Part Name)
- ///
- [Display(Name = "零件名称(PartName)")]
- public string PartName { get; set; }
-
- ///
- /// 零件描述(Part desc)
- ///
- [Display(Name = "零件描述(PartDesc)")]
- public string PartDesc { get; set; }
-
- ///
- /// 批次(Lot number)
- ///
- [Display(Name = "批次(Lot)")]
- public bool Lot { get; set; }
-
- ///
- /// 计量单位(UM)
- ///
- [Display(Name = "计量单位(Uom)")]
- public bool Uom { get; set; }
-
- ///
- /// 数量(Label quantity)
- ///
- [Display(Name = "数量(Qty)")]
- public decimal Qty { get; set; }
-
- ///
- /// 标包计量单位(Package UM)
- ///
- [Display(Name = "标包计量单位(StdPackUom)")]
- public string StdPackUom { get; set; }
-
- ///
- /// 标包数量(Package quantity)
- ///
- [Display(Name = "标包数量(StdPackQty)")]
- public decimal StdPackQty { get; set; }
-
- ///
- /// 供应商代码(Supplier Code)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { get; set; }
-
- ///
- /// 供应商名称(Supplier Name)
- ///
- [Display(Name = "供应商名称(SupplierName)")]
- public string SupplierName { get; set; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { get; set; }
-
- ///
- /// 订单行(Purchase order Line)
- ///
- [Display(Name = "订单行(PoLine)")]
- public string PoLine { get; set; }
-
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { get; set; }
-
- ///
- /// 要货计划单号(Plan number)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { get; set; }
-
- ///
- /// 供应商批次(Supplier Lot)
- ///
- [Display(Name = "供应商批次(SupplierLot)")]
- public string SupplierLot { get; set; }
-
- ///
- /// 生产日期(Produce Date)
- ///
- [Display(Name = "生产日期(ProduceDate)")]
- public DateTime ProduceDate { get; set; }
-
- ///
- /// 托标签号(Pallet label number)
- ///
- [Display(Name = "托标签号(PalletLabelnumber)")]
- public decimal PalletLabelnumber { get; set; }
-
- ///
- /// 地点(site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { get; set; }
-
- ///
- /// 公司(IAC company code)
- ///
- [Display(Name = "公司(Company)")]
- public decimal Company { get; set; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs
deleted file mode 100644
index 6f1bd41..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- public class ASNLabelUpdateDTO : ASNLabelCreateOrUpdateDTOBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs
deleted file mode 100644
index 882a667..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using Volo.Abp.Application.Services;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- public interface IASNLabelAppService:ICrudAppService
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs
deleted file mode 100644
index db0babc..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Win_in.Sfs.Scp.WebApi.Localization;
-using Volo.Abp.Authorization.Permissions;
-using Volo.Abp.Localization;
-
-namespace Win_in.Sfs.Scp.WebApi.Permissions
-{
- public class WebApiPermissionDefinitionProvider : PermissionDefinitionProvider
- {
- public override void Define(IPermissionDefinitionContext context)
- {
- var scpWebApi = context.AddGroup(WebApiPermissions.GroupName, L("Permission:WebApi"));
-
- }
-
- private static LocalizableString L(string name)
- {
- return LocalizableString.Create(name);
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs
deleted file mode 100644
index a70ef4e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using Volo.Abp.Reflection;
-
-namespace Win_in.Sfs.Scp.WebApi.Permissions
-{
- public class WebApiPermissions
- {
- public const string GroupName = "WebApi";
- public const string Create = "Create";
- public const string Update = "Update";
- public const string Delete = "Delete";
-
- public static string[] GetAll()
- {
- return ReflectionHelper.GetPublicConstantsRecursively(typeof(WebApiPermissions));
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs
deleted file mode 100644
index e9b84ca..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Threading.Tasks;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Application.Services;
-using Win_in.Sfs.Scp.WebApi.SupplierParts;
-
-namespace Win_in.Sfs.Scp.WebApi.Application.Contracts.SupplierParts
-{
- public interface ISupplierPartAppService : ICrudAppService
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs
deleted file mode 100644
index 680a107..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace Win_in.Sfs.Scp.WebApi.SupplierParts
-{
- ///
- /// ӦDTO(Supplier part create DTO)
- ///
- public class SupplierPartCreateDTO : SupplierPartCreateOrUpdateDTOBase
- {
- ///
- /// Ӧ̴(SupplierCode)
- ///
- [Required]
- [Display(Name = "Ӧ̴(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// (PartCode)
- ///
- [Required]
- [Display(Name = "(PartCode)")]
- public string PartCode { set; get; }
-
- ///
- /// ص(Site)
- ///
- [Required]
- [Display(Name = "ص")]
- public string Site { get; set; }
-
- ///
- /// ˾(Company)
- ///
- [Required]
- [Display(Name = "˾")]
- public string Company { get; set; }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs
deleted file mode 100644
index bd66e2d..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi.SupplierParts
-{
- public abstract class SupplierPartCreateOrUpdateDTOBase : EntityDtoBase
- {
-
- ///
- /// 供应商零件号(SupplierPartCode)
- ///
- [Required]
- [Display(Name = "供应商零件号(SupplierPartCode)")]
- public string SupplierPartCode { set; get; }
-
- ///
- /// 供应商标包计量单位(SupplierStdPackUom)
- ///
- [Required]
- [Display(Name = "供应商标包计量单位(SupplierStdPackUom)")]
- public string SupplierStdPackUom { get; set; }
-
- ///
- /// 供应商标包数量
- ///
- [Required]
- [Display(Name = "供应商标包数量(SupplierStdPackQty)")]
- public decimal SupplierStdPackQty { get; set; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { get; set; }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs
deleted file mode 100644
index 1f0438f..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Application.Dtos;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi.SupplierParts
-{
- ///
- /// ӦDTO(Supplier part DTO)
- ///
- public class SupplierPartDTO : EntityDtoBase
- {
- ///
- /// Ӧ̴(SupplierCode)
- ///
- [Display(Name = "Ӧ̴(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// (PartCode)
- ///
- [Display(Name = "(PartCode)")]
- public string PartCode { set; get; }
-
- ///
- /// Ӧ(SupplierPartCode)
- ///
- [Display(Name = "Ӧ(SupplierPartCode)")]
- public string SupplierPartCode { set; get; }
-
- ///
- /// Ӧ̱λ(SupplierStdPackUom)
- ///
- [Display(Name = "Ӧ̱λ(SupplierStdPackUom)")]
- public string SupplierStdPackUom { get; set; }
-
- ///
- /// Ӧ̱
- ///
- [Display(Name = "Ӧ̱(SupplierStdPackQty)")]
- public decimal SupplierStdPackQty { get; set; }
-
- ///
- /// ע(Remark)
- ///
- [Display(Name = "ע(Remark)")]
- public string Remark { get; set; }
-
- ///
- /// ص(Site)
- ///
- [Display(Name = "ص(Site)")]
- public string Site { get; set; }
-
- ///
- /// ˾(Company)
- ///
- [Display(Name = "˾(Company)")]
- public string Company { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs
deleted file mode 100644
index 8776f33..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-using Win_in.Sfs.Scp.WebApi.SupplierParts;
-
-namespace Win_in.Sfs.Scp.WebApi.SupplierParts
-{
- ///
- /// ӦDTO(Supplier Part Update DTO)
- ///
- public class SupplierPartUpdateDTO : SupplierPartCreateOrUpdateDTOBase
- {
- ///
- /// ʱ(Concurrency Stamp)
- ///
- [Display(Name = "ʱ(Concurrency Stamp)")]
- public string ConcurrencyStamp { get; set; }
-
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs
deleted file mode 100644
index 878795d..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Volo.Abp.Application;
-using Volo.Abp.Modularity;
-using Volo.Abp.Authorization;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- [DependsOn(
- typeof(WebApiDomainSharedModule),
- typeof(AbpDddApplicationContractsModule),
- typeof(AbpAuthorizationModule)
- )]
- public class WebApiApplicationContractsModule : AbpModule
- {
-
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj
deleted file mode 100644
index 3457f1e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
- netstandard2.0
- Win_in.Sfs.Scp.WebApi
-
-
-
- ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.Contracts.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml
deleted file mode 100644
index 7c6db66..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml
+++ /dev/null
@@ -1,998 +0,0 @@
-
-
-
- Win_in.Sfs.Scp.WebApi.Application.Contracts
-
-
-
-
- Part接口
-
-
-
-
- 零件创建Dto
-
-
-
-
- 代码(Code)
-
-
-
-
- 零件创建更新基础Dto
-
-
-
-
- 名称(Name)
-
-
-
-
- 描述(Desc1)
-
-
-
-
- 描述2(Desc2)
-
-
-
-
- 状态(Status)
-
-
-
-
- 制造件(IsMakePart)
-
-
-
-
- 采购件(IsBuyPart)
-
-
-
-
- 计量单位(Uom)
-
-
-
-
- ABC类(abcClass)
-
-
-
-
- 产品类(Product line)
-
-
-
-
- 类型(Type)
-
-
-
-
- 种类(Catalog)
-
-
-
-
- 分组(Group)
-
-
-
-
- 颜色(Color)
-
-
-
-
- 配置(Configuration)
-
-
-
-
- 项目(Project)
-
-
-
-
- 版本(version)
-
-
-
-
- 工程变更通知单(Engineering change order)
-
-
-
-
- 标包计量单位(Standard Pack Uom)
-
-
-
-
- 标包数量(Standard Pack Qty)
-
-
-
-
- 替代计量单位(Extra Pack UM)
-
-
-
-
- 替代包装数量(Extra Pack Qty)
-
-
-
-
- 地点(Site)
-
-
-
-
- 公司(Company)
-
-
-
-
- 零件Dto
-
-
-
-
- 代码(Code)
-
-
-
-
- 名称(Name)
-
-
-
-
- 描述(Desc1)
-
-
-
-
- 描述2(Desc2)
-
-
-
-
- 状态(Status)
-
-
-
-
- 制造件(IsMakePart)
-
-
-
-
- 采购件(IsBuyPart)
-
-
-
-
- 计量单位(Uom)
-
-
-
-
- ABC类(abcClass)
-
-
-
-
- 产品类(Product line)
-
-
-
-
- 类型(Type)
-
-
-
-
- 种类(Catalog)
-
-
-
-
- 分组(Group)
-
-
-
-
- 颜色(Color)
-
-
-
-
- 配置(Configuration)
-
-
-
-
- 项目(Project)
-
-
-
-
- 版本(version)
-
-
-
-
- 工程变更通知单(Engineering change order)
-
-
-
-
- 标包计量单位(Standard Pack Uom)
-
-
-
-
- 标包数量(Standard Pack Qty)
-
-
-
-
- 替代计量单位(Extra Pack UM)
-
-
-
-
- 替代包装数量(Extra Pack Qty)
-
-
-
-
- 地点(Site)
-
-
-
-
- 公司(Company)
-
-
-
-
- 零件更新Dto
-
-
-
-
- PO接口
-
-
-
-
- 采购订单创建Dto
-
-
-
-
- 采购订单创建更新基础Dto
-
-
-
-
- 代码(Code)
-
-
-
-
- 简称(Name)
-
-
-
-
- 描述(Description)
-
-
-
-
- 级别(Rank)
-
-
-
-
- 地址
-
-
-
-
- 国家(Country)
-
-
-
-
- 城市(City)
-
-
-
-
- 电话(Phone)
-
-
-
-
- 传真(Fax)
-
-
-
-
- 邮编(PostId)
-
-
-
-
- 联系人(ContactName)
-
-
-
-
- 货币(Currency)
-
-
-
-
- 是否激活(IsActive)
-
-
-
-
- 公司(Company)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 采购订单明细表Dto
-
-
-
-
- 订单号(PoNumber)
-
-
-
-
- 订单行(PoLine)
-
-
-
-
- 零件号(PartCode)
-
-
-
-
- 计量单位(Uom)
-
-
-
-
- 订单数量(OrderQty)
-
-
-
-
- 标包计量单位(Standard Pack Uom)
-
-
-
-
- 标包数量(Standard Pack Qty)
-
-
-
-
- 供应商计量单位(SupplierPackUom)
-
-
-
-
- 供应商包装数量(SupplierPackQty)
-
-
-
-
- 供应商包装转换率(SupplierPackConvertRate)
-
-
-
-
- 是否寄存订单(IsConsignment)
-
-
-
-
- 订单行状态(LineStatus)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 采购订单主表Dto
-
-
-
-
- 代码(Code)
-
-
-
-
- 简称(Name)
-
-
-
-
- 描述(Description)
-
-
-
-
- 级别(Rank)
-
-
-
-
- 地址
-
-
-
-
- 国家(Country)
-
-
-
-
- 城市(City)
-
-
-
-
- 电话(Phone)
-
-
-
-
- 传真(Fax)
-
-
-
-
- 邮编(PostId)
-
-
-
-
- 联系人(ContactName)
-
-
-
-
- 货币(Currency)
-
-
-
-
- 是否激活(IsActive)
-
-
-
-
- 公司(Company)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 采购订单更新Dto
-
-
-
-
- 发货单号(RcNumber)
-
-
-
-
- 发货单号(AsnNumber)
-
-
-
-
- 要货计划单号(RpNumber)
-
-
-
-
- 订单号(PoNumber)
-
-
-
-
- 供应商代码(PoNumber)
-
-
-
-
- 收货单类型(RcType)
-
-
-
-
- 仓库(Warehouse)
-
-
-
-
- 收货口(Dock)
-
-
-
-
- 时间窗口开始(TimeWindowBegin)
-
-
-
-
- 时间窗口结束(TimeWindowEnd)
-
-
-
-
- 收货时间(ReceiveTime)
-
-
-
-
- 地点(Site)
-
-
-
-
- 公司(Company)
-
-
-
-
- 订单行(PoLine)
-
-
-
-
- 零件号(PartCode)
-
-
-
-
- 批次(Lot)
-
-
-
-
- 供应商批次(SupplierLot)
-
-
-
-
- 生产日期(ProductionDate)
-
-
-
-
- 计量单位(Uom)
-
-
-
-
- 发货数量(DeliverQty)
-
-
-
-
- 收货数量(ReceiveQty)
-
-
-
-
- 标包计量单位(Standard Pack Uom)
-
-
-
-
- 标包数量(Standard Pack Qty)
-
-
-
-
- 供应商计量单位(SupplierPackUom)
-
-
-
-
- 供应商包装数量(SupplierPackQty)
-
-
-
-
- 供应商包装转换率(SupplierPackConvertRate)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 发货单号(RcNumber)
-
-
-
-
- 发货单号(AsnNumber)
-
-
-
-
- 要货计划单号(RpNumber)
-
-
-
-
- 订单号(PoNumber)
-
-
-
-
- 供应商代码(PoNumber)
-
-
-
-
- 收货单类型(RcType)
-
-
-
-
- 仓库(Warehouse)
-
-
-
-
- 收货口(Dock)
-
-
-
-
- 时间窗口开始(TimeWindowBegin)
-
-
-
-
- 时间窗口结束(TimeWindowEnd)
-
-
-
-
- 收货时间(ReceiveTime)
-
-
-
-
- 地点(Site)
-
-
-
-
- 公司(Company)
-
-
-
-
- 订单行(PoLine)
-
-
-
-
- 零件号(PartCode)
-
-
-
-
- 批次(Lot)
-
-
-
-
- 供应商批次(SupplierLot)
-
-
-
-
- 生产日期(ProductionDate)
-
-
-
-
- 计量单位(Uom)
-
-
-
-
- 发货数量(DeliverQty)
-
-
-
-
- 收货数量(ReceiveQty)
-
-
-
-
- 标包计量单位(Standard Pack Uom)
-
-
-
-
- 标包数量(Standard Pack Qty)
-
-
-
-
- 供应商计量单位(SupplierPackUom)
-
-
-
-
- 供应商包装数量(SupplierPackQty)
-
-
-
-
- 供应商包装转换率(SupplierPackConvertRate)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 供应商代码(SupplierCode)
-
-
-
-
- 零件号(PartCode)
-
-
-
-
- 供应商零件号(SupplierPartCode)
-
-
-
-
- 供应商标包计量单位(SupplierStdPackUom)
-
-
-
-
- 供应商标包数量
-
-
-
-
- 备注(Remark)
-
-
-
-
- 供应商代码(SupplierCode)
-
-
-
-
- 零件号(PartCode)
-
-
-
-
- 供应商零件号(SupplierPartCode)
-
-
-
-
- 供应商标包计量单位(SupplierStdPackUom)
-
-
-
-
- 供应商标包数量
-
-
-
-
- 备注(Remark)
-
-
-
-
- 代码(Code)
-
-
-
-
- 简称(Name)
-
-
-
-
- 描述(Description)
-
-
-
-
- 级别(Rank)
-
-
-
-
- 地址
-
-
-
-
- 国家(Country)
-
-
-
-
- 城市(City)
-
-
-
-
- 电话(Phone)
-
-
-
-
- 传真(Fax)
-
-
-
-
- 邮编(PostId)
-
-
-
-
- 联系人(ContactName)
-
-
-
-
- 货币(Currency)
-
-
-
-
- 是否激活(IsActive)
-
-
-
-
- 公司(Company)
-
-
-
-
- 备注(Remark)
-
-
-
-
- 代码(Code)
-
-
-
-
- 简称(Name)
-
-
-
-
- 描述(Description)
-
-
-
-
- 级别(Rank)
-
-
-
-
- 地址
-
-
-
-
- 国家(Country)
-
-
-
-
- 城市(City)
-
-
-
-
- 电话(Phone)
-
-
-
-
- 传真(Fax)
-
-
-
-
- 邮编(PostId)
-
-
-
-
- 联系人(ContactName)
-
-
-
-
- 货币(Currency)
-
-
-
-
- 是否激活(IsActive)
-
-
-
-
- 公司(Company)
-
-
-
-
- 备注(Remark)
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs
deleted file mode 100644
index 1ced4a4..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs
+++ /dev/null
@@ -1,149 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Dynamic.Core;
-using System.Threading.Tasks;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- ///
- /// 发货单服务
- ///
- [AllowAnonymous]
- [Route("api/scp/asn")]
- [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)]
- public class ASNAppService:CrudAppService, IASNAppService
- {
- private readonly IASNRepository _asnRepository;
-
- public ASNAppService(IASNRepository repository) : base(repository)
- {
- _asnRepository = repository;
-
- }
-
- ///
- /// 按ID获取发货单(Get ASN by ID)
- ///
- /// 唯一ID(unique ID)
- ///
- [HttpGet]
- [Route("{id}")]
- public override Task GetAsync(Guid id)
- {
- return base.GetAsync(id);
- }
-
-
- ///
- /// 按条件获取发货单列表 (Get ASN list by request condition)
- ///
- ///
- ///
- [HttpGet]
- [Route("")]
- public override Task> GetListAsync(RequestDTO requestDTO)
- {
- return base.GetListAsync(requestDTO);
- }
-
- ///
- /// 获取未读ASN列表 (Get unread ASN list)
- ///
- /// 未读ASN列表 (Unread ASN list)
- [HttpGet]
- [Route("UnreadList")]
- public async Task> GetUnreadListAsync()
- {
- var unreadList =await _asnRepository.Where(p => p.IsRead == false).ToDynamicListAsync();
- var dtoList = ObjectMapper.Map, List>(unreadList);
- return new ListResultDto(dtoList);
- }
-
- ///
- /// 新增发货单(Create New ASN)
- ///
- ///
- [HttpPost]
- [Route("")]
- public override Task CreateAsync(ASNCreateDTO asnCreateDTO)
- {
- return base.CreateAsync(asnCreateDTO);
- }
-
- ///
- /// 修改发货单 (Modify ASN)
- ///
- /// 唯一ID(unique ID)
- ///
- [HttpPut]
- [Route("{id}")]
- public override Task UpdateAsync(Guid id, ASNUpdateDTO asnUpdateDTO)
- {
- return base.UpdateAsync(id, asnUpdateDTO);
- }
-
- ///
- /// 修改ANS读取状态为已读 (Modify isRead status of ASN to true )
- ///
- /// 唯一ID(unique ID)
- /// ASN
- [HttpPost]
- [Route("Read")]
- public async Task ReadAsync(Guid id)
- {
- var asn = await _asnRepository.GetAsync(id);
- if (asn == null)
- {
- return null;
- }
- var dto = await UpdateAsnIsReadAsync(asn,true);
- return dto;
- }
-
- private async Task UpdateAsnIsReadAsync(ASN asn,bool isRead)
- {
-
- asn.IsRead = isRead;
- var result = await _asnRepository.UpdateAsync(asn);
- var dto = ObjectMapper.Map(result);
- return dto;
- }
-
- ///
- /// 修改ANS读取状态为未读 (Modify isRead status of ASN to false )
- ///
- /// 唯一ID(unique ID)
- /// ASN
- [HttpPost]
- [Route("Unread")]
- public async Task UnreadAsync(Guid id)
- {
- var asn = await _asnRepository.GetAsync(id);
- if (asn == null)
- {
- return null;
- }
- var dto = await UpdateAsnIsReadAsync(asn, false);
- return dto;
- }
-
-
- ///
- /// 删除发货单 (Delete ASN)
- ///
- /// 唯一ID(unique ID)
- /// 无
- [HttpDelete]
- [Route("{id}")]
- public override Task DeleteAsync(Guid id)
- {
- return base.DeleteAsync(id);
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs
deleted file mode 100644
index 73ebb31..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-using Win_in.Sfs.Scp.WebApi.ASNs;
-
-namespace Win_in.Sfs.Scp.WebApi.ASNs
-{
- /*
- ///
- ///零件服务
- ///
- [AllowAnonymous]
- [Route("api/SCP/ASNLabel")]
- [ApiExplorerSettings(GroupName = SwaggerGroupConsts.Default)]
-
- public class ASNLabelAppService : CrudAppService, IASNLabelAppService
- {
- private readonly IASNLabelRepository _partRepository;
-
- public ASNLabelAppService(IASNLabelRepository repository) : base(repository)
- {
- _partRepository = repository;
- }
-
- ///
- ///获取一条数据 (Get a piece of data)
- ///
- ///
- ///
- [HttpGet]
- [Route("{id}")]
- public override Task GetAsync(Guid id)
- {
- return base.GetAsync(id);
- }
-
-
- ///
- ///获取数据列表 (Get data list)
- ///
- ///
- ///
- [HttpGet]
- [Route("")]
- public override Task> GetListAsync(InputDTO input)
- {
- return base.GetListAsync(input);
- }
-
- ///
- /// 新增实体 (Create New entity)
- ///
- ///
- [HttpPost]
- [Route("")]
- public override Task CreateAsync(ASNLabelCreateDTO input)
- {
- return base.CreateAsync(input);
- }
-
- ///
- /// 修改实体 (Modify entity)
- ///
- ///
- [HttpPut]
- [Route("{id}")]
- public override Task UpdateAsync(Guid id, ASNLabelUpdateDTO input)
- {
- return base.UpdateAsync(id, input);
- }
-
- ///
- /// 删除实体 (Delete entity)
- ///
- /// ID
- /// 无
- [HttpDelete]
- [Route("{id}")]
- public override Task DeleteAsync(Guid id)
- {
- return base.DeleteAsync(id);
- }
- }
-*/
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs
deleted file mode 100644
index 3c3cbdb..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Application.Services;
-using Win_in.Sfs.Scp.WebApi.Application.Contracts.SupplierParts;
-
-namespace Win_in.Sfs.Scp.WebApi.SupplierParts
-{
- ///
- /// 供应商零件服务
- ///
- [AllowAnonymous]
- [Route("api/scp/supplier-part")]
- [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)]
- public class SupplierPartAppService : CrudAppService, ISupplierPartAppService
- {
- private readonly ISupplierPartRepository _partRepository;
-
- public SupplierPartAppService(ISupplierPartRepository repository) : base(repository)
- {
- _partRepository = repository;
- }
-
- ///
- /// 按ID获取供应商零件 (Get supplier part by Id)
- ///
- /// 唯一ID(unique ID)
- ///
- [HttpGet]
- [Route("{id}")]
- public override Task GetAsync(Guid id)
- {
- return base.GetAsync(id);
- }
-
-
- ///
- /// 按请求条件获取供应商零件列表 (Get supplier part by request condition)
- ///
- ///
- ///
- [HttpGet]
- [Route("")]
- public override Task> GetListAsync(RequestDTO requestDTO)
- {
- return base.GetListAsync(requestDTO);
- }
-
-
- ///
- /// 新增供应商零件(Create supplier part)
- ///
- ///
- ///
- [HttpPost]
- [Route("")]
- public override Task CreateAsync(SupplierPartCreateDTO supplierPartCreateDTO)
- {
- return base.CreateAsync(supplierPartCreateDTO);
- }
-
- ///
- /// 按ID更新供应商零件(Update supplier part by ID)
- ///
- /// 唯一ID(unique ID)
- ///
- ///
- [HttpPut]
- [Route("{id}")]
- public override Task UpdateAsync(Guid id, SupplierPartUpdateDTO supplierPartUpdateDTO)
- {
- return base.UpdateAsync(id, supplierPartUpdateDTO);
- }
-
- ///
- /// 按ID删除供应商零件(Delete supplier part by ID)
- ///
- /// 唯一ID(unique ID)
- /// 无
- [HttpDelete]
- [Route("{id}")]
- public override Task DeleteAsync(Guid id)
- {
- return base.DeleteAsync(id);
- }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs
deleted file mode 100644
index 571b494..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.AutoMapper;
-using Volo.Abp.Modularity;
-using Volo.Abp.Application;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- [DependsOn(
- typeof(WebApiDomainModule),
- typeof(WebApiApplicationContractsModule),
- typeof(AbpDddApplicationModule),
- typeof(AbpAutoMapperModule)
- )]
- public class WebApiApplicationModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAutoMapperObjectMapper();
- Configure(options =>
- {
- options.AddMaps(validate: true);
- });
- }
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj
deleted file mode 100644
index 35038c2..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
- netstandard2.0
- Win_in.Sfs.Scp.WebApi
-
-
-
- ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml
deleted file mode 100644
index 774dedd..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-
- Win_in.Sfs.Scp.WebApi.Application
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
-
- 零件服务
-
-
-
-
- 获取一条数据 (Get a piece of data)
-
-
-
-
-
-
- 获取数据列表 (Get data list)
-
-
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
- 修改实体 (Modify entity)
-
-
-
-
-
- 删除实体 (Delete entity)
-
- ID
- 无
-
-
-
- 采购订单服务
-
-
-
-
- 获取一条数据 (Get a piece of data)
-
-
-
-
-
-
- 获取数据列表 (Get data list)
-
-
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
- 修改实体 (Modify entity)
-
-
-
-
-
- 删除实体 (Delete entity)
-
- ID
- 无
-
-
-
- 零件服务
-
-
-
-
- 获取一条数据 (Get a piece of data)
-
-
-
-
-
-
- 获取数据列表 (Get data list)
-
-
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
- 修改实体 (Modify entity)
-
-
-
-
-
- 删除实体 (Delete entity)
-
- ID
- 无
-
-
-
- 零件服务
-
-
-
-
- 获取一条数据 (Get a piece of data)
-
-
-
-
-
-
- 获取数据列表 (Get data list)
-
-
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
- 修改实体 (Modify entity)
-
-
-
-
-
- 删除实体 (Delete entity)
-
- ID
- 无
-
-
-
- 零件服务
-
-
-
-
- 获取一条数据 (Get a piece of data)
-
-
-
-
-
-
- 获取数据列表 (Get data list)
-
-
-
-
-
-
- 新增实体 (Create New entity)
-
-
-
-
-
- 修改实体 (Modify entity)
-
-
-
-
-
- 删除实体 (Delete entity)
-
- ID
- 无
-
-
-
- 零件实体与Dto相互映射
-
-
-
-
- 供应商实体与Dto相互映射
-
-
-
-
- 供应商零件实体与Dto相互映射
-
-
-
-
- 收货单与退货单明细实体与Dto相互映射
-
-
-
-
- 采购订单主表映射
-
-
-
-
- 采购订单明细表映射
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json
deleted file mode 100644
index 1c448f1..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "en",
- "texts": {
- "MyAccount": "My account",
- "SamplePageMessage": "A sample page for the WebApi module"
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json
deleted file mode 100644
index 80aa1e6..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "zh-Hans",
- "texts": {
- "MyAccount": "我的账户",
- "SamplePageMessage": "WebApi模块的示例页面"
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs
deleted file mode 100644
index e60c71d..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.Localization;
-using Win_in.Sfs.Scp.WebApi.Localization;
-using Volo.Abp.Localization.ExceptionHandling;
-using Volo.Abp.Validation;
-using Volo.Abp.Validation.Localization;
-using Volo.Abp.VirtualFileSystem;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- [DependsOn(
- typeof(AbpValidationModule)
- )]
- public class WebApiDomainSharedModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.FileSets.AddEmbedded();
- });
-
- Configure(options =>
- {
- options.Resources
- .Add("en")
- .AddBaseTypes(typeof(AbpValidationResource))
- .AddVirtualJson("/Localization/WebApi");
- });
-
- Configure(options =>
- {
- options.MapCodeNamespace("WebApi", typeof(WebApiResource));
- });
- }
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs
deleted file mode 100644
index 4899294..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi
-{
- public static class WebApiErrorCodes
- {
- //Add your business exception error codes here...
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj
deleted file mode 100644
index d19da84..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- netstandard2.0
- Win_in.Sfs.Scp.WebApi
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs
deleted file mode 100644
index cc9e8ad..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs
+++ /dev/null
@@ -1,206 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities.Auditing;
-using Volo.Abp.Guids;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- ///
- /// 发货单主表
- ///
- public class ASN: EntityBase
- {
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { set; get; }
-
- ///
- /// 要货计划单号(Request Plan Number)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { set; get; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { set; get; }
-
- ///
- /// 供应商代码(Supplier code)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// 状态(Status)
- ///
- [Display(Name = "状态(Status)")]
- public int Status { set; get; }
-
- ///
- /// 联系人(Contact person)
- ///
- [Display(Name = "联系人(ContactName)")]
- public string ContactName { set; get; }
-
- ///
- /// 联系电话(Contact phone)
- ///
- [Display(Name = "联系电话(ContactPhone)")]
- public string ContactPhone { set; get; }
-
- ///
- /// 版本(Car Number)
- ///
- [Display(Name = "车牌号(CarNumber)")]
- public string CarNumber { set; get; }
-
- ///
- /// 仓库(Warehouse code)
- ///
- [Display(Name = "仓库(Warehouse)")]
- public string Warehouse { set; get; }
-
- ///
- /// 收货口(Warehouse Dock)
- ///
- [Display(Name = "收货口(Dock)")]
- public string Dock { set; get; }
-
- ///
- /// 时间窗口开始(Time Window Begin)
- ///
- [Display(Name = "时间窗口开始(TimeWindowBegin)")]
- public DateTime TimeWindowBegin { set; get; }
-
- ///
- /// 时间窗口结束(Time Window End)
- ///
- [Display(Name = "时间窗口结束(TimeWindowEnd)")]
- public DateTime TimeWindowEnd { set; get; }
-
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(IAC company code)
- ///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { set; get; }
-
- ///
- /// 是否已读(IsRead)
- ///
- [Display(Name = "是否已读(IsRead)")]
- public bool IsRead { set; get; }
-
-
- public virtual List Details { get; set; }
-
- protected ASN() { }
-
- public ASN(string asnNumber,string rpNumber,string poNumber,string supplierCode, string site,
- string company, string warehouse, string dock,DateTime timeWindowBegin,DateTime timeWindowEnd,
- string contactName, string contactPhone, string carNumber, string remark)
- {
- AsnNumber = asnNumber;
- RpNumber = rpNumber;
- PoNumber = poNumber;
- SupplierCode = supplierCode;
- Site = site;
- Company = company;
- Warehouse = warehouse;
- Dock = dock;
- TimeWindowBegin = timeWindowBegin;
- TimeWindowEnd = timeWindowEnd;
- ContactName = contactName;
- ContactPhone = contactPhone;
- CarNumber = carNumber;
- Remark = remark;
- Status = 0;//TODO 改成枚举
- IsRead = false;
- Details = new List();
-
- }
-
- #region details handler
- public virtual void AddDetail(IGuidGenerator guidGenerator, ASNDetail detail)
- {
- Check.NotNull(guidGenerator, nameof(guidGenerator));
- Check.NotNull(detail, nameof(ASNDetail));
- if (IsInDetails(detail.PoNumber, detail.PoLine))
- {
- throw new Exception(detail.PoNumber + detail.PoLine + "已经在明细中存在!");
- }
-
- Details.Add(new ASNDetail(guidGenerator.Create(), detail.AsnNumber, detail.PoNumber, detail.PoLine, detail.PartCode, detail.Lot, detail.SupplierLot, detail.ProductionDate,
- detail.Uom, detail.DeliverQty, detail.StdPackUom, detail.StdPackQty, detail.SupplierPackUom,detail.SupplierPackQty,detail.SupplierPackConvertRate, detail.LabelCode,detail.BarCode,detail.PalletLabelCode));
-
- }
-
- public virtual void AddDetails(IGuidGenerator guidGenerator, IEnumerable details)
- {
- Check.NotNull(guidGenerator, nameof(guidGenerator));
- foreach (var detail in details)
- {
- AddDetail(guidGenerator, detail);
- }
- }
-
-
-
- public virtual bool IsInDetails(string ponumber, string poline)
- {
- return Details.Any(di => di.PoNumber == ponumber && di.PoLine == poline);
- }
-
- public virtual bool IsInDetails(Guid itemId)
- {
- return Details.Any(di => di.Id == itemId);
- }
-
- public virtual bool UpdateDetail(IGuidGenerator guidGenerator, ASNDetail detail)
- {
- Check.NotNull(detail, nameof(ASNDetail));
-
- var item = FindDetail(detail.Id);
-
- if (item == null)
- {
- AddDetail(guidGenerator, detail);
- }
- else
- {
- Check.NotNull(item, nameof(ASNDetail));
-
- //item.Set(detail.Remark, detail.Enabled);
-
- }
- return true;
- }
-
- public virtual ASNDetail FindDetail(Guid itemId)
- {
- var item = Details.FirstOrDefault(p => p.Id == itemId);
- return item;
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs
deleted file mode 100644
index 1f82fa4..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs
+++ /dev/null
@@ -1,141 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Domain.Entities.Auditing;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- ///
- /// 发货单明细
- ///
- public class ASNDetail: EntityDetailBase
- {
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { set; get; }
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { set; get; }
-
- ///
- /// 订单行(Purchase order Line)
- ///
- [Display(Name = "订单行(PoLine)")]
- public string PoLine { set; get; }
-
- ///
- /// 零件号(PartCode)
- ///
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { set; get; }
-
- ///
- /// 批次(Lot number)
- ///
- [Display(Name = "批次(Lot)")]
- public string Lot { set; get; }
-
- ///
- /// 供应商批次(Supplier Lot)
- ///
- [Display(Name = "供应商批次(SupplierLot)")]
- public string SupplierLot { set; get; }
-
- ///
- /// 生产日期(Produce Date)
- ///
- [Display(Name = "生产日期(ProductionDate)")]
- public DateTime ProductionDate { set; get; }
-
- ///
- /// 计量单位(Unit of measure)
- ///
- [Display(Name = "计量单位(Uom)")]
- public string Uom { set; get; }
-
- ///
- /// 发货数量(Delivery quantity)
- ///
- [Display(Name = "发货数量(DeliverQty)")]
- public decimal DeliverQty { set; get; }
-
- ///
- /// 标包计量单位(standard package um)
- ///
- [Display(Name = "标包计量单位(Standard Pack Uom)")]
- public string StdPackUom { set; get; }
-
- ///
- /// 标包数量(standard package quantity)
- ///
- [Display(Name = "标包数量(Standard Pack Qty)")]
- public decimal StdPackQty { set; get; }
-
- ///
- /// 供应商计量单位(Supplier UM)
- ///
- [Display(Name = "供应商计量单位(SupplierPackUom)")]
- public string SupplierPackUom { set; get; }
-
- ///
- /// 供应商包装数量(Supplier package UM)
- ///
- [Display(Name = "供应商包装数量(SupplierPackQty)")]
- public decimal SupplierPackQty { set; get; }
-
- ///
- /// 供应商包装转换率(UM conversion)
- ///
- [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")]
- public decimal SupplierPackConvertRate { set; get; }
-
- ///
- /// 标签代码(LabelCode)
- ///
- [Display(Name = "标签代码(LabelCode)")]
- public string LabelCode { set; get; }
-
- ///
- /// 完整条码数据(BarCode)
- ///
- [Display(Name = "完整条码数据(BarCode)")]
- public string BarCode { set; get; }
-
- ///
- /// 托标签号(PalletLabelCode)
- ///
- [Display(Name = "托标签号(PalletLabelCode)")]
- public string PalletLabelCode { set; get; }
-
-
- protected ASNDetail() { }
-
- public ASNDetail(
- Guid id, string asnNumber,string poNumber, string poLine, string partCode, string lot, string supplierLot, DateTime productionDate, string uom,decimal deliverQty,
- string stdPackUom, decimal stdPackQty, string supplierPackUom, decimal supplierPackQty, decimal supplierPackConvertRate,string labelCode,string barCode,string palletLabelCode) : base(id)
- {
- AsnNumber = asnNumber;
- PoNumber = poNumber;
- PoLine = poLine;
- PartCode = partCode;
- Lot = lot;
- SupplierLot = supplierLot;
- ProductionDate = productionDate;
- Uom = uom;
- DeliverQty = deliverQty;
- StdPackUom = stdPackUom;
- StdPackQty = stdPackQty;
- SupplierPackUom = supplierPackUom;
- SupplierPackQty = supplierPackQty;
- SupplierPackConvertRate = supplierPackConvertRate;
- LabelCode = labelCode;
- BarCode = barCode;
- PalletLabelCode = palletLabelCode;
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs
deleted file mode 100644
index 8d2479b..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System;
-using Volo.Abp.Domain.Repositories;
-namespace Win_in.Sfs.Scp.WebApi
-{
- public interface IASNRepository : IRepository
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs
deleted file mode 100644
index 433ba60..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Domain.Entities.Auditing;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- ///
- /// 标签表
- ///
- public class Label:EntityBase
- {
- ///
- /// 标签代码(Label code)
- ///
- [Display(Name = "标签代码(LabelCode)")]
- public string LabelCode { get;set;}
-
- ///
- /// 完整条码数据(Full Barcode string)
- ///
- [Display(Name = "完整条码数据(Barcode)")]
- public string Barcode { get;set;}
-
- ///
- /// 零件号(Part code)
- ///
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { get;set;}
-
- ///
- /// 零件名称(Part Name)
- ///
- [Display(Name = "零件名称(PartName)")]
- public string PartName { get;set;}
-
- ///
- /// 零件描述(Part desc)
- ///
- [Display(Name = "零件描述(PartDesc)")]
- public string PartDesc { get;set;}
-
- ///
- /// 批次(Lot number)
- ///
- [Display(Name = "批次(Lot)")]
- public bool Lot { get;set;}
-
- ///
- /// 计量单位(UM)
- ///
- [Display(Name = "计量单位(Uom)")]
- public bool Uom { get;set;}
-
- ///
- /// 数量(Label quantity)
- ///
- [Display(Name = "数量(Qty)")]
- public decimal Qty { get;set;}
-
- ///
- /// 标包计量单位(Package UM)
- ///
- [Display(Name = "标包计量单位(Standard Pack Uom)")]
- public string StdPackUom { get;set;}
-
- ///
- /// 标包数量(Package quantity)
- ///
- [Display(Name = "标包数量(Standard Pack Qty)")]
- public decimal StdPackQty { get;set;}
-
- ///
- /// 供应商代码(Supplier Code)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { get;set;}
-
- ///
- /// 供应商名称(Supplier Name)
- ///
- [Display(Name = "供应商名称(SupplierName)")]
- public string SupplierName { get;set;}
-
- ///
- /// 订单号(Purchase order number)
- ///
- [Display(Name = "订单号(PoNumber)")]
- public string PoNumber { get;set;}
-
- ///
- /// 订单行(Purchase order Line)
- ///
- [Display(Name = "订单行(PoLine)")]
- public string PoLine { get;set;}
-
- ///
- /// 发货单号(ASN Number)
- ///
- [Display(Name = "发货单号(AsnNumber)")]
- public string AsnNumber { get;set;}
-
- ///
- /// 要货计划单号(Plan number)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { get;set;}
-
- ///
- /// 供应商批次(Supplier Lot)
- ///
- [Display(Name = "供应商批次(SupplierLot)")]
- public string SupplierLot { get;set;}
-
- ///
- /// 生产日期(Produce Date)
- ///
- [Display(Name = "生产日期(ProductionDate)")]
- public DateTime ProductionDate { get;set;}
-
- ///
- /// 托标签号(Pallet label number)
- ///
- [Display(Name = "托标签号(PalletLabelCode)")]
- public decimal PalletLabelCode { get;set;}
-
- ///
- /// 地点(site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { get;set;}
-
- ///
- /// 公司(IAC company code)
- ///
- [Display(Name = "公司(Company)")]
- public decimal Company { get;set;}
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { get;set;}
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs
deleted file mode 100644
index 31fa6c1..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi.Settings
-{
- public static class WebApiSettings
- {
- public const string GroupName = "ScpWebApi";
-
- /* Add constants for setting names. Example:
- * public const string MySettingName = GroupName + ".MySettingName";
- */
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs
deleted file mode 100644
index d550ae2..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Domain.Entities.Auditing;
-using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- ///
- /// 供应商零件表
- ///
- public class SupplierPart: EntityBase
- {
- ///
- /// 供应商代码(SupplierCode)
- ///
- [Display(Name = "供应商代码(SupplierCode)")]
- public string SupplierCode { set; get; }
-
- ///
- /// 零件号(PartCode)
- ///
- [Display(Name = "零件号(PartCode)")]
- public string PartCode { set; get; }
-
- ///
- /// 供应商零件号(SupplierPartCode)
- ///
- [Display(Name = "供应商零件号(SupplierPartCode)")]
- public string SupplierPartCode { set; get; }
-
- ///
- /// 供应商标包计量单位(SupplierStdPackUom)
- ///
- [Display(Name = "供应商标包计量单位(SupplierStdPackUom)")]
- public string SupplierStdPackUom { get; set; }
-
- ///
- /// 供应商标包数量
- ///
- [Display(Name = "供应商标包数量(SupplierStdPackQty)")]
- public decimal SupplierStdPackQty { get; set; }
-
- ///
- /// 备注(Remark)
- ///
- [Display(Name = "备注(Remark)")]
- public string Remark { get; set; }
-
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点")]
- public string Site { get; set; }
-
- ///
- /// 公司(Company)
- ///
- [Display(Name = "公司")]
- public string Company { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs
deleted file mode 100644
index 7793994..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using Volo.Abp.Domain.Repositories;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- public interface ISupplierRepository : IRepository
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs
deleted file mode 100644
index a333ae5..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Domain;
-using Volo.Abp.Modularity;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- [DependsOn(
- typeof(AbpDddDomainModule),
- typeof(WebApiDomainSharedModule)
- )]
- public class WebApiDomainModule : AbpModule
- {
-
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj
deleted file mode 100644
index 44ddc23..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- netstandard2.0
- Win_in.Sfs.Scp.WebApi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs
deleted file mode 100644
index 407898f..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using Volo.Abp.Data;
-using Volo.Abp.EntityFrameworkCore;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- [ConnectionStringName(WebApiDbProperties.ConnectionStringName)]
- public class WebApiDbContext : AbpDbContext, IWebApiDbContext
- {
- /* Add DbSet for each Aggregate Root here. Example:
- * public DbSet Questions { get; set; }
- */
-
-
- public virtual DbSet Parts { get; set; }
- public virtual DbSet Suppliers { get; set; }
- public virtual DbSet PurchaseOrders { get; set; }
- public virtual DbSet Receipts { get; set; }
-
- public WebApiDbContext(DbContextOptions options)
- : base(options)
- {
-
- }
-
- protected override void OnModelCreating(ModelBuilder builder)
- {
- base.OnModelCreating(builder);
-
- builder.ConfigureWebApi();
- }
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs
deleted file mode 100644
index a70de53..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.Modularity;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- [DependsOn(
- typeof(WebApiDomainModule),
- typeof(AbpEntityFrameworkCoreModule)
- )]
- public class WebApiEntityFrameworkCoreModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAbpDbContext(options =>
- {
- /* Add custom repositories here. Example:
- * options.AddRepository();
- */
-
- options.AddRepository();
- options.AddRepository();
- options.AddRepository();
- options.AddRepository();
- });
- }
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj
deleted file mode 100644
index dabb4b8..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- netstandard2.1
- Win_in.Sfs.Scp.WebApi
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs
deleted file mode 100644
index 96859a5..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using Localization.Resources.AbpUi;
-using Win_in.Sfs.Scp.WebApi.Localization;
-using Volo.Abp.AspNetCore.Mvc;
-using Volo.Abp.Localization;
-using Volo.Abp.Modularity;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- [DependsOn(
-
- typeof(WebApiApplicationContractsModule),
- typeof(AbpAspNetCoreMvcModule))]
- public class WebApiHttpApiModule : AbpModule
- {
- public override void PreConfigureServices(ServiceConfigurationContext context)
- {
- PreConfigure(mvcBuilder =>
- {
- mvcBuilder.AddApplicationPartIfNotExists(typeof(WebApiHttpApiModule).Assembly);
- });
- }
-
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.Resources
- .Get()
- .AddBaseTypes(typeof(AbpUiResource));
- });
-
- Configure(options =>
- {
- options
- .ConventionalControllers
- .Create(typeof(WebApiApplicationModule).Assembly);
- });
-
- }
- }
-}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj
deleted file mode 100644
index 17ab13b..0000000
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- net5.0
- Win_in.Sfs.Scp.WebApi
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs
deleted file mode 100644
index a5f14fb..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi
-{
- /* Inherit from this class for your application layer tests.
- * See SampleAppService_Tests for example.
- */
- public abstract class WebApiApplicationTestBase : WebApiTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs
deleted file mode 100644
index 9a911be..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Threading.Tasks;
-using Xunit;
-
-namespace Win_in.Sfs.Scp.WebApi.Samples
-{
- public class SampleManager_Tests : WebApiDomainTestBase
- {
- //private readonly SampleManager _sampleManager;
-
- public SampleManager_Tests()
- {
- //_sampleManager = GetRequiredService();
- }
-
- [Fact]
- public async Task Method1Async()
- {
-
- }
- }
-}
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs
deleted file mode 100644
index 3145c52..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi
-{
- /* Inherit from this class for your domain layer tests.
- * See SampleManager_Tests for example.
- */
- public abstract class WebApiDomainTestBase : WebApiTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs
deleted file mode 100644
index f6f2d7d..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Win_in.Sfs.Scp.WebApi.Samples;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Samples
-{
- public class SampleRepository_Tests : SampleRepository_Tests
- {
- /* Don't write custom repository tests here, instead write to
- * the base class.
- * One exception can be some specific tests related to EF core.
- */
- }
-}
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs
deleted file mode 100644
index d2c196a..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- /* This class can be used as a base class for EF Core integration tests,
- * while SampleRepository_Tests uses a different approach.
- */
- public abstract class WebApiEntityFrameworkCoreTestBase : WebApiTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs
deleted file mode 100644
index 632ca31..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Microsoft.Data.Sqlite;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Storage;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.EntityFrameworkCore.Sqlite;
-using Volo.Abp.Modularity;
-
-namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore
-{
- [DependsOn(
- typeof(WebApiTestBaseModule),
- typeof(WebApiEntityFrameworkCoreModule),
- typeof(AbpEntityFrameworkCoreSqliteModule)
- )]
- public class WebApiEntityFrameworkCoreTestModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var sqliteConnection = CreateDatabaseAndGetConnection();
-
- Configure(options =>
- {
- options.Configure(abpDbContextConfigurationContext =>
- {
- abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
- });
- });
- }
-
- private static SqliteConnection CreateDatabaseAndGetConnection()
- {
- var connection = new SqliteConnection("Data Source=:memory:");
- connection.Open();
-
- new WebApiDbContext(
- new DbContextOptionsBuilder().UseSqlite(connection).Options
- ).GetService().CreateTables();
-
- return connection;
- }
- }
-}
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml
deleted file mode 100644
index be0de3a..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs
deleted file mode 100644
index f1f20ac..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.Modularity;
-using Xunit;
-
-namespace Win_in.Sfs.Scp.WebApi.Samples
-{
- /* Write your custom repository tests like that, in this project, as abstract classes.
- * Then inherit these abstract classes from EF Core & MongoDB test projects.
- * In this way, both database providers are tests with the same set tests.
- */
- public abstract class SampleRepository_Tests : WebApiTestBase
- where TStartupModule : IAbpModule
- {
- //private readonly ISampleRepository _sampleRepository;
-
- protected SampleRepository_Tests()
- {
- //_sampleRepository = GetRequiredService();
- }
-
- [Fact]
- public async Task Method1Async()
- {
-
- }
- }
-}
diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs
deleted file mode 100644
index ff8f6b8..0000000
--- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.Data;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.Guids;
-using Volo.Abp.MultiTenancy;
-
-namespace Win_in.Sfs.Scp.WebApi
-{
- public class WebApiDataSeedContributor : IDataSeedContributor, ITransientDependency
- {
- private readonly IGuidGenerator _guidGenerator;
- private readonly ICurrentTenant _currentTenant;
-
- public WebApiDataSeedContributor(
- IGuidGenerator guidGenerator, ICurrentTenant currentTenant)
- {
- _guidGenerator = guidGenerator;
- _currentTenant = currentTenant;
- }
-
- public Task SeedAsync(DataSeedContext context)
- {
- /* Instead of returning the Task.CompletedTask, you can insert your test data
- * at this point!
- */
-
- using (_currentTenant.Change(context?.TenantId))
- {
- return Task.CompletedTask;
- }
- }
- }
-}
diff --git a/ScpWebApiService/.gitattributes b/WebApiService/.gitattributes
similarity index 100%
rename from ScpWebApiService/.gitattributes
rename to WebApiService/.gitattributes
diff --git a/ScpWebApiService/.gitignore b/WebApiService/.gitignore
similarity index 92%
rename from ScpWebApiService/.gitignore
rename to WebApiService/.gitignore
index a667592..50f3bef 100644
--- a/ScpWebApiService/.gitignore
+++ b/WebApiService/.gitignore
@@ -252,8 +252,11 @@ paket-files/
*.sln.iml
# WebApi
-host/Win_in.Sfs.Scp.WebApi.IdentityServer/Logs/logs.txt
-host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/logs.txt
-host/Win_in.Sfs.Scp.WebApi.Web.Host/Logs/logs.txt
-host/Win_in.Sfs.Scp.WebApi.Web.Unified/Logs/logs.txt
-host/Win_in.Sfs.Scp.WebApi.Blazor.Server.Host/Logs/logs.txt
\ No newline at end of file
+src/Win_in.Sfs.Scp.WebApi.Web/Logs/*
+src/Win_in.Sfs.Scp.WebApi.Web.Host/Logs/*
+src/Win_in.Sfs.Scp.WebApi.IdentityServer/Logs/*
+src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/*
+src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/*
+src/Win_in.Sfs.Scp.WebApi.DbMigrator/Logs/*
+src/Win_in.Sfs.Scp.WebApi.Blazor.Server/Logs/*
+src/Win_in.Sfs.Scp.WebApi.Blazor.Server.Tiered/Logs/*
\ No newline at end of file
diff --git a/ScpWebApiService/.prettierrc b/WebApiService/.prettierrc
similarity index 100%
rename from ScpWebApiService/.prettierrc
rename to WebApiService/.prettierrc
diff --git a/ScpWebApiService/NuGet.Config b/WebApiService/NuGet.Config
similarity index 100%
rename from ScpWebApiService/NuGet.Config
rename to WebApiService/NuGet.Config
diff --git a/WebApiService/Win_in.Sfs.Scp.WebApi.sln b/WebApiService/Win_in.Sfs.Scp.WebApi.sln
new file mode 100644
index 0000000..fbe623c
--- /dev/null
+++ b/WebApiService/Win_in.Sfs.Scp.WebApi.sln
@@ -0,0 +1,123 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29020.237
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain", "src\Win_in.Sfs.Scp.WebApi.Domain\Win_in.Sfs.Scp.WebApi.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application", "src\Win_in.Sfs.Scp.WebApi.Application\Win_in.Sfs.Scp.WebApi.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore", "src\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Tests", "test\Win_in.Sfs.Scp.WebApi.Application.Tests\Win_in.Sfs.Scp.WebApi.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Shared", "src\Win_in.Sfs.Scp.WebApi.Domain.Shared\Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Contracts", "src\Win_in.Sfs.Scp.WebApi.Application.Contracts\Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi", "src\Win_in.Sfs.Scp.WebApi.HttpApi\Win_in.Sfs.Scp.WebApi.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Client", "src\Win_in.Sfs.Scp.WebApi.HttpApi.Client\Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests", "test\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.TestBase", "test\Win_in.Sfs.Scp.WebApi.TestBase\Win_in.Sfs.Scp.WebApi.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Tests", "test\Win_in.Sfs.Scp.WebApi.Domain.Tests\Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp", "test\Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp\Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.DbMigrator", "src\Win_in.Sfs.Scp.WebApi.DbMigrator\Win_in.Sfs.Scp.WebApi.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Host", "src\Win_in.Sfs.Scp.WebApi.HttpApi.Host\Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj", "{748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
+ EndGlobalSection
+EndGlobal
diff --git a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings b/WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings
similarity index 89%
rename from ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings
rename to WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings
index 57aeeef..cb0b2c9 100644
--- a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings
+++ b/WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings
@@ -19,8 +19,5 @@
True
False
False
- ASN
- DTO
- PO
SQL
\ No newline at end of file
diff --git a/WebApiService/common.props b/WebApiService/common.props
new file mode 100644
index 0000000..6ef9bae
--- /dev/null
+++ b/WebApiService/common.props
@@ -0,0 +1,15 @@
+
+
+ latest
+ 1.0.0
+ $(NoWarn);CS1591
+ app
+
+
+
+
+ $(NoWarn);0436
+
+
+
+
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs
new file mode 100644
index 0000000..0237543
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs
@@ -0,0 +1,26 @@
+using FluentValidation;
+
+namespace Win_in.Sfs.Scp.WebApi;
+
+public class CreatePartDtoValidator : AbstractValidator
+{
+ public CreatePartDtoValidator()
+ {
+ RuleFor(x => x.Code).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.Name).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.Desc1).MaximumLength(1024);
+ RuleFor(x => x.Desc2).MaximumLength(1024);
+ RuleFor(x => x.Status).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.IsMakePart).NotEmpty();
+ RuleFor(x => x.IsBuyPart).NotEmpty();
+ RuleFor(x => x.Uom).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.AbcClass).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.ProductLine).MaximumLength(64);
+ RuleFor(x => x.Type).MaximumLength(64);
+ RuleFor(x => x.Catalog).MaximumLength(64);
+ RuleFor(x => x.Group).MaximumLength(64);
+ RuleFor(x => x.Version).MaximumLength(64);
+ RuleFor(x => x.Site).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.Company).MaximumLength(64).NotEmpty();
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs
similarity index 90%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs
index 35c1492..54d69e2 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs
@@ -4,7 +4,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-namespace Win_in.Sfs.Scp.WebApi.Parts
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// Part接口
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs
similarity index 91%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs
index e8c1e1c..99bb6e6 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs
@@ -4,12 +4,12 @@ using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-namespace Win_in.Sfs.Scp.WebApi.Parts
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 零件DTO(Part DTO)
///
- public class PartDTO : EntityDtoBase,IHasExtraProperties
+ public class PartDTO : EntityDtoBase
{
///
@@ -46,13 +46,13 @@ namespace Win_in.Sfs.Scp.WebApi.Parts
/// 制造件(Can make)
///
[Display(Name = "制造件")]
- public bool CanMake { get; set; }
+ public bool IsMakePart { get; set; }
///
/// 采购件(Can buy)
///
[Display(Name = "采购件")]
- public bool CanBuy { get; set; }
+ public bool IsBuyPart { get; set; }
///
/// 计量单位(Uom)
@@ -90,6 +90,25 @@ namespace Win_in.Sfs.Scp.WebApi.Parts
[Display(Name = "分组")]
public string Group { get; set; }
+ ///
+ /// 版本(version)
+ ///
+ [Display(Name = "版本")]
+ public string Version { get; set; }
+
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点")]
+ public string Site { get; set; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司")]
+ public string Company { get; set; }
+
+ /*
///
/// 颜色(Color)
///
@@ -137,24 +156,7 @@ namespace Win_in.Sfs.Scp.WebApi.Parts
///
[Display(Name = "替代包装数量")]
public decimal ExtPackQty { get; set; }
-
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点")]
- public string Site { get; set; }
-
- ///
- /// 公司(Company)
- ///
- [Display(Name = "公司")]
- public string Company { get; set; }
-
- ///
- /// 扩展属性(Extra Properties)
- ///
- [Display(Name = "扩展属性(Extra Properties)")]
- public ExtraPropertyDictionary ExtraProperties { get; set; }
+ */
}
}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs
new file mode 100644
index 0000000..1a6b608
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs
@@ -0,0 +1,27 @@
+using Win_in.Sfs.Scp.WebApi.Localization;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Localization;
+
+namespace Win_in.Sfs.Scp.WebApi.Permissions
+{
+ public class WebApiPermissionDefinitionProvider : PermissionDefinitionProvider
+ {
+ public override void Define(IPermissionDefinitionContext context)
+ {
+ var scpWebApiGroup = context.AddGroup(WebApiPermissions.GroupName);
+ //Define your own permissions here. Example:
+ //myGroup.AddPermission(WebApiPermissions.MyPermission1, L("Permission:MyPermission1"));
+
+ scpWebApiGroup.AddPermission(WebApiPermissions.Part, L("Permission:"+nameof(WebApiPermissions.Part)));
+ scpWebApiGroup.AddPermission(WebApiPermissions.Supplier, L("Permission:" + nameof(WebApiPermissions.Supplier)));
+ scpWebApiGroup.AddPermission(WebApiPermissions.Receipt, L("Permission:" + nameof(WebApiPermissions.Receipt)));
+ scpWebApiGroup.AddPermission(WebApiPermissions.PurchaseOrder, L("Permission:" + nameof(WebApiPermissions.PurchaseOrder)));
+ scpWebApiGroup.AddPermission(WebApiPermissions.UnplannedReceipt, L("Permission:" + nameof(WebApiPermissions.UnplannedReceipt)));
+ }
+
+ private static LocalizableString L(string name)
+ {
+ return LocalizableString.Create(name);
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs
new file mode 100644
index 0000000..3d303ae
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs
@@ -0,0 +1,16 @@
+namespace Win_in.Sfs.Scp.WebApi.Permissions
+{
+ public static class WebApiPermissions
+ {
+ public const string GroupName = "WebApi";
+
+ //Add your own permission names. Example:
+ //public const string MyPermission1 = GroupName + ".MyPermission1";
+
+ public const string Part = GroupName + ".Part";
+ public const string Supplier = GroupName + ".Supplier";
+ public const string Receipt = GroupName + ".Receipt";
+ public const string PurchaseOrder = GroupName + ".PurchaseOrder";
+ public const string UnplannedReceipt = GroupName + ".UnplannedReceipt";
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs
new file mode 100644
index 0000000..219459c
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs
@@ -0,0 +1,24 @@
+using FluentValidation;
+
+namespace Win_in.Sfs.Scp.WebApi;
+
+public class CreatePurchaseOrderValidator : AbstractValidator
+{
+ public CreatePurchaseOrderValidator()
+ {
+ RuleFor(q => q.PoNumber).MaximumLength(64);
+ RuleFor(q => q.SupplierCode).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.PoType).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Status).NotEmpty();
+ RuleFor(q => q.IsConsignment).NotEmpty();
+ RuleFor(q => q.OrderDate).NotEmpty();
+ RuleFor(q => q.DueDate).NotEmpty();
+ RuleFor(q => q.Version).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.TaxRate).NotEmpty();
+ RuleFor(q => q.Site).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Company).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.ContactName).MaximumLength(64);
+ RuleFor(q => q.ContactPhone).MaximumLength(64);
+ RuleFor(q => q.Remark).MaximumLength(4096);
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs
similarity index 91%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs
index 673795a..8914c5c 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs
@@ -4,7 +4,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-namespace Win_in.Sfs.Scp.WebApi.POs
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// PO接口
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs
similarity index 93%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs
index 8625064..d2b9dca 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-namespace Win_in.Sfs.Scp.WebApi.POs
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 采购订单DTO(Purchase order DTO)
@@ -61,16 +61,10 @@ namespace Win_in.Sfs.Scp.WebApi.POs
public decimal TaxRate { set; get; }
///
- /// 地点(Site)
+ /// 版本(version)
///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(Company)
- ///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
+ [Display(Name = "版本")]
+ public string Version { get; set; }
///
/// 联系人(ContactName)
@@ -90,6 +84,18 @@ namespace Win_in.Sfs.Scp.WebApi.POs
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点(Site)")]
+ public string Site { set; get; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司(Company)")]
+ public string Company { set; get; }
+
public virtual ICollection Details { get; set; }
}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs
similarity index 67%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs
index afc8b09..7eb5aca 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs
@@ -1,9 +1,10 @@
using System;
using System.ComponentModel.DataAnnotations;
+using FluentValidation;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-namespace Win_in.Sfs.Scp.WebApi.POs
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 采购订单明细DTO(Purchase order detail DTO)
@@ -13,76 +14,42 @@ namespace Win_in.Sfs.Scp.WebApi.POs
///
/// 订单号(PoNumber)
///
- [Required]
[Display(Name = "订单号(PoNumber)")]
public string PoNumber { set; get; }
///
/// 订单行(PoLine)
///
- [Required]
[Display(Name = "订单行(PoLine)")]
public string PoLine { set; get; }
///
/// 零件号(PartCode)
///
- [Required]
[Display(Name = "零件号(PartCode)")]
public string PartCode { set; get; }
///
/// 计量单位(Uom)
///
- [Required]
[Display(Name = "计量单位(Uom)")]
public string Uom { set; get; }
///
/// 订单数量(Order Qty)
///
- [Required]
[Display(Name = "订单数量(OrderQty)")]
public decimal OrderQty { set; get; }
-
- ///
- /// 已关闭数量(Closed Qty)
- ///
- [Display(Name = "已关闭数量(Closed Qty)")]
- public decimal ClosedQty { get; set; }
-
- ///
- /// 标包计量单位(Standard Pack Uom)
- ///
- [Required]
- [Display(Name = "标包计量单位(Standard Pack Uom)")]
- public string StdPackUom { set; get; }
-
///
/// 标包数量(Standard Pack Qty)
///
-
- [Required]
[Display(Name = "标包数量(Standard Pack Qty)")]
public decimal StdPackQty { set; get; }
- ///
- /// 供应商计量单位(SupplierPackUom)
- ///
- [Display(Name = "供应商计量单位(SupplierPackUom)")]
- public string SupplierPackUom { set; get; }
-
- ///
- /// 供应商包装数量(SupplierPackQty)
- ///
- [Display(Name = "供应商包装数量(SupplierPackQty)")]
- public decimal SupplierPackQty { set; get; }
-
///
/// 供应商包装转换率(SupplierPackConvertRate)
///
- [Required]
[Display(Name = "供应商包装转换率(SupplierPackConvertRate)")]
public decimal SupplierPackConvertRate { set; get; }
@@ -95,7 +62,6 @@ namespace Win_in.Sfs.Scp.WebApi.POs
///
/// 订单行状态(LineStatus)
///
- [Required]
[Display(Name = "订单行状态(LineStatus)")]
public int LineStatus { set; get; }
@@ -105,4 +71,23 @@ namespace Win_in.Sfs.Scp.WebApi.POs
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
}
+
+ public class CreatePurchaseOrderDetailValidator : AbstractValidator
+ {
+ public CreatePurchaseOrderDetailValidator()
+ {
+ RuleFor(q => q.PoNumber).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.PoLine).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.PartCode).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Uom).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.OrderQty).NotEmpty();
+ RuleFor(q => q.StdPackQty).NotEmpty();
+ RuleFor(q => q.SupplierPackConvertRate);
+ RuleFor(q => q.IsConsignment).NotEmpty();
+ RuleFor(q => q.LineStatus).NotEmpty();
+ RuleFor(q => q.Remark).MaximumLength(4096);
+
+ }
+
+ }
}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs
new file mode 100644
index 0000000..ef0b807
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs
@@ -0,0 +1,29 @@
+using FluentValidation;
+
+namespace Win_in.Sfs.Scp.WebApi;
+
+public class CreateReceiptDtoValidator : AbstractValidator
+{
+ public CreateReceiptDtoValidator()
+ {
+ RuleFor(q => q.RcNumber).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.AsnNumber).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.PoNumber).MaximumLength(64);
+ RuleFor(q => q.SupplierCode).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.RcType).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Warehouse).MaximumLength(64);
+ RuleFor(q => q.Dock).MaximumLength(64);
+ RuleFor(q => q.ReceiveDate).NotEmpty();
+ RuleFor(q => q.ReceiveTime);
+ RuleFor(q => q.PoLine).MaximumLength(64);
+ RuleFor(q => q.PartCode).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Lot).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.SupplierLot).NotEmpty();
+ RuleFor(q => q.Uom).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.ReceiveQty).NotEmpty();
+ RuleFor(q => q.SupplierPackConvertRate).NotEmpty();
+ RuleFor(q => q.Remark).MaximumLength(4096);
+ RuleFor(q => q.Site).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Company).NotEmpty().MaximumLength(64);
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs
similarity index 83%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs
index a85f2e2..011f7e0 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs
@@ -3,7 +3,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-namespace Win_in.Sfs.Scp.WebApi.Receipts
+namespace Win_in.Sfs.Scp.WebApi
{
public interface IReceiptAppService : IReadOnlyAppService
{
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs
similarity index 65%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs
index 0af839d..928e856 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs
@@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-namespace Win_in.Sfs.Scp.WebApi.Receipts
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 收货单DTO(Receipt DTO)
@@ -21,13 +21,7 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
///
[Display(Name = "发货单号(AsnNumber)")]
public string AsnNumber { set; get; }
-
- ///
- /// 要货计划单号(RpNumber)
- ///
- [Display(Name = "要货计划单号(RpNumber)")]
- public string RpNumber { set; get; }
-
+
///
/// 订单号(PoNumber)
///
@@ -40,6 +34,13 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
[Display(Name = "供应商代码(SupplierCode)")]
public string SupplierCode { set; get; }
+ ///
+ /// 收货单类型(RcType)
+ ///
+ [Display(Name = "收货单类型(RcType)")]
+ public string RcType { set; get; }
+
+
///
/// 仓库(Warehouse)
///
@@ -51,19 +52,7 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
///
[Display(Name = "收货口(Dock)")]
public string Dock { set; get; }
-
- ///
- /// 时间窗口开始(TimeWindowBegin)
- ///
- [Display(Name = "时间窗口开始(TimeWindowBegin)")]
- public DateTime TimeWindowBegin { set; get; }
-
- ///
- /// 时间窗口结束(TimeWindowEnd)
- ///
- [Display(Name = "时间窗口结束(TimeWindowEnd)")]
- public DateTime TimeWindowEnd { set; get; }
-
+
///
/// 收货日期(ReceiveDate)
///
@@ -76,18 +65,6 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
[Display(Name = "收货时间(ReceiveTime)")]
public DateTime ReceiveTime { set; get; }
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(Company)
- ///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
-
///
/// 订单行(PoLine)
///
@@ -112,54 +89,18 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
[Display(Name = "供应商批次(SupplierLot)")]
public string SupplierLot { set; get; }
- ///
- /// 生产日期(ProductionDate)
- ///
- [Display(Name = "生产日期(ProductionDate)")]
- public DateTime ProductionDate { set; get; }
-
///
/// 计量单位(Uom)
///
[Display(Name = "计量单位(Uom)")]
public string Uom { set; get; }
-
- ///
- /// 发货数量(DeliverQty)
- ///
- [Display(Name = "发货数量(DeliverQty)")]
- public decimal DeliverQty { set; get; }
-
+
///
/// 收货数量(ReceiveQty)
///
[Display(Name = "收货数量(ReceiveQty)")]
public decimal ReceiveQty { set; get; }
-
- ///
- /// 标包计量单位(Standard Pack Uom)
- ///
- [Display(Name = "标包计量单位(Standard Pack Uom)")]
- public string StdPackUom { set; get; }
-
- ///
- /// 标包数量(Standard Pack Qty)
- ///
- [Display(Name = "标包数量(Standard Pack Qty)")]
- public decimal StdPackQty { set; get; }
-
- ///
- /// 供应商计量单位(SupplierPackUom)
- ///
- [Display(Name = "供应商计量单位(SupplierPackUom)")]
- public string SupplierPackUom { set; get; }
-
- ///
- /// 供应商包装数量(SupplierPackQty)
- ///
- [Display(Name = "供应商包装数量(SupplierPackQty)")]
- public decimal SupplierPackQty { set; get; }
-
+
///
/// 供应商包装转换率(SupplierPackConvertRate)
///
@@ -171,5 +112,17 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts
///
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
+
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点(Site)")]
+ public string Site { set; get; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司(Company)")]
+ public string Company { set; get; }
}
}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs
new file mode 100644
index 0000000..c8e01ac
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs
@@ -0,0 +1,27 @@
+using FluentValidation;
+
+namespace Win_in.Sfs.Scp.WebApi;
+
+public class CreateSupplierDtoValidator : AbstractValidator
+{
+ public CreateSupplierDtoValidator()
+ {
+
+ RuleFor(x => x.Code).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.Name).MaximumLength(64).NotEmpty();
+ RuleFor(x => x.Desc).MaximumLength(1024);
+ RuleFor(x => x.Rank).MaximumLength(64);
+ RuleFor(x => x.Address).MaximumLength(1024);
+ RuleFor(x => x.Country).MaximumLength(64);
+ RuleFor(x => x.City).MaximumLength(64);
+ RuleFor(x => x.Phone).MaximumLength(64);
+ RuleFor(x => x.Fax).MaximumLength(64);
+ RuleFor(x => x.PostId).MaximumLength(64);
+ RuleFor(x => x.ContactName).MaximumLength(64);
+ RuleFor(x => x.Bank).MaximumLength(64);
+ RuleFor(x => x.Currency).MaximumLength(64);
+ RuleFor(x => x.IsActive).NotEmpty();
+ RuleFor(x => x.Company).MaximumLength(1024);
+ RuleFor(x => x.Remark).MaximumLength(4096);
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs
similarity index 73%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs
index bf879b8..e5ea272 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs
@@ -2,9 +2,8 @@ using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-using Win_in.Sfs.Scp.WebApi.Suppliers;
-namespace Win_in.Sfs.Scp.WebApi.Suppliers
+namespace Win_in.Sfs.Scp.WebApi
{
public interface ISupplierAppService : IReadOnlyAppService
{
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs
similarity index 97%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs
index bd8d6df..37829e5 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs
@@ -1,9 +1,10 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
using Win_in.Sfs.Scp.WebApi.Domain.Shared;
-namespace Win_in.Sfs.Scp.WebApi.Suppliers
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 供应商DTO(Supplier DTO)
@@ -76,6 +77,12 @@ namespace Win_in.Sfs.Scp.WebApi.Suppliers
[Display(Name = "联系人(ContactName)")]
public string ContactName { set; get; }
+ ///
+ /// 银行(Bank)
+ ///
+ [Display(Name = "银行(Bank)")]
+ public string Bank { set; get; }
+
///
/// 货币(Currency)
///
@@ -100,10 +107,6 @@ namespace Win_in.Sfs.Scp.WebApi.Suppliers
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
- ///
- /// 银行(Bank)
- ///
- [Display(Name = "银行(Bank)")]
- public string Bank { set; get; }
+
}
}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs
new file mode 100644
index 0000000..31ea8ba
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs
@@ -0,0 +1,24 @@
+using FluentValidation;
+
+namespace Win_in.Sfs.Scp.WebApi;
+
+public class CreateUnplannedReceiptDtoValidator : AbstractValidator
+{
+ public CreateUnplannedReceiptDtoValidator()
+ {
+ RuleFor(q => q.TrNbr).NotEmpty();
+ RuleFor(q => q.TrType).NotEmpty().MaximumLength(8);
+ RuleFor(q => q.Order).MaximumLength(64);
+ RuleFor(q => q.Location).NotEmpty().MaximumLength(8);
+ RuleFor(q => q.EffectiveDate).NotEmpty();
+ RuleFor(q => q.SystemDate).NotEmpty();
+ RuleFor(q => q.PartCode).NotEmpty().MaximumLength(18);
+ RuleFor(q => q.Lot).NotEmpty().MaximumLength(64);
+ RuleFor(q => q.Uom).NotEmpty().MaximumLength(8);
+ RuleFor(q => q.Qty).NotEmpty();
+ RuleFor(q => q.SoJob).MaximumLength(20);
+ RuleFor(q => q.Remark).MaximumLength(4096);
+ RuleFor(q => q.Site).NotEmpty().MaximumLength(8);
+ RuleFor(q => q.Company).NotEmpty().MaximumLength(8);
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs
new file mode 100644
index 0000000..ebec16c
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ public interface IUnplannedReceiptAppService : IReadOnlyAppService
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs
new file mode 100644
index 0000000..3be4f7e
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs
@@ -0,0 +1,100 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+using Volo.Abp.Application.Dtos;
+using Win_in.Sfs.Scp.WebApi.Domain.Shared;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ ///
+ /// 收货单DTO(Receipt DTO)
+ ///
+ public class UnplannedReceiptDTO : EntityDtoBase
+ {
+ ///
+ /// 单号(TrNbr)
+ ///
+ [Display(Name = "单号(TrNbr)")]
+ public long TrNbr { set; get; }
+
+ ///
+ /// 事务类型(TrType)
+ ///
+ [Display(Name = "事务类型(TrType)")]
+ public string TrType { set; get; }
+
+ ///
+ /// 订单号(Order)
+ ///
+ [Display(Name = "订单号(Order)")]
+ public string Order { set; get; }
+
+ ///
+ /// 零件号(PartCode)
+ ///
+ [Display(Name = "零件号(PartCode)")]
+ public string PartCode { set; get; }
+
+ ///
+ /// 批次(Lot)
+ ///
+ [Display(Name = "批次(Lot)")]
+ public string Lot { set; get; }
+
+
+ ///
+ /// 计量单位(Uom)
+ ///
+ [Display(Name = "计量单位(Uom)")]
+ public string Uom { set; get; }
+
+ ///
+ /// 数量(Qty)
+ ///
+ [Display(Name = "数量(Qty)")]
+ public decimal Qty { set; get; }
+
+ ///
+ /// 库位(Location)
+ ///
+ [Display(Name = "库位(Location)")]
+ public string Location { set; get; }
+
+ ///
+ /// 生效日期(EffectiveDate)
+ ///
+ [Display(Name = "生效日期(EffectiveDate)")]
+ public DateTime EffectiveDate { set; get; }
+
+ ///
+ /// 系统日期(SystemDate)
+ ///
+ [Display(Name = "系统日期(SystemDate)")]
+ public DateTime SystemDate { set; get; }
+
+ ///
+ /// 客户单(so job)
+ ///
+ [Display(Name = "客户单(so job)")]
+
+ public string SoJob { get; set; }
+
+
+ ///
+ /// 备注(Remark)
+ ///
+ [Display(Name = "备注(Remark)")]
+ public string Remark { set; get; }
+
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点(Site)")]
+ public string Site { set; get; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司(Company)")]
+ public string Company { set; get; }
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs
new file mode 100644
index 0000000..26f9fb5
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs
@@ -0,0 +1,29 @@
+using Volo.Abp.Account;
+using Volo.Abp.FeatureManagement;
+using Volo.Abp.Identity;
+using Volo.Abp.Modularity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.SettingManagement;
+using Volo.Abp.TenantManagement;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ [DependsOn(
+ typeof(WebApiDomainSharedModule),
+ typeof(AbpAccountApplicationContractsModule),
+ typeof(AbpFeatureManagementApplicationContractsModule),
+ typeof(AbpIdentityApplicationContractsModule),
+ typeof(AbpPermissionManagementApplicationContractsModule),
+ typeof(AbpSettingManagementApplicationContractsModule),
+ typeof(AbpTenantManagementApplicationContractsModule),
+ typeof(AbpObjectExtendingModule)
+ )]
+ public class WebApiApplicationContractsModule : AbpModule
+ {
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ WebApiDtoExtensions.Configure();
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs
new file mode 100644
index 0000000..9290c15
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs
@@ -0,0 +1,29 @@
+using Volo.Abp.Identity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.Threading;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ public static class WebApiDtoExtensions
+ {
+ private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
+
+ public static void Configure()
+ {
+ OneTimeRunner.Run(() =>
+ {
+ /* You can add extension properties to DTOs
+ * defined in the depended modules.
+ *
+ * Example:
+ *
+ * ObjectExtensionManager.Instance
+ * .AddOrUpdateProperty("Title");
+ *
+ * See the documentation for more:
+ * https://docs.abp.io/en/abp/latest/Object-Extensions
+ */
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj
new file mode 100644
index 0000000..0b108ef
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj
@@ -0,0 +1,31 @@
+
+
+
+
+
+ netstandard2.0
+ Win_in.Sfs.Scp.WebApi
+ True
+
+
+
+ ..\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.Contracts.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs
similarity index 98%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs
index f400db7..7546e87 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs
@@ -8,7 +8,7 @@ using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
-namespace Win_in.Sfs.Scp.WebApi.Parts
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 零件服务
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..bef4ac2
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs
@@ -0,0 +1,2 @@
+using System.Runtime.CompilerServices;
+[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.Application.Tests")]
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs
similarity index 96%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs
index 0ef889b..5619c1e 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs
@@ -5,9 +5,8 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-using Win_in.Sfs.Scp.WebApi.Parts;
-namespace Win_in.Sfs.Scp.WebApi.POs
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 采购订单服务
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs
similarity index 98%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs
index 8ce5ede..5f10d53 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-namespace Win_in.Sfs.Scp.WebApi.Receipts
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 收货单服务
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs
similarity index 96%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs
index 6d38d0c..eaa3d04 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs
@@ -5,9 +5,9 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
-using Win_in.Sfs.Scp.WebApi.Suppliers;
-namespace Win_in.Sfs.Scp.WebApi.Suppliers
+
+namespace Win_in.Sfs.Scp.WebApi
{
///
/// 供应商服务
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs
new file mode 100644
index 0000000..ffb8ff5
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs
@@ -0,0 +1,76 @@
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ ///
+ /// 收货单服务
+ ///
+ [AllowAnonymous]
+ [Route("api/scp/unplanned-receipt")]
+ [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)]
+ public class UnplannedReceiptAppService : ReadOnlyAppService, IUnplannedReceiptAppService
+ {
+ private readonly IUnplannedReceiptRepository _unplannedReceiptRepository;
+
+ public UnplannedReceiptAppService(IUnplannedReceiptRepository repository) : base(repository)
+ {
+ _unplannedReceiptRepository = repository;
+ }
+
+
+ ///
+ /// 按ID获取收货单 (Get receipt by ID)
+ ///
+ /// 唯一ID(unique ID)
+ ///
+ [HttpGet]
+ [Route("{id}")]
+ public override async Task GetAsync(Guid id)
+ {
+ return await base.GetAsync(id);
+ }
+
+
+ ///
+ /// 按请求条件获取收货单列表(Get receipt list by request condition)
+ ///
+ /// 请求条件DTO(Request condition DTO)
+ ///
+ [HttpGet]
+ [Route("")]
+ public override async Task> GetListAsync(RequestDTO requestDTO)
+ {
+ return await base.GetListAsync(requestDTO);
+ }
+
+
+ ///
+ /// 新增收货单(Create receipt)
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("")]
+ public async Task CreateAsync(UnplannedReceiptDTO receiptCreateDTO)
+ {
+ var entity = ObjectMapper.Map(receiptCreateDTO);
+ var ret = await _unplannedReceiptRepository.InsertAsync(entity);
+ var dto = ObjectMapper.Map(ret);
+ return dto;
+ }
+ ///
+ /// 按ID修改收货单(Update receipt by ID)
+ ///
+ /// 唯一ID(unique ID)
+ ///
+ ///
+
+
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs
similarity index 59%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs
index 56fdd1a..8df4237 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs
@@ -1,14 +1,18 @@
-using Win_in.Sfs.Scp.WebApi.Localization;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Win_in.Sfs.Scp.WebApi.Localization;
using Volo.Abp.Application.Services;
namespace Win_in.Sfs.Scp.WebApi
{
+ /* Inherit your application services from this class.
+ */
public abstract class WebApiAppService : ApplicationService
{
protected WebApiAppService()
{
LocalizationResource = typeof(WebApiResource);
- ObjectMapperContext = typeof(WebApiApplicationModule);
}
}
}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs
similarity index 89%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs
index c1956ef..d669d4f 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs
@@ -1,8 +1,4 @@
using AutoMapper;
-using Win_in.Sfs.Scp.WebApi.Parts;
-using Win_in.Sfs.Scp.WebApi.POs;
-using Win_in.Sfs.Scp.WebApi.Receipts;
-using Win_in.Sfs.Scp.WebApi.Suppliers;
namespace Win_in.Sfs.Scp.WebApi
{
@@ -19,7 +15,7 @@ namespace Win_in.Sfs.Scp.WebApi
CreateMapReceipt();
CreateMapPurchaseOrder();
CreateMapPurchaseOrderDetail();
-
+ CreateMapUnplannedReceipt();
}
///
@@ -40,7 +36,7 @@ namespace Win_in.Sfs.Scp.WebApi
CreateMap().ReverseMap();
}
-
+
///
/// 收货单与退货单明细实体与Dto映射
///
@@ -68,5 +64,10 @@ namespace Win_in.Sfs.Scp.WebApi
{
CreateMap().ReverseMap();
}
+
+ private void CreateMapUnplannedReceipt()
+ {
+ CreateMap().ReverseMap();
+ }
}
-}
\ No newline at end of file
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs
new file mode 100644
index 0000000..f3ecaf6
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs
@@ -0,0 +1,32 @@
+using Volo.Abp.Account;
+using Volo.Abp.AutoMapper;
+using Volo.Abp.FeatureManagement;
+using Volo.Abp.Identity;
+using Volo.Abp.Modularity;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.SettingManagement;
+using Volo.Abp.TenantManagement;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ [DependsOn(
+ typeof(WebApiDomainModule),
+ typeof(AbpAccountApplicationModule),
+ typeof(WebApiApplicationContractsModule),
+ typeof(AbpIdentityApplicationModule),
+ typeof(AbpPermissionManagementApplicationModule),
+ typeof(AbpTenantManagementApplicationModule),
+ typeof(AbpFeatureManagementApplicationModule),
+ typeof(AbpSettingManagementApplicationModule)
+ )]
+ public class WebApiApplicationModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.AddMaps();
+ });
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj
new file mode 100644
index 0000000..4fa7c30
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj
@@ -0,0 +1,30 @@
+
+
+
+
+
+ net5.0
+ Win_in.Sfs.Scp.WebApi
+ True
+
+
+
+ ..\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs
new file mode 100644
index 0000000..b352eac
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs
@@ -0,0 +1,47 @@
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Win_in.Sfs.Scp.WebApi.Data;
+using Serilog;
+using Volo.Abp;
+
+namespace Win_in.Sfs.Scp.WebApi.DbMigrator
+{
+ public class DbMigratorHostedService : IHostedService
+ {
+ private readonly IHostApplicationLifetime _hostApplicationLifetime;
+ private readonly IConfiguration _configuration;
+
+ public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration)
+ {
+ _hostApplicationLifetime = hostApplicationLifetime;
+ _configuration = configuration;
+ }
+
+ public async Task StartAsync(CancellationToken cancellationToken)
+ {
+ using (var application = AbpApplicationFactory.Create(options =>
+ {
+ options.Services.ReplaceConfiguration(_configuration);
+ options.UseAutofac();
+ options.Services.AddLogging(c => c.AddSerilog());
+ }))
+ {
+ application.Initialize();
+
+ await application
+ .ServiceProvider
+ .GetRequiredService()
+ .MigrateAsync();
+
+ application.Shutdown();
+
+ _hostApplicationLifetime.StopApplication();
+ }
+ }
+
+ public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs
new file mode 100644
index 0000000..2e4f0e8
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs
@@ -0,0 +1,45 @@
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Serilog;
+using Serilog.Events;
+
+namespace Win_in.Sfs.Scp.WebApi.DbMigrator
+{
+ class Program
+ {
+ static async Task Main(string[] args)
+ {
+ Log.Logger = new LoggerConfiguration()
+ .MinimumLevel.Information()
+ .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
+ .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning)
+#if DEBUG
+ .MinimumLevel.Override("Win_in.Sfs.Scp.WebApi", LogEventLevel.Debug)
+#else
+ .MinimumLevel.Override("Win_in.Sfs.Scp.WebApi", LogEventLevel.Information)
+#endif
+ .Enrich.FromLogContext()
+ .WriteTo.Async(c => c.File("Logs/logs.txt"))
+ .WriteTo.Async(c => c.Console())
+ .CreateLogger();
+
+ await CreateHostBuilder(args).RunConsoleAsync();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureAppConfiguration(build =>
+ {
+ build.AddJsonFile("appsettings.secrets.json", optional: true);
+ })
+ .ConfigureLogging((context, logging) => logging.ClearProviders())
+ .ConfigureServices((hostContext, services) =>
+ {
+ services.AddHostedService();
+ });
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs
new file mode 100644
index 0000000..5502104
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs
@@ -0,0 +1,20 @@
+using Win_in.Sfs.Scp.WebApi.EntityFrameworkCore;
+using Volo.Abp.Autofac;
+using Volo.Abp.BackgroundJobs;
+using Volo.Abp.Modularity;
+
+namespace Win_in.Sfs.Scp.WebApi.DbMigrator
+{
+ [DependsOn(
+ typeof(AbpAutofacModule),
+ typeof(WebApiEntityFrameworkCoreModule),
+ typeof(WebApiApplicationContractsModule)
+ )]
+ public class WebApiDbMigratorModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options => options.IsJobExecutionEnabled = false);
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj
new file mode 100644
index 0000000..c28d23b
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj
@@ -0,0 +1,43 @@
+
+
+
+
+
+ Exe
+ net5.0
+
+
+
+
+
+ PreserveNewest
+ Always
+
+
+
+ PreserveNewest
+ Always
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json
new file mode 100644
index 0000000..f5bac38
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json
@@ -0,0 +1,30 @@
+{
+ "ConnectionStrings": {
+ "Default": "Server=127.0.0.1;Database=Scp_WehApi;User ID=sa;Password=Microsoft2008;connection timeout=600;",
+ "WebApi": "Server=127.0.0.1;Database=Scp_WebApi;User ID=sa;Password=Microsoft2008;connection timeout=600;"
+ },
+ "IdentityServer": {
+ "Clients": {
+ "WebApi_Web": {
+ "ClientId": "WebApi_Web",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "https://localhost:44322"
+ },
+ "WebApi_App": {
+ "ClientId": "WebApi_App",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "http://localhost:4200"
+ },
+ "WebApi_BlazorServerTiered": {
+ "ClientId": "WebApi_BlazorServerTiered",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "https://localhost:44314"
+ },
+ "WebApi_Swagger": {
+ "ClientId": "WebApi_Swagger",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "https://localhost:44359"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json
new file mode 100644
index 0000000..7a73a41
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk
new file mode 100644
index 0000000..ee14ec4
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk
@@ -0,0 +1 @@
+{"alg":"RS256","d":"Jh2vSiK1wgrlOQV84f1rAYOd9tijJWkgHEjQKZrPCcXmZvGpzSrCoEnA_8dMBsOI2OzxAtuhwfF-4eUJl2tcAPQMxaAxqkOUbOHdwxMED8ek4hLi1a_Lqqv8An1rBCOQrs8PyEfBvg-HjUsHKEsKBcYb-IiC3YNSNNzD29d1wSGFAT6jE3plbvznjDIDKpab6EbADv1HRhF9IVv704VFgwEezcYGkIzmI_RglQLWX8KWguK68W_-5hzYO-pp0C3SpG4LS253a8ue2_pJ0PmWV-Ts4opvCRpG-Uo6RHK8FsyOWSVJZvbTDN0Rcso2MVu1J1SxbNxRqyWgDguVfih63Q","dp":"K8huIj-DCk3dEh0gIUw8B9CzXo684XE3KPJqhrO_eoOE-Oqt0qfUeroaX2TqNevwI9SPU6JtR-OxgPQ-DMoLmG2X30koPQvXGiL79beDhbRVFohNWVrw_vEylRp_qni21z70AZvUgqHXQHeIP3GLXFJemwzkTGRtag70bGoeaHk","dq":"d8pTgoA9h_u0olHCc8I1jMZioKHDRsiJkTPIYkp3FtR0LXy8eNc0W906z8QCPAMxvKgXkiJ8iODJDrEtmrPUhBKOK4N3JCJMhAn1dgqAgzm_0J1_MF0dqNTTgjwNi9JgANpvz4fal6q7E4TiBn6g4g8RzrGoiqMj-43pc_6lsL0","e":"AQAB","kid":"CAFD99D185FB3C4517C0919EBBD292C1","kty":"RSA","n":"xy_ltE70mr6FNr3rx8niiucwACJ_dcS18yicVOWzYZ0p4mcE-jGZd1zinbecghAeTWbmn1t7wXBudoQ5p-A5vAaRQKr3Fr7A6adWwRUcIABr-rAZ-iJH3Qu16QtHQL3brCNTnmqOerVXciQj6cD4kNqJbwlRBRYu6bVYA1V2D4v9klRc9_olDgNKMLXmGCvDeq_X-mzqxLAQxMKyDXVp4q317biClS0ywaX1EGXzI0pFwhYuz-GWUP3gJqfHBka0ziOWYm25egAkjeyNLCE4URaosZYnMhZR5J-lX4gy0q0xiLvzaEn-p0Y4MZEsXpN18v797zXKZ8zV65jX1OEPNQ","p":"9pjQoBz7MyZEdzQ8KMDX3zDpXfH-xZy_A3d_AzfXewF8F-3X_PTN-5GUq2nnEdLmYtetGw4wRsaQmk6nDUpe69-fINkBGsErV0GyOJL96iwQFFv11AFIpMoWfcebbyfk5O9DVZ-B8jw8PqGWuea3htu4IgvHLbB8OgB-n0C-frc","q":"zshJIBS23kfNY12cG5inbqZv5evTH4PTWNARoFnuqoLASvynvxPRk2V_kYRLkwSOdmPnasDrDWZ23CEmZKPtcWU5xf7N3upp5-d3TvV1N1_PTi-Mp8qw5GlTdPxl1_Jg0o5VRSqI7lsnuw-BayYQ6m-bb2b1Y4JbgWiWusc_9XM","qi":"b4kf1aoeoKLAchk-OhtEWomapwgIdWHe60n93BmzJDrpbnBjmkjxm1-DcJaToNPR9HRMbHMeb4va2taYf_2wiZCZuwu60hakn4X03jNwALXH_m4rshEBbjW00MiGOcJda0QATn5kMvAGuyfcmcQE83ZoqnZ3ChNLhJRBO-ZSGtE"}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa
new file mode 100644
index 0000000..494c201
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa
@@ -0,0 +1,13 @@
+{
+ "KeyId": "f788zGVUZh9H-HbWL1S-Mg",
+ "Parameters": {
+ "D": "F19hbC5PLO872DszGiJnVoU55ee7XGXmNf0KEKndJ/uGBv5lWklXA0QF80h1ytWXde0jV5isQPB1t7mPhRQlDoDTkywLi1CeOgBPbxzHEfLjZZ5c4olfeX0IJX9BDqgUntY0H1a/+Om/eDu4OZUz3EIJFFZBgz46YZSyTT6ZDvAEdpC/o66sNJmxvJIp+8zVoVDSqBUzxmc+oEamXLg7r2jdymxJMxau1kQFxEGLOrJnNxGsEe8UrYA3qSsm8m/Xg4uOh7RYgnuEEt88+KTvRq+CAMWhN3YNLtOJ3NmXowwE7e1Ma+jih9+UVfxZn14P5+SOJbQ2bYV2sCV+2vBiCQ==",
+ "DP": "oPiGO/qdOQfFEAS9fMInQnsrNylIZVpDYEVoDJ6/jQfE/IpuwxGcmsaGvCob3SKxZiJRLCWpwJYo1hCh/JOSVGWMkVyELky56nbbkkV5ymKLSGZ4JoetdQs+GchnPdR+k2P9Ij1Kjk13ylubN3htzNhcBASJpOfSEv5pPVzGKX0=",
+ "DQ": "z6imxLABHkyftbfUUtpeOlPanEHgpuIjmUdp3T1Ju1jziE63UEhuj0GPAXOF17uYxixwYE8JhOJ7+TyIK9oZeI3zH2OzJqQh8f5PCQ/E+0ULXZDeNV/ShDLCTufu3Fis9Rt64uTp/H/l21oMQ79jc0ysa8DTz1ReJLRc5qjL41U=",
+ "Exponent": "AQAB",
+ "InverseQ": "ieZcvSt5XYukKJKhXpv5Dm/1RD7iH88cZnhLSTEVTMoOUHoYWmApY5pNLGahbfjA9bxnkBWDYex/i7wE9uNNY5CsA6ovUaQLVJDt3kHvR9W+9QtN8D6jjG2TuRbbOdEg4RqhfjUaDfDIgTJX2Wxc8U98FOvOyGw1HzwUPFZKecM=",
+ "Modulus": "vk4z1Bmtmbo+gxITcY+FIlXzcO2wTOGlOXK5GMYj/6PUMFt7lbqkc72AkPsrAo5/JE8LYLhWj7fzSKbjvtowHCz5m2t+FlUYmuiKpvvnJsTqvQrckNlbZ1nm071q5PhP3Dar/OksfBhPtAX+c3+NjDnM/w53ccJJNaBDO/s9JYoN7vH5n6ed1pMSK71hmg4MPsxChcnc1f1PpnG2mqyJ253+GEUbj/kRyeBSmCCr9aadov2ZzxIKVaFNagJEHOzanQmorSLpP25GfOHCuy27Zkef94V/qU9elzjbH4uIKslVGx5T6H99TYh0sUGu11NytYJa5WNAZWow95CzurC2vw==",
+ "P": "4GMCQy+XTNzR5TsgFcdAZv2K6TcQR13fHVvPoxQp/b32V5YUJOBFEUAtqociy5ro4+KzpXP5WPSk1ZtznGKuNZyLq8gTnhpB3rwd0sdo4zxKnQ5nu+n1UhlhWNxg5A9V5TaciUAyPrHWJfLoYTQWygNTgJELQH5zZXi2ihC2uiU=",
+ "Q": "2R36pamnLAJggkPJxiW5qH6HizZ+bkQVg0BBftMLzkAM8Y9CwTW75GRUzGEJFpMckkw0GZSYb1Uwl3DVUpkcQ8LZ91IPYdPpDlYUshhIxl184M55pnO14besKxJtMZ64zhHKVAR2pBMO0n6W4/1iBXkkQqyPViJxdfvXPJMBbhM="
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json
new file mode 100644
index 0000000..d2a6a98
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json
@@ -0,0 +1,8 @@
+{
+ "culture": "en",
+ "texts": {
+ "Menu:Home": "Home",
+ "Welcome": "Welcome",
+ "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io."
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json
new file mode 100644
index 0000000..23790bd
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json
@@ -0,0 +1,8 @@
+{
+ "culture": "zh-Hans",
+ "texts": {
+ "Menu:Home": "首页",
+ "Welcome": "欢迎",
+ "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io."
+ }
+ }
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs
similarity index 93%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs
index 23a7963..b14a7ae 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs
@@ -5,6 +5,6 @@ namespace Win_in.Sfs.Scp.WebApi.Localization
[LocalizationResourceName("WebApi")]
public class WebApiResource
{
-
+
}
-}
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
new file mode 100644
index 0000000..43a9453
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
@@ -0,0 +1,11 @@
+namespace Win_in.Sfs.Scp.WebApi.MultiTenancy
+{
+ public static class MultiTenancyConsts
+ {
+ /* Enable/disable multi-tenancy easily in a single point.
+ * If you will never need to multi-tenancy, you can remove
+ * related modules and code parts, including this file.
+ */
+ public const bool IsEnabled = true;
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs
new file mode 100644
index 0000000..2c486c6
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs
@@ -0,0 +1,7 @@
+namespace Win_in.Sfs.Scp.WebApi
+{
+ public static class WebApiDomainErrorCodes
+ {
+ /* You can add your business exception error codes here, as constants */
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs
new file mode 100644
index 0000000..ab9f58d
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs
@@ -0,0 +1,59 @@
+using Win_in.Sfs.Scp.WebApi.Localization;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.BackgroundJobs;
+using Volo.Abp.FeatureManagement;
+using Volo.Abp.Identity;
+using Volo.Abp.IdentityServer;
+using Volo.Abp.Localization;
+using Volo.Abp.Localization.ExceptionHandling;
+using Volo.Abp.Modularity;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.SettingManagement;
+using Volo.Abp.TenantManagement;
+using Volo.Abp.Validation.Localization;
+using Volo.Abp.VirtualFileSystem;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ [DependsOn(
+ typeof(AbpAuditLoggingDomainSharedModule),
+ typeof(AbpBackgroundJobsDomainSharedModule),
+ typeof(AbpFeatureManagementDomainSharedModule),
+ typeof(AbpIdentityDomainSharedModule),
+ typeof(AbpIdentityServerDomainSharedModule),
+ typeof(AbpPermissionManagementDomainSharedModule),
+ typeof(AbpSettingManagementDomainSharedModule),
+ typeof(AbpTenantManagementDomainSharedModule)
+ )]
+ public class WebApiDomainSharedModule : AbpModule
+ {
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ WebApiGlobalFeatureConfigurator.Configure();
+ WebApiModuleExtensionConfigurator.Configure();
+ }
+
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.FileSets.AddEmbedded();
+ });
+
+ Configure(options =>
+ {
+ options.Resources
+ .Add("en")
+ .AddBaseTypes(typeof(AbpValidationResource))
+ .AddVirtualJson("/Localization/WebApi");
+
+ options.DefaultResourceType = typeof(WebApiResource);
+ });
+
+ Configure(options =>
+ {
+ options.MapCodeNamespace("WebApi", typeof(WebApiResource));
+ });
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs
new file mode 100644
index 0000000..6efb3da
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs
@@ -0,0 +1,23 @@
+using Volo.Abp.Threading;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ public static class WebApiGlobalFeatureConfigurator
+ {
+ private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
+
+ public static void Configure()
+ {
+ OneTimeRunner.Run(() =>
+ {
+ /* You can configure (enable/disable) global features of the used modules here.
+ *
+ * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT!
+ *
+ * Please refer to the documentation to lear more about the Global Features System:
+ * https://docs.abp.io/en/abp/latest/Global-Features
+ */
+ });
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs
new file mode 100644
index 0000000..d6a994c
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs
@@ -0,0 +1,72 @@
+using System.ComponentModel.DataAnnotations;
+using Volo.Abp.Identity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.Threading;
+
+namespace Win_in.Sfs.Scp.WebApi
+{
+ public static class WebApiModuleExtensionConfigurator
+ {
+ private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
+
+ public static void Configure()
+ {
+ OneTimeRunner.Run(() =>
+ {
+ ConfigureExistingProperties();
+ ConfigureExtraProperties();
+ });
+ }
+
+ private static void ConfigureExistingProperties()
+ {
+ /* You can change max lengths for properties of the
+ * entities defined in the modules used by your application.
+ *
+ * Example: Change user and role name max lengths
+
+ IdentityUserConsts.MaxNameLength = 99;
+ IdentityRoleConsts.MaxNameLength = 99;
+
+ * Notice: It is not suggested to change property lengths
+ * unless you really need it. Go with the standard values wherever possible.
+ *
+ * If you are using EF Core, you will need to run the add-migration command after your changes.
+ */
+ }
+
+ private static void ConfigureExtraProperties()
+ {
+ /* You can configure extra properties for the
+ * entities defined in the modules used by your application.
+ *
+ * This class can be used to define these extra properties
+ * with a high level, easy to use API.
+ *
+ * Example: Add a new property to the user entity of the identity module
+
+ ObjectExtensionManager.Instance.Modules()
+ .ConfigureIdentity(identity =>
+ {
+ identity.ConfigureUser(user =>
+ {
+ user.AddOrUpdateProperty( //property type: string
+ "SocialSecurityNumber", //property name
+ property =>
+ {
+ //validation rules
+ property.Attributes.Add(new RequiredAttribute());
+ property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4});
+
+ //...other configurations for this property
+ }
+ );
+ });
+ });
+
+ * See the documentation for more:
+ * https://docs.abp.io/en/abp/latest/Module-Entity-Extensions
+ */
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj
new file mode 100644
index 0000000..f0900ed
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj
@@ -0,0 +1,35 @@
+
+
+
+
+
+ netstandard2.0
+ Win_in.Sfs.Scp.WebApi
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs
new file mode 100644
index 0000000..72d2138
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs
@@ -0,0 +1,9 @@
+using System.Threading.Tasks;
+
+namespace Win_in.Sfs.Scp.WebApi.Data
+{
+ public interface IWebApiDbSchemaMigrator
+ {
+ Task MigrateAsync();
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs
new file mode 100644
index 0000000..e60dcf7
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs
@@ -0,0 +1,16 @@
+using System.Threading.Tasks;
+using Volo.Abp.DependencyInjection;
+
+namespace Win_in.Sfs.Scp.WebApi.Data
+{
+ /* This is used if database provider does't define
+ * IWebApiDbSchemaMigrator implementation.
+ */
+ public class NullWebApiDbSchemaMigrator : IWebApiDbSchemaMigrator, ITransientDependency
+ {
+ public Task MigrateAsync()
+ {
+ return Task.CompletedTask;
+ }
+ }
+}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs
new file mode 100644
index 0000000..c796522
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs
@@ -0,0 +1,220 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Identity;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp.TenantManagement;
+
+namespace Win_in.Sfs.Scp.WebApi.Data
+{
+ public class WebApiDbMigrationService : ITransientDependency
+ {
+ public ILogger Logger { get; set; }
+
+ private readonly IDataSeeder _dataSeeder;
+ private readonly IEnumerable _dbSchemaMigrators;
+ private readonly ITenantRepository _tenantRepository;
+ private readonly ICurrentTenant _currentTenant;
+
+ public WebApiDbMigrationService(
+ IDataSeeder dataSeeder,
+ IEnumerable dbSchemaMigrators,
+ ITenantRepository tenantRepository,
+ ICurrentTenant currentTenant)
+ {
+ _dataSeeder = dataSeeder;
+ _dbSchemaMigrators = dbSchemaMigrators;
+ _tenantRepository = tenantRepository;
+ _currentTenant = currentTenant;
+
+ Logger = NullLogger.Instance;
+ }
+
+ public async Task MigrateAsync()
+ {
+ var initialMigrationAdded = AddInitialMigrationIfNotExist();
+
+ if (initialMigrationAdded)
+ {
+ return;
+ }
+
+ Logger.LogInformation("Started database migrations...");
+
+ await MigrateDatabaseSchemaAsync();
+ await SeedDataAsync();
+
+ Logger.LogInformation($"Successfully completed host database migrations.");
+
+ var tenants = await _tenantRepository.GetListAsync(includeDetails: true);
+
+ var migratedDatabaseSchemas = new HashSet();
+ foreach (var tenant in tenants)
+ {
+ using (_currentTenant.Change(tenant.Id))
+ {
+ if (tenant.ConnectionStrings.Any())
+ {
+ var tenantConnectionStrings = tenant.ConnectionStrings
+ .Select(x => x.Value)
+ .ToList();
+
+ if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings))
+ {
+ await MigrateDatabaseSchemaAsync(tenant);
+
+ migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings);
+ }
+ }
+
+ await SeedDataAsync(tenant);
+ }
+
+ Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations.");
+ }
+
+ Logger.LogInformation("Successfully completed all database migrations.");
+ Logger.LogInformation("You can safely end this process...");
+ }
+
+ private async Task MigrateDatabaseSchemaAsync(Tenant tenant = null)
+ {
+ Logger.LogInformation(
+ $"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database...");
+
+ foreach (var migrator in _dbSchemaMigrators)
+ {
+ await migrator.MigrateAsync();
+ }
+ }
+
+ private async Task SeedDataAsync(Tenant tenant = null)
+ {
+ Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed...");
+
+ await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id)
+ .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, IdentityDataSeedContributor.AdminEmailDefaultValue)
+ .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, IdentityDataSeedContributor.AdminPasswordDefaultValue)
+ );
+ }
+
+ private bool AddInitialMigrationIfNotExist()
+ {
+ try
+ {
+ if (!DbMigrationsProjectExists())
+ {
+ return false;
+ }
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+
+ try
+ {
+ if (!MigrationsFolderExists())
+ {
+ AddInitialMigration();
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ catch (Exception e)
+ {
+ Logger.LogWarning("Couldn't determinate if any migrations exist : " + e.Message);
+ return false;
+ }
+ }
+
+ private bool DbMigrationsProjectExists()
+ {
+ var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath();
+
+ return dbMigrationsProjectFolder != null;
+ }
+
+ private bool MigrationsFolderExists()
+ {
+ var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath();
+
+ return Directory.Exists(Path.Combine(dbMigrationsProjectFolder, "Migrations"));
+ }
+
+ private void AddInitialMigration()
+ {
+ Logger.LogInformation("Creating initial migration...");
+
+ string argumentPrefix;
+ string fileName;
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) || RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ argumentPrefix = "-c";
+ fileName = "/bin/bash";
+ }
+ else
+ {
+ argumentPrefix = "/C";
+ fileName = "cmd.exe";
+ }
+
+ var procStartInfo = new ProcessStartInfo(fileName,
+ $"{argumentPrefix} \"abp create-migration-and-run-migrator \"{GetEntityFrameworkCoreProjectFolderPath()}\"\""
+ );
+
+ try
+ {
+ Process.Start(procStartInfo);
+ }
+ catch (Exception)
+ {
+ throw new Exception("Couldn't run ABP CLI...");
+ }
+ }
+
+ private string GetEntityFrameworkCoreProjectFolderPath()
+ {
+ var slnDirectoryPath = GetSolutionDirectoryPath();
+
+ if (slnDirectoryPath == null)
+ {
+ throw new Exception("Solution folder not found!");
+ }
+
+ var srcDirectoryPath = Path.Combine(slnDirectoryPath, "src");
+
+ return Directory.GetDirectories(srcDirectoryPath)
+ .FirstOrDefault(d => d.EndsWith(".EntityFrameworkCore"));
+ }
+
+ private string GetSolutionDirectoryPath()
+ {
+ var currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory());
+
+ while (Directory.GetParent(currentDirectory.FullName) != null)
+ {
+ currentDirectory = Directory.GetParent(currentDirectory.FullName);
+
+ if (Directory.GetFiles(currentDirectory.FullName).FirstOrDefault(f => f.EndsWith(".sln")) != null)
+ {
+ return currentDirectory.FullName;
+ }
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs
new file mode 100644
index 0000000..3b10d5c
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs
@@ -0,0 +1,288 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using IdentityServer4.Models;
+using Microsoft.Extensions.Configuration;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Guids;
+using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.IdentityServer.ApiScopes;
+using Volo.Abp.IdentityServer.Clients;
+using Volo.Abp.IdentityServer.IdentityResources;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.Uow;
+using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource;
+using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope;
+using Client = Volo.Abp.IdentityServer.Clients.Client;
+
+namespace Win_in.Sfs.Scp.WebApi.IdentityServer
+{
+ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransientDependency
+ {
+ private readonly IApiResourceRepository _apiResourceRepository;
+ private readonly IApiScopeRepository _apiScopeRepository;
+ private readonly IClientRepository _clientRepository;
+ private readonly IIdentityResourceDataSeeder _identityResourceDataSeeder;
+ private readonly IGuidGenerator _guidGenerator;
+ private readonly IPermissionDataSeeder _permissionDataSeeder;
+ private readonly IConfiguration _configuration;
+ private readonly ICurrentTenant _currentTenant;
+
+ public IdentityServerDataSeedContributor(
+ IClientRepository clientRepository,
+ IApiResourceRepository apiResourceRepository,
+ IApiScopeRepository apiScopeRepository,
+ IIdentityResourceDataSeeder identityResourceDataSeeder,
+ IGuidGenerator guidGenerator,
+ IPermissionDataSeeder permissionDataSeeder,
+ IConfiguration configuration,
+ ICurrentTenant currentTenant)
+ {
+ _clientRepository = clientRepository;
+ _apiResourceRepository = apiResourceRepository;
+ _apiScopeRepository = apiScopeRepository;
+ _identityResourceDataSeeder = identityResourceDataSeeder;
+ _guidGenerator = guidGenerator;
+ _permissionDataSeeder = permissionDataSeeder;
+ _configuration = configuration;
+ _currentTenant = currentTenant;
+ }
+
+ [UnitOfWork]
+ public virtual async Task SeedAsync(DataSeedContext context)
+ {
+ using (_currentTenant.Change(context?.TenantId))
+ {
+ await _identityResourceDataSeeder.CreateStandardResourcesAsync();
+ await CreateApiResourcesAsync();
+ await CreateApiScopesAsync();
+ await CreateClientsAsync();
+ }
+ }
+
+ private async Task CreateApiScopesAsync()
+ {
+ await CreateApiScopeAsync("WebApi");
+ }
+
+ private async Task CreateApiResourcesAsync()
+ {
+ var commonApiUserClaims = new[]
+ {
+ "email",
+ "email_verified",
+ "name",
+ "phone_number",
+ "phone_number_verified",
+ "role"
+ };
+
+ await CreateApiResourceAsync("WebApi", commonApiUserClaims);
+ }
+
+ private async Task CreateApiResourceAsync(string name, IEnumerable claims)
+ {
+ var apiResource = await _apiResourceRepository.FindByNameAsync(name);
+ if (apiResource == null)
+ {
+ apiResource = await _apiResourceRepository.InsertAsync(
+ new ApiResource(
+ _guidGenerator.Create(),
+ name,
+ name + " API"
+ ),
+ autoSave: true
+ );
+ }
+
+ foreach (var claim in claims)
+ {
+ if (apiResource.FindClaim(claim) == null)
+ {
+ apiResource.AddUserClaim(claim);
+ }
+ }
+
+ return await _apiResourceRepository.UpdateAsync(apiResource);
+ }
+
+ private async Task CreateApiScopeAsync(string name)
+ {
+ var apiScope = await _apiScopeRepository.GetByNameAsync(name);
+ if (apiScope == null)
+ {
+ apiScope = await _apiScopeRepository.InsertAsync(
+ new ApiScope(
+ _guidGenerator.Create(),
+ name,
+ name + " API"
+ ),
+ autoSave: true
+ );
+ }
+
+ return apiScope;
+ }
+
+ private async Task CreateClientsAsync()
+ {
+ var commonScopes = new[]
+ {
+ "email",
+ "openid",
+ "profile",
+ "role",
+ "phone",
+ "address",
+ "WebApi"
+ };
+
+ var configurationSection = _configuration.GetSection("IdentityServer:Clients");
+
+
+ //Console Test / Angular Client
+ var consoleAndAngularClientId = configurationSection["WebApi_App:ClientId"];
+ if (!consoleAndAngularClientId.IsNullOrWhiteSpace())
+ {
+ var webClientRootUrl = configurationSection["WebApi_App:RootUrl"]?.TrimEnd('/');
+
+ await CreateClientAsync(
+ name: consoleAndAngularClientId,
+ scopes: commonScopes,
+ grantTypes: new[] { "password", "client_credentials", "authorization_code" },
+ secret: (configurationSection["WebApi_App:ClientSecret"] ?? "1q2w3e*").Sha256(),
+ requireClientSecret: false,
+ redirectUri: webClientRootUrl,
+ postLogoutRedirectUri: webClientRootUrl,
+ corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") }
+ );
+ }
+
+
+
+ // Swagger Client
+ var swaggerClientId = configurationSection["WebApi_Swagger:ClientId"];
+ if (!swaggerClientId.IsNullOrWhiteSpace())
+ {
+ var swaggerRootUrl = configurationSection["WebApi_Swagger:RootUrl"].TrimEnd('/');
+
+ await CreateClientAsync(
+ name: swaggerClientId,
+ scopes: commonScopes,
+ grantTypes: new[] { "authorization_code" },
+ secret: configurationSection["WebApi_Swagger:ClientSecret"]?.Sha256(),
+ requireClientSecret: false,
+ redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html",
+ corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") }
+ );
+ }
+ }
+
+ private async Task CreateClientAsync(
+ string name,
+ IEnumerable scopes,
+ IEnumerable grantTypes,
+ string secret = null,
+ string redirectUri = null,
+ string postLogoutRedirectUri = null,
+ string frontChannelLogoutUri = null,
+ bool requireClientSecret = true,
+ bool requirePkce = false,
+ IEnumerable permissions = null,
+ IEnumerable corsOrigins = null)
+ {
+ var client = await _clientRepository.FindByClientIdAsync(name);
+ if (client == null)
+ {
+ client = await _clientRepository.InsertAsync(
+ new Client(
+ _guidGenerator.Create(),
+ name
+ )
+ {
+ ClientName = name,
+ ProtocolType = "oidc",
+ Description = name,
+ AlwaysIncludeUserClaimsInIdToken = true,
+ AllowOfflineAccess = true,
+ AbsoluteRefreshTokenLifetime = 31536000, //365 days
+ AccessTokenLifetime = 31536000, //365 days
+ AuthorizationCodeLifetime = 300,
+ IdentityTokenLifetime = 300,
+ RequireConsent = false,
+ FrontChannelLogoutUri = frontChannelLogoutUri,
+ RequireClientSecret = requireClientSecret,
+ RequirePkce = requirePkce
+ },
+ autoSave: true
+ );
+ }
+
+ foreach (var scope in scopes)
+ {
+ if (client.FindScope(scope) == null)
+ {
+ client.AddScope(scope);
+ }
+ }
+
+ foreach (var grantType in grantTypes)
+ {
+ if (client.FindGrantType(grantType) == null)
+ {
+ client.AddGrantType(grantType);
+ }
+ }
+
+ if (!secret.IsNullOrEmpty())
+ {
+ if (client.FindSecret(secret) == null)
+ {
+ client.AddSecret(secret);
+ }
+ }
+
+ if (redirectUri != null)
+ {
+ if (client.FindRedirectUri(redirectUri) == null)
+ {
+ client.AddRedirectUri(redirectUri);
+ }
+ }
+
+ if (postLogoutRedirectUri != null)
+ {
+ if (client.FindPostLogoutRedirectUri(postLogoutRedirectUri) == null)
+ {
+ client.AddPostLogoutRedirectUri(postLogoutRedirectUri);
+ }
+ }
+
+ if (permissions != null)
+ {
+ await _permissionDataSeeder.SeedAsync(
+ ClientPermissionValueProvider.ProviderName,
+ name,
+ permissions,
+ null
+ );
+ }
+
+ if (corsOrigins != null)
+ {
+ foreach (var origin in corsOrigins)
+ {
+ if (!origin.IsNullOrWhiteSpace() && client.FindCorsOrigin(origin) == null)
+ {
+ client.AddCorsOrigin(origin);
+ }
+ }
+ }
+
+ return await _clientRepository.UpdateAsync(client);
+ }
+ }
+}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs
similarity index 95%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs
index e6ce9ce..44dfbb5 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs
@@ -44,13 +44,13 @@ namespace Win_in.Sfs.Scp.WebApi
/// 制造件(Can make)
///
[Display(Name = "制造件")]
- public bool CanMake {get;set;}
+ public bool IsMakePart { get;set;}
///
/// 采购件(Can buy)
///
[Display(Name = "采购件")]
- public bool CanBuy {get;set;}
+ public bool IsBuyPart { get;set;}
///
/// 计量单位(Uom)
@@ -88,6 +88,14 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "分组")]
public string Group {get;set;}
+
+ ///
+ /// 版本(version)
+ ///
+ [Display(Name = "版本")]
+ public string Version {get;set;}
+
+ /*
///
/// 颜色(Color)
///
@@ -106,12 +114,6 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "项目")]
public string Project {get;set;}
- ///
- /// 版本(version)
- ///
- [Display(Name = "版本")]
- public string version {get;set;}
-
///
/// 工程变更通知单(Engineering change order)
///
@@ -141,6 +143,7 @@ namespace Win_in.Sfs.Scp.WebApi
///
[Display(Name = "替代包装数量")]
public decimal ExtPackQty {get;set;}
+ */
///
/// 地点(Site)
@@ -154,4 +157,5 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "公司")]
public string Company {get;set;}
}
+
}
\ No newline at end of file
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..7861c94
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.Domain.Tests")]
+[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.TestBase")]
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs
similarity index 87%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs
index 1d6c856..0eee22c 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs
@@ -57,22 +57,16 @@ namespace Win_in.Sfs.Scp.WebApi
public DateTime DueDate { set; get; }
///
- /// 税率(TaxRate)
- ///
- [Display(Name = "税率(TaxRate)")]
- public decimal TaxRate { set; get; }
-
- ///
- /// 地点(Site)
+ /// 版本(version)
///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
+ [Display(Name = "版本")]
+ public string Version { get; set; }
///
- /// 公司(Company)
+ /// 税率(TaxRate)
///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
+ [Display(Name = "税率(TaxRate)")]
+ public decimal TaxRate { set; get; }
///
/// 联系人(ContactName)
@@ -93,7 +87,19 @@ namespace Win_in.Sfs.Scp.WebApi
public string Remark { set; get; }
- public virtual List PODetails { get; set; }
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点(Site)")]
+ public string Site { set; get; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司(Company)")]
+ public string Company { set; get; }
+
+ public virtual List Details { get; set; }
@@ -107,7 +113,7 @@ namespace Win_in.Sfs.Scp.WebApi
throw new Exception(detail.PoNumber+ detail.PoLine + "已经在明细中存在!");
}
- PODetails.Add(new PurchaseOrderDetail(guidGenerator.Create(),detail.PoNumber, detail.PoLine, detail.PartCode, detail.Uom, detail.OrderQty, detail.StdPackQty,
+ Details.Add(new PurchaseOrderDetail(guidGenerator.Create(),detail.PoNumber, detail.PoLine, detail.PartCode, detail.Uom, detail.OrderQty, detail.StdPackQty,
detail.SupplierPackConvertRate, detail.IsConsignment, detail.LineStatus, detail.Remark));
}
@@ -124,12 +130,12 @@ namespace Win_in.Sfs.Scp.WebApi
public virtual bool IsInDetails(string ponumber , string poline)
{
- return PODetails.Any(di => di.PoNumber == ponumber && di.PoLine == poline);
+ return Details.Any(di => di.PoNumber == ponumber && di.PoLine == poline);
}
public virtual bool IsInDetails(Guid itemId)
{
- return PODetails.Any(di => di.Id == itemId);
+ return Details.Any(di => di.Id == itemId);
}
public virtual bool UpdateDetail(IGuidGenerator guidGenerator, PurchaseOrderDetail detail)
@@ -154,7 +160,7 @@ namespace Win_in.Sfs.Scp.WebApi
public virtual PurchaseOrderDetail FindDetail(Guid itemId)
{
- var item = PODetails.FirstOrDefault(p => p.Id == itemId);
+ var item = Details.FirstOrDefault(p => p.Id == itemId);
return item;
}
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs
similarity index 68%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs
index 689616b..beace64 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs
@@ -8,7 +8,7 @@ namespace Win_in.Sfs.Scp.WebApi
///
/// 采购订单明细
///
- public class PurchaseOrderDetail: EntityDetailBase
+ public class PurchaseOrderDetail : EntityDetailBase
{
///
/// 订单号(PoNumber)
@@ -38,14 +38,7 @@ namespace Win_in.Sfs.Scp.WebApi
/// 订单数量(OrderQty)
///
[Display(Name = "订单数量(OrderQty)")]
- public decimal? OrderQty { set; get; }
-
- ///
- /// 已关闭数量(Closed Qty)
- ///
- [Display(Name = "已关闭数量(Closed Qty)")]
- public decimal ClosedQty { get; set; }
-
+ public decimal OrderQty { set; get; }
///
/// 标包计量单位(Standard Pack Uom)
@@ -57,25 +50,13 @@ namespace Win_in.Sfs.Scp.WebApi
/// 标包数量(Standard Pack Qty)
///
[Display(Name = "标包数量(Standard Pack Qty)")]
- public decimal? StdPackQty { set; get; }
-
- ///
- /// 供应商计量单位(SupplierPackUom)
- ///
- [Display(Name = "供应商计量单位(SupplierPackUom)")]
- public string SupplierPackUom { set; get; }
-
- ///
- /// 供应商包装数量(SupplierPackQty)
- ///
- [Display(Name = "供应商包装数量(SupplierPackQty)")]
- public decimal? SupplierPackQty { set; get; }
+ public decimal StdPackQty { set; get; }
///
/// 供应商包装转换率(SupplierPackConvertRate)
///
[Display(Name = "供应商包装转换率(SupplierPackConvertRate)")]
- public decimal? SupplierPackConvertRate { set; get; }
+ public decimal SupplierPackConvertRate { set; get; }
///
/// 是否寄存订单(IsConsignment)
@@ -99,18 +80,16 @@ namespace Win_in.Sfs.Scp.WebApi
public PurchaseOrderDetail() { }
public PurchaseOrderDetail(
- Guid id , string poNumber, string poLine,string partCode, string uom, decimal? orderQty, decimal? stdPackQty,
- decimal? supplierPackConvertRate, bool isConsignment,int lineStatus,string remark) :base(id)
+ Guid id, string poNumber, string poLine, string partCode, string uom, decimal orderQty, decimal stdPackQty,
+ decimal supplierPackConvertRate, bool isConsignment, int lineStatus, string remark)
+ : base(id)
{
PoNumber = poNumber;
PoLine = poLine;
PartCode = partCode;
Uom = uom;
OrderQty = orderQty;
- //StdPackUom = stdPackUom;
StdPackQty = stdPackQty;
- //SupplierPackUom = supplierPackUom;
- //SupplierPackQty = supplierPackQty;
SupplierPackConvertRate = supplierPackConvertRate;
IsConsignment = isConsignment;
LineStatus = lineStatus;
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs
similarity index 72%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs
index f4ee7ce..bc2f510 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs
@@ -8,7 +8,7 @@ namespace Win_in.Sfs.Scp.WebApi
///
/// 收货单与退货单明细(Receipt)
///
- public class Receipt: EntityBase
+ public class Receipt : EntityBase
{
///
/// 收货单号(RcNumber)
@@ -22,12 +22,6 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "发货单号(AsnNumber)")]
public string AsnNumber { set; get; }
- /////
- ///// 要货计划单号(RpNumber)
- /////
- //[Display(Name = "要货计划单号(RpNumber)")]
- //public string RpNumber { set; get; }
-
///
/// 订单号(PoNumber)
///
@@ -82,18 +76,6 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "收货时间(ReceiveTime)")]
public DateTime ReceiveTime { set; get; }
- ///
- /// 地点(Site)
- ///
- [Display(Name = "地点(Site)")]
- public string Site { set; get; }
-
- ///
- /// 公司(Company)
- ///
- [Display(Name = "公司(Company)")]
- public string Company { set; get; }
-
///
/// 订单行(PoLine)
///
@@ -118,54 +100,18 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "供应商批次(SupplierLot)")]
public string SupplierLot { set; get; }
- ///
- /// 生产日期(ProductionDate)
- ///
- [Display(Name = "生产日期(ProductionDate)")]
- public DateTime ProductionDate { set; get; }
-
///
/// 计量单位(Uom)
///
[Display(Name = "计量单位(Uom)")]
public string Uom { set; get; }
- /////
- ///// 发货数量(DeliverQty)
- /////
- //[Display(Name = "发货数量(DeliverQty)")]
- //public decimal DeliverQty { set; get; }
-
///
/// 收货数量(ReceiveQty)
///
[Display(Name = "收货数量(ReceiveQty)")]
public decimal ReceiveQty { set; get; }
- /////
- ///// 标包计量单位(Standard Pack Uom)
- /////
- //[Display(Name = "标包计量单位(Standard Pack Uom)")]
- //public string StdPackUom { set; get; }
-
- /////
- ///// 标包数量(Standard Pack Qty)
- /////
- //[Display(Name = "标包数量(Standard Pack Qty)")]
- //public decimal StdPackQty { set; get; }
-
- /////
- ///// 供应商计量单位(SupplierPackUom)
- /////
- //[Display(Name = "供应商计量单位(SupplierPackUom)")]
- //public string SupplierPackUom { set; get; }
-
- /////
- ///// 供应商包装数量(SupplierPackQty)
- /////
- //[Display(Name = "供应商包装数量(SupplierPackQty)")]
- //public decimal SupplierPackQty { set; get; }
-
///
/// 供应商包装转换率(SupplierPackConvertRate)
///
@@ -177,5 +123,17 @@ namespace Win_in.Sfs.Scp.WebApi
///
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
+
+ ///
+ /// 地点(Site)
+ ///
+ [Display(Name = "地点(Site)")]
+ public string Site { set; get; }
+
+ ///
+ /// 公司(Company)
+ ///
+ [Display(Name = "公司(Company)")]
+ public string Company { set; get; }
}
}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs
similarity index 65%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs
index 4a3586c..60f46a9 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs
@@ -6,9 +6,8 @@ namespace Win_in.Sfs.Scp.WebApi.Settings
{
public override void Define(ISettingDefinitionContext context)
{
- /* Define module settings here.
- * Use names from WebApiSettings class.
- */
+ //Define your own settings here. Example:
+ //context.Add(new SettingDefinition(WebApiSettings.MySetting1));
}
}
-}
\ No newline at end of file
+}
diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs
new file mode 100644
index 0000000..b6b7436
--- /dev/null
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs
@@ -0,0 +1,10 @@
+namespace Win_in.Sfs.Scp.WebApi.Settings
+{
+ public static class WebApiSettings
+ {
+ private const string Prefix = "WebApi";
+
+ //Add your own setting names here. Example:
+ //public const string MySetting1 = Prefix + ".MySetting1";
+ }
+}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/ISupplierRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs
similarity index 100%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/ISupplierRepository.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs
similarity index 99%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs
index 934fdf7..7220da9 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs
@@ -82,6 +82,12 @@ namespace Win_in.Sfs.Scp.WebApi
[Display(Name = "货币(Currency)")]
public string Currency { set; get; }
+ ///
+ /// 银行(Bank)
+ ///
+ [Display(Name = "银行(Bank)")]
+ public string Bank { set; get; }
+
///
/// 是否激活(IsActive)
///
@@ -99,11 +105,5 @@ namespace Win_in.Sfs.Scp.WebApi
///
[Display(Name = "备注(Remark)")]
public string Remark { set; get; }
-
- ///
- /// 银行(Bank)
- ///
- [Display(Name = "银行(Bank)")]
- public string Bank { set; get; }
}
}
\ No newline at end of file
diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs
similarity index 53%
rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs
rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs
index 95ed166..9e71a45 100644
--- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs
+++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs
@@ -3,7 +3,7 @@ using Volo.Abp.Domain.Repositories;
namespace Win_in.Sfs.Scp.WebApi
{
- public interface ILabelRepository : IRepository