Add project files.
This commit is contained in:
52
FA_WEB.sln
Normal file
52
FA_WEB.sln
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.12.35527.113
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaKrosnoApi", "FaKrosnoApi\FaKrosnoApi.csproj", "{E5027773-5627-42E0-A08F-6A241AE79075}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrdersManagement", "OrdersManagement\OrdersManagement.csproj", "{C9C87D21-E133-45BB-953F-5F42AEF369B5}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataModels", "DataModels", "{6607ACC9-71B9-4095-9A81-B6FBB0AAAF17}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaKrosnoEfDataModel", "FaKrosnoEfDataModel\FaKrosnoEfDataModel.csproj", "{4671E3B6-4D11-4521-A927-DC3B1072FC4A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SytelineSaAppEfDataModel", "SytelineSaAppEfDataModel\SytelineSaAppEfDataModel.csproj", "{02B7F642-62C1-4BA2-87B0-0B9214319095}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaKrosnoEfDataModelTests", "FaKrosnoEfDataModelTests\FaKrosnoEfDataModelTests.csproj", "{4D8AA0FD-6025-4D03-86B9-51CE07081D80}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E5027773-5627-42E0-A08F-6A241AE79075}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E5027773-5627-42E0-A08F-6A241AE79075}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E5027773-5627-42E0-A08F-6A241AE79075}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E5027773-5627-42E0-A08F-6A241AE79075}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C9C87D21-E133-45BB-953F-5F42AEF369B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C9C87D21-E133-45BB-953F-5F42AEF369B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C9C87D21-E133-45BB-953F-5F42AEF369B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C9C87D21-E133-45BB-953F-5F42AEF369B5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4671E3B6-4D11-4521-A927-DC3B1072FC4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4671E3B6-4D11-4521-A927-DC3B1072FC4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4671E3B6-4D11-4521-A927-DC3B1072FC4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4671E3B6-4D11-4521-A927-DC3B1072FC4A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{02B7F642-62C1-4BA2-87B0-0B9214319095}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02B7F642-62C1-4BA2-87B0-0B9214319095}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02B7F642-62C1-4BA2-87B0-0B9214319095}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02B7F642-62C1-4BA2-87B0-0B9214319095}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4D8AA0FD-6025-4D03-86B9-51CE07081D80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4D8AA0FD-6025-4D03-86B9-51CE07081D80}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4D8AA0FD-6025-4D03-86B9-51CE07081D80}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4D8AA0FD-6025-4D03-86B9-51CE07081D80}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{4671E3B6-4D11-4521-A927-DC3B1072FC4A} = {6607ACC9-71B9-4095-9A81-B6FBB0AAAF17}
|
||||
{02B7F642-62C1-4BA2-87B0-0B9214319095} = {6607ACC9-71B9-4095-9A81-B6FBB0AAAF17}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
25
FaKrosnoApi/Controllers/CustomerOrdersController.cs
Normal file
25
FaKrosnoApi/Controllers/CustomerOrdersController.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using SytelineSaAppEfDataModel.Services;
|
||||
|
||||
namespace FaKrosnoApi.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class CustomerOrdersController(ICustomerOrderService service) : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<IEnumerable<CustomerOrderDto>>> GetAll()
|
||||
{
|
||||
IEnumerable<CustomerOrderDto?> ediCustomerOrders = await service.GetAll();
|
||||
return Ok(ediCustomerOrders);
|
||||
}
|
||||
|
||||
[HttpGet("by-order-number")]
|
||||
public async Task<ActionResult<CustomerOrderDto?>> GetByCustomerOrderNumber([FromQuery] string customerOrderNumber)
|
||||
{
|
||||
CustomerOrderDto? scheduleOrder = await service.GetByOrderNumber(customerOrderNumber);
|
||||
return scheduleOrder != null ? Ok(scheduleOrder) : NotFound();
|
||||
}
|
||||
}
|
||||
}
|
||||
39
FaKrosnoApi/Controllers/EdiCustomerOrdersController.cs
Normal file
39
FaKrosnoApi/Controllers/EdiCustomerOrdersController.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using SytelineSaAppEfDataModel.Services;
|
||||
|
||||
namespace FaKrosnoApi.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class EdiCustomerOrdersController(IEdiCustomerOrderService service) : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<IEnumerable<EdiCustomerOrderDto>>> GetAll()
|
||||
{
|
||||
IEnumerable<EdiCustomerOrderDto?> ediCustomerOrders = await service.GetAll();
|
||||
return Ok(ediCustomerOrders);
|
||||
}
|
||||
|
||||
[HttpGet("by-date")]
|
||||
public async Task<ActionResult<IEnumerable<EdiCustomerOrderDto>>> GetByDate([FromQuery] DateTime date)
|
||||
{
|
||||
IEnumerable<EdiCustomerOrderDto?> scheduleOrders = await service.GetByDate(date);
|
||||
return Ok(scheduleOrders);
|
||||
}
|
||||
|
||||
[HttpGet("by-order-number")]
|
||||
public async Task<ActionResult<EdiCustomerOrderDto>> GetByCustomerOrderNumber([FromQuery] string customerOrderNumber)
|
||||
{
|
||||
EdiCustomerOrderDto? scheduleOrder = await service.GetByOrderNumber(customerOrderNumber);
|
||||
return scheduleOrder != null ? Ok(scheduleOrder) : NotFound();
|
||||
}
|
||||
|
||||
[HttpPost("send-to-syteline")]
|
||||
public async Task<ActionResult<int>> SendOrderToSyteline([FromQuery] string customerOrderNumber)
|
||||
{
|
||||
int result = await service.SendOrderToSyteline(customerOrderNumber);
|
||||
return result > 0 ? Ok() : BadRequest();
|
||||
}
|
||||
}
|
||||
}
|
||||
25
FaKrosnoApi/Controllers/ErrorLogController.cs
Normal file
25
FaKrosnoApi/Controllers/ErrorLogController.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using SytelineSaAppEfDataModel.Services;
|
||||
|
||||
namespace FaKrosnoApi.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class ErrorLogController(IErrorLogService service) : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<IEnumerable<ErrorLogDto>>> GetAll()
|
||||
{
|
||||
IEnumerable<ErrorLogDto?> errorLogs = await service.GetAll();
|
||||
return Ok(errorLogs);
|
||||
}
|
||||
|
||||
[HttpGet("by-order-number")]
|
||||
public async Task<ActionResult<IEnumerable<ErrorLogDto>>> GetByCustomerOrderNumber([FromQuery] string customerOrderNumber)
|
||||
{
|
||||
var errorLogs = await service.GetByOrderNumber(customerOrderNumber);
|
||||
return errorLogs.Any() ? Ok(errorLogs) : NotFound();
|
||||
}
|
||||
}
|
||||
}
|
||||
18
FaKrosnoApi/Controllers/ScheduleOrderDetailsController.cs
Normal file
18
FaKrosnoApi/Controllers/ScheduleOrderDetailsController.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FaKrosnoApi.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class ScheduleOrderDetailsController(IScheduleOrderDetailsService service) : Controller
|
||||
{
|
||||
[HttpGet("order/{scheduleOrderId:int}")]
|
||||
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByScheduleOrderId(int scheduleOrderId)
|
||||
{
|
||||
IEnumerable<ScheduleOrderDetailDto>? scheduleOrderDetails = await service.GetScheduleOrderDetailsAsync(scheduleOrderId);
|
||||
return Ok(scheduleOrderDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
50
FaKrosnoApi/Controllers/ScheduleOrdersController.cs
Normal file
50
FaKrosnoApi/Controllers/ScheduleOrdersController.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using AutoMapper;
|
||||
using FaKrosnoEfDataModel;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FaKrosnoApi.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
//[Authorize]
|
||||
public class ScheduleOrdersController(IScheduleOrderService service) : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetAll()
|
||||
{
|
||||
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetEntities();
|
||||
return Ok(scheduleOrders);
|
||||
}
|
||||
|
||||
[HttpGet("by-date")]
|
||||
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByDate([FromQuery] DateTime date)
|
||||
{
|
||||
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetEntitiesByLastUpdateDate(date);
|
||||
return Ok(scheduleOrders);
|
||||
}
|
||||
|
||||
[HttpGet("{id:int}")]
|
||||
public async Task<ActionResult<ScheduleOrderDto>> GetById(int id)
|
||||
{
|
||||
ScheduleOrderDto? scheduleOrder = await service.GetById(id);
|
||||
return scheduleOrder != null ? Ok(scheduleOrder) : NotFound();
|
||||
}
|
||||
|
||||
[HttpGet("recipient/{recipientId:int}")]
|
||||
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByRecipientId(int recipientId)
|
||||
{
|
||||
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetByRecipientId(recipientId);
|
||||
return Ok(scheduleOrders);
|
||||
}
|
||||
|
||||
[HttpGet("recipient/{recipientId:int}/date")]
|
||||
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByRecipientAndLastUpdateDate(int recipientId, [FromQuery] DateTime date)
|
||||
{
|
||||
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetByRecipientAndLastUpdateDate(recipientId, date);
|
||||
return Ok(scheduleOrders);
|
||||
}
|
||||
}
|
||||
}
|
||||
26
FaKrosnoApi/FaKrosnoApi.csproj
Normal file
26
FaKrosnoApi/FaKrosnoApi.csproj
Normal file
@@ -0,0 +1,26 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
|
||||
<PackageReference Include="NSwag.AspNetCore" Version="14.2.0" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FaKrosnoEfDataModel\FaKrosnoEfDataModel.csproj" />
|
||||
<ProjectReference Include="..\SytelineSaAppEfDataModel\SytelineSaAppEfDataModel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
7
FaKrosnoApi/FaKrosnoApi.http
Normal file
7
FaKrosnoApi/FaKrosnoApi.http
Normal file
@@ -0,0 +1,7 @@
|
||||
@FaKrosnoApi_HostAddress = http://localhost:5152
|
||||
|
||||
### Access Swagger UI
|
||||
GET {{FaKrosnoApi_HostAddress}}/swagger/index.html
|
||||
Accept: text/html
|
||||
|
||||
###
|
||||
73
FaKrosnoApi/Program.cs
Normal file
73
FaKrosnoApi/Program.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using System.Text;
|
||||
using FaKrosnoEfDataModel;
|
||||
using FaKrosnoEfDataModel.Services;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
using SytelineSaAppEfDataModel;
|
||||
using SytelineSaAppEfDataModel.Services;
|
||||
using FaKrosnoMappingProfile = FaKrosnoEfDataModel.MappingProfile;
|
||||
using SytelineSaAppMappingProfile = SytelineSaAppEfDataModel.MappingProfile;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddDbContext<FaKrosnoDbContext>(options =>
|
||||
options.UseSqlServer(builder.Configuration.GetConnectionString("FaKrosnoConnection")));
|
||||
builder.Services.AddDbContext<SytelineSaAppDbContext>(options =>
|
||||
options.UseSqlServer(builder.Configuration.GetConnectionString("SytelineSaAppConnection")));
|
||||
|
||||
builder.Services.AddControllers();
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddOpenApiDocument(config =>
|
||||
{
|
||||
config.Title = "FaKrosnoApi";
|
||||
config.Version = "v1";
|
||||
});
|
||||
|
||||
// Configure AutoMapper
|
||||
builder.Services.AddAutoMapper(typeof(FaKrosnoMappingProfile), typeof(SytelineSaAppMappingProfile));
|
||||
|
||||
// Configure JWT Authentication
|
||||
builder.Services.AddAuthentication(options =>
|
||||
{
|
||||
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
}).AddJwtBearer(options =>
|
||||
{
|
||||
options.TokenValidationParameters = new TokenValidationParameters
|
||||
{
|
||||
ValidateIssuer = true,
|
||||
ValidateAudience = true,
|
||||
ValidateLifetime = true,
|
||||
ValidateIssuerSigningKey = true,
|
||||
ValidIssuer = builder.Configuration["Jwt:Issuer"],
|
||||
ValidAudience = builder.Configuration["Jwt:Audience"],
|
||||
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
|
||||
};
|
||||
});
|
||||
|
||||
builder.Services.AddScoped<IScheduleOrderService, ScheduleOrderService>();
|
||||
builder.Services.AddScoped<IScheduleOrderDetailsService, ScheduleOrderDetailsService>();
|
||||
builder.Services.AddScoped<IEdiCustomerOrderService, EdiCustomerOrderService>();
|
||||
builder.Services.AddScoped<IErrorLogService, ErrorLogService>();
|
||||
builder.Services.AddScoped<ICustomerOrderService, CustomerOrderService>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
//if (app.Environment.IsDevelopment())
|
||||
//{
|
||||
app.UseOpenApi(); // Serwuje dokument OpenAPI
|
||||
app.UseSwaggerUi(); // Dodaje interfejs u¿ytkownika Swagger
|
||||
//}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapControllers();
|
||||
|
||||
app.Run();
|
||||
31
FaKrosnoApi/Properties/launchSettings.json
Normal file
31
FaKrosnoApi/Properties/launchSettings.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:16065",
|
||||
"sslPort": 0
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger/index.html",
|
||||
"applicationUrl": "http://localhost:5152",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger/index.html",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
8
FaKrosnoApi/appsettings.Development.json
Normal file
8
FaKrosnoApi/appsettings.Development.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
18
FaKrosnoApi/appsettings.json
Normal file
18
FaKrosnoApi/appsettings.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"FaKrosnoConnection": "Server=192.168.0.7;Database=fakrosnotest;User Id=sa;Password=Tetum#2021!;TrustServerCertificate=true",
|
||||
"SytelineSaAppConnection": "Server=192.168.0.7;Database=SL_PRODTEST_SA_APP;User Id=sa;Password=Tetum#2021!;TrustServerCertificate=true"
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"Jwt": {
|
||||
"Key": "ThisIsASecretKeyForJwt",
|
||||
"Issuer": "FaKrosnoApi",
|
||||
"Audience": "FaKrosnoClient"
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
7
FaKrosnoEfDataModel/Dtos/DtoBase.cs
Normal file
7
FaKrosnoEfDataModel/Dtos/DtoBase.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class DtoBase
|
||||
{
|
||||
public int ID { get; set; }
|
||||
}
|
||||
}
|
||||
14
FaKrosnoEfDataModel/Dtos/PurchaserDto.cs
Normal file
14
FaKrosnoEfDataModel/Dtos/PurchaserDto.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class PurchaserDto : DtoBase
|
||||
{
|
||||
public string PurchaserCode { get; set; }
|
||||
public string PurchaserDesc { get; set; }
|
||||
}
|
||||
}
|
||||
17
FaKrosnoEfDataModel/Dtos/RecipientDto.cs
Normal file
17
FaKrosnoEfDataModel/Dtos/RecipientDto.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class RecipientDto : DtoBase
|
||||
{
|
||||
public int PurchaserID { get; set; }
|
||||
public string RecipientCode { get; set; }
|
||||
public string RecipientDesc { get; set; }
|
||||
|
||||
public PurchaserDto Purchaser { get; set; }
|
||||
}
|
||||
}
|
||||
25
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDetailDto.cs
Normal file
25
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDetailDto.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderDetailDetailDto : DtoBase
|
||||
{
|
||||
public int ScheduleOrderDetailID { get; set; }
|
||||
public int Qty { get; set; }
|
||||
public DateTime DateFrom { get; set; }
|
||||
public DateTime DateTo { get; set; }
|
||||
public string SccType { get; set; }
|
||||
public string? SccDesc { get; set; }
|
||||
public string? QtyType { get; set; }
|
||||
public string? QtyDesc { get; set; }
|
||||
public string Status { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public DateTime LastUpdateDate { get; set; }
|
||||
|
||||
public IList<ScheduleOrderDetailDetailMiscDto> ScheduleOrderDetailDetailMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDetailMiscDto.cs
Normal file
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDetailMiscDto.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderDetailDetailMiscDto : DtoBase
|
||||
{
|
||||
public int ScheduleOrderDetailDetailID { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
19
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDto.cs
Normal file
19
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailDto.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderDetailDto : DtoBase
|
||||
{
|
||||
public int ScheduleOrderID { get; set; }
|
||||
public string Sc_productCode { get; set; }
|
||||
public string Sh_productCode { get; set; }
|
||||
public int? Price { get; set; }
|
||||
|
||||
public IList<ScheduleOrderDetailDetailDto> ScheduleOrderDetailDetails { get; set; }
|
||||
public IList<ScheduleOrderDetailMiscDto> ScheduleOrderDetailMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailMiscDto.cs
Normal file
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderDetailMiscDto.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderDetailMiscDto : DtoBase
|
||||
{
|
||||
public int ScheduleOrderDetailID { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
23
FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs
Normal file
23
FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderDto : DtoBase
|
||||
{
|
||||
public string PONum { get; set; }
|
||||
public int OrderID { get; set; }
|
||||
public int RecipientID { get; set; }
|
||||
public DateTime LastUpdateDate { get; set; }
|
||||
public int DocNumber { get; set; }
|
||||
public string? DocType { get; set; }
|
||||
|
||||
public RecipientDto Recipient { get; set; }
|
||||
|
||||
public IList<ScheduleOrderDetailDto> ScheduleOrderDetails { get; set; }
|
||||
public IList<ScheduleOrderMiscDto> ScheduleOrderMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderMiscDto.cs
Normal file
17
FaKrosnoEfDataModel/Dtos/ScheduleOrderMiscDto.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Dtos
|
||||
{
|
||||
public class ScheduleOrderMiscDto : DtoBase
|
||||
{
|
||||
public int ScheduleOrderID { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
13
FaKrosnoEfDataModel/Entities/EntityBase.cs
Normal file
13
FaKrosnoEfDataModel/Entities/EntityBase.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class EntityBase
|
||||
{
|
||||
public int ID { get; set; }
|
||||
}
|
||||
}
|
||||
15
FaKrosnoEfDataModel/Entities/Purchaser.cs
Normal file
15
FaKrosnoEfDataModel/Entities/Purchaser.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class Purchaser : EntityBase
|
||||
{
|
||||
public string PurchaserCode { get; set; }
|
||||
public string PurchaserDesc { get; set; }
|
||||
public ICollection<Recipient> Recipients { get; set; }
|
||||
}
|
||||
}
|
||||
17
FaKrosnoEfDataModel/Entities/Recipient.cs
Normal file
17
FaKrosnoEfDataModel/Entities/Recipient.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class Recipient : EntityBase
|
||||
{
|
||||
public int PurchaserID { get; set; }
|
||||
public Purchaser Purchaser { get; set; }
|
||||
public string RecipientCode { get; set; }
|
||||
public string RecipientDesc { get; set; }
|
||||
public ICollection<ScheduleOrder> ScheduleOrders { get; set; }
|
||||
}
|
||||
}
|
||||
21
FaKrosnoEfDataModel/Entities/ScheduleOrder.cs
Normal file
21
FaKrosnoEfDataModel/Entities/ScheduleOrder.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrder : EntityBase
|
||||
{
|
||||
public string PONum { get; set; }
|
||||
public int OrderID { get; set; }
|
||||
public int RecipientID { get; set; }
|
||||
public Recipient Recipient { get; set; }
|
||||
public DateTime LastUpdateDate { get; set; }
|
||||
public int DocNumber { get; set; }
|
||||
public string? DocType { get; set; }
|
||||
public ICollection<ScheduleOrderDetail> ScheduleOrderDetails { get; set; }
|
||||
public ICollection<ScheduleOrderMisc> ScheduleOrderMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
19
FaKrosnoEfDataModel/Entities/ScheduleOrderDetail.cs
Normal file
19
FaKrosnoEfDataModel/Entities/ScheduleOrderDetail.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrderDetail : EntityBase
|
||||
{
|
||||
public int ScheduleOrderID { get; set; }
|
||||
public ScheduleOrder ScheduleOrder { get; set; }
|
||||
public string Sc_productCode { get; set; }
|
||||
public string Sh_productCode { get; set; }
|
||||
public int? Price { get; set; }
|
||||
public ICollection<ScheduleOrderDetailDetail> ScheduleOrderDetailDetails { get; set; }
|
||||
public ICollection<ScheduleOrderDetailMisc> ScheduleOrderDetailMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
25
FaKrosnoEfDataModel/Entities/ScheduleOrderDetailDetail.cs
Normal file
25
FaKrosnoEfDataModel/Entities/ScheduleOrderDetailDetail.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrderDetailDetail : EntityBase
|
||||
{
|
||||
public int ScheduleOrderDetailID { get; set; }
|
||||
public ScheduleOrderDetail ScheduleOrderDetail { get; set; }
|
||||
public int Qty { get; set; }
|
||||
public DateTime DateFrom { get; set; }
|
||||
public DateTime DateTo { get; set; }
|
||||
public string SccType { get; set; }
|
||||
public string? SccDesc { get; set; }
|
||||
public string? QtyType { get; set; }
|
||||
public string? QtyDesc { get; set; }
|
||||
public string Status { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public DateTime LastUpdateDate { get; set; }
|
||||
public ICollection<ScheduleOrderDetailDetailMisc> ScheduleOrderDetailDetailMiscs { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrderDetailDetailMisc : EntityBase
|
||||
{
|
||||
public int ScheduleOrderDetailDetailID { get; set; }
|
||||
public ScheduleOrderDetailDetail ScheduleOrderDetailDetail { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
18
FaKrosnoEfDataModel/Entities/ScheduleOrderDetailMisc.cs
Normal file
18
FaKrosnoEfDataModel/Entities/ScheduleOrderDetailMisc.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrderDetailMisc : EntityBase
|
||||
{
|
||||
public int ScheduleOrderDetailID { get; set; }
|
||||
public ScheduleOrderDetail ScheduleOrderDetail { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
18
FaKrosnoEfDataModel/Entities/ScheduleOrderMisc.cs
Normal file
18
FaKrosnoEfDataModel/Entities/ScheduleOrderMisc.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Entities
|
||||
{
|
||||
public class ScheduleOrderMisc : EntityBase
|
||||
{
|
||||
public int ScheduleOrderID { get; set; }
|
||||
public ScheduleOrder ScheduleOrder { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string? Label { get; set; }
|
||||
public bool Display { get; set; }
|
||||
}
|
||||
}
|
||||
90
FaKrosnoEfDataModel/FaKrosnoDbContext.cs
Normal file
90
FaKrosnoEfDataModel/FaKrosnoDbContext.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace FaKrosnoEfDataModel
|
||||
{
|
||||
public class FaKrosnoDbContext : DbContext
|
||||
{
|
||||
public FaKrosnoDbContext(DbContextOptions<FaKrosnoDbContext> options) : base(options) { }
|
||||
|
||||
public DbSet<Purchaser> Purchasers { get; set; }
|
||||
public DbSet<Recipient> Recipients { get; set; }
|
||||
public DbSet<ScheduleOrder> ScheduleOrders { get; set; }
|
||||
public DbSet<ScheduleOrderDetail> ScheduleOrderDetails { get; set; }
|
||||
public DbSet<ScheduleOrderDetailDetail> ScheduleOrderDetailDetails { get; set; }
|
||||
public DbSet<ScheduleOrderDetailDetailMisc> ScheduleOrderDetailDetailMiscs { get; set; }
|
||||
public DbSet<ScheduleOrderDetailMisc> ScheduleOrderDetailMiscs { get; set; }
|
||||
public DbSet<ScheduleOrderMisc> ScheduleOrderMiscs { get; set; }
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("appsettings.json")
|
||||
.Build();
|
||||
|
||||
var connectionString = configuration.GetConnectionString("FaKrosnoConnection");
|
||||
optionsBuilder.UseSqlServer(connectionString, options => options.CommandTimeout(300));
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Purchaser>().ToTable("purchaser");
|
||||
|
||||
modelBuilder.Entity<Recipient>().ToTable("recipient")
|
||||
.HasOne(p => p.Purchaser)
|
||||
.WithMany(p => p.Recipients)
|
||||
.HasForeignKey(p => p.PurchaserID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrder>().ToTable("schedule_order")
|
||||
.HasOne(s => s.Recipient)
|
||||
.WithMany(r => r.ScheduleOrders)
|
||||
.HasForeignKey(s => s.RecipientID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetail>().ToTable("schedule_order_detail")
|
||||
.HasOne(s => s.ScheduleOrder)
|
||||
.WithMany(s => s.ScheduleOrderDetails)
|
||||
.HasForeignKey(s => s.ScheduleOrderID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailDetail>().ToTable("schedule_order_detail_detail")
|
||||
.HasOne(s => s.ScheduleOrderDetail)
|
||||
.WithMany(s => s.ScheduleOrderDetailDetails)
|
||||
.HasForeignKey(s => s.ScheduleOrderDetailID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailDetailMisc>().ToTable("schedule_order_detail_detail_misc")
|
||||
.HasOne(s => s.ScheduleOrderDetailDetail)
|
||||
.WithMany(s => s.ScheduleOrderDetailDetailMiscs)
|
||||
.HasForeignKey(s => s.ScheduleOrderDetailDetailID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailMisc>().ToTable("schedule_order_detail_misc")
|
||||
.HasOne(s => s.ScheduleOrderDetail)
|
||||
.WithMany(s => s.ScheduleOrderDetailMiscs)
|
||||
.HasForeignKey(s => s.ScheduleOrderDetailID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderMisc>().ToTable("schedule_order_misc")
|
||||
.HasOne(s => s.ScheduleOrder)
|
||||
.WithMany(s => s.ScheduleOrderMiscs)
|
||||
.HasForeignKey(s => s.ScheduleOrderID);
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetail>(entity => entity.Property(x => x.Price).IsRequired(false));
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailMisc>(entity => entity.Property(x => x.Label).IsRequired(false));
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailDetailMisc>(entity => entity.Property(x => x.Label).IsRequired(false));
|
||||
|
||||
modelBuilder.Entity<ScheduleOrderDetailDetail>(entity =>
|
||||
{
|
||||
entity.Property(x => x.SccDesc).IsRequired(false);
|
||||
entity.Property(x => x.QtyType).IsRequired(false);
|
||||
entity.Property(x => x.QtyDesc).IsRequired(false);
|
||||
entity.Property(x => x.ShipDate).IsRequired(false);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
31
FaKrosnoEfDataModel/FaKrosnoEfDataModel.csproj
Normal file
31
FaKrosnoEfDataModel/FaKrosnoEfDataModel.csproj
Normal file
@@ -0,0 +1,31 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="appsettings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
25
FaKrosnoEfDataModel/MappingProfile.cs
Normal file
25
FaKrosnoEfDataModel/MappingProfile.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using AutoMapper;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
|
||||
namespace FaKrosnoEfDataModel
|
||||
{
|
||||
public class MappingProfile : Profile
|
||||
{
|
||||
public MappingProfile()
|
||||
{
|
||||
CreateMap<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<Purchaser, PurchaserDto>().IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<Recipient, RecipientDto>().IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<ScheduleOrder, ScheduleOrderDto>().IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<ScheduleOrderDetail, ScheduleOrderDetailDto>().IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<ScheduleOrderDetailDetail, ScheduleOrderDetailDetailDto>().IncludeBase<EntityBase, DtoBase>()
|
||||
.ReverseMap();
|
||||
CreateMap<ScheduleOrderDetailDetailMisc, ScheduleOrderDetailDetailMiscDto>()
|
||||
.IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<ScheduleOrderDetailMisc, ScheduleOrderDetailMiscDto>().IncludeBase<EntityBase, DtoBase>()
|
||||
.ReverseMap();
|
||||
CreateMap<ScheduleOrderMisc, ScheduleOrderMiscDto>().IncludeBase<EntityBase, DtoBase>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
33
FaKrosnoEfDataModel/Queries/ScheduleOrderQueries.cs
Normal file
33
FaKrosnoEfDataModel/Queries/ScheduleOrderQueries.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Queries
|
||||
{
|
||||
public static class ScheduleOrderQueries
|
||||
{
|
||||
public static readonly Func<FaKrosnoDbContext, IEnumerable<ScheduleOrder?>> GetEntities =
|
||||
EF.CompileQuery((FaKrosnoDbContext context) => context.ScheduleOrders.Include(x => x.Recipient).ThenInclude(x => x.Purchaser)
|
||||
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailMiscs)
|
||||
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails)
|
||||
.ThenInclude(x => x.ScheduleOrderDetailDetailMiscs).Include(x => x.ScheduleOrderMiscs));
|
||||
|
||||
public static readonly Func<FaKrosnoDbContext, DateTime, IEnumerable<ScheduleOrder?>> GetEntitiesByDate =
|
||||
EF.CompileQuery((FaKrosnoDbContext context, DateTime fromDate) => context.ScheduleOrders
|
||||
.Include(x => x.Recipient).ThenInclude(x => x.Purchaser).Include(x => x.ScheduleOrderDetails)
|
||||
.ThenInclude(x => x.ScheduleOrderDetailMiscs).Include(x => x.ScheduleOrderDetails)
|
||||
.ThenInclude(x => x.ScheduleOrderDetailDetails).ThenInclude(x => x.ScheduleOrderDetailDetailMiscs)
|
||||
.Include(x => x.ScheduleOrderMiscs).Where(x => x.LastUpdateDate > fromDate));
|
||||
|
||||
public static readonly Func<FaKrosnoDbContext, int, ScheduleOrder?> GetById = EF.CompileQuery(
|
||||
(FaKrosnoDbContext context, int id) => context.ScheduleOrders.Include(x => x.Recipient).ThenInclude(x => x.Purchaser)
|
||||
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailMiscs)
|
||||
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails)
|
||||
.ThenInclude(x => x.ScheduleOrderDetailDetailMiscs).Include(x => x.ScheduleOrderMiscs)
|
||||
.FirstOrDefault(x => x.ID == id));
|
||||
}
|
||||
}
|
||||
14
FaKrosnoEfDataModel/Services/IScheduleOrderDetailsService.cs
Normal file
14
FaKrosnoEfDataModel/Services/IScheduleOrderDetailsService.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public interface IScheduleOrderDetailsService
|
||||
{
|
||||
Task<IEnumerable<ScheduleOrderDetailDto>?> GetScheduleOrderDetailsAsync(int scheduleOrderId);
|
||||
}
|
||||
}
|
||||
18
FaKrosnoEfDataModel/Services/IScheduleOrderService.cs
Normal file
18
FaKrosnoEfDataModel/Services/IScheduleOrderService.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public interface IScheduleOrderService
|
||||
{
|
||||
Task<IEnumerable<ScheduleOrderDto?>> GetEntities();
|
||||
Task<ScheduleOrderDto?> GetById(int id);
|
||||
Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientId(int recipientId);
|
||||
Task<IEnumerable<ScheduleOrderDto?>> GetEntitiesByLastUpdateDate(DateTime date);
|
||||
Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientAndLastUpdateDate(int recipientId, DateTime date);
|
||||
}
|
||||
}
|
||||
25
FaKrosnoEfDataModel/Services/ScheduleOrderDetailsService.cs
Normal file
25
FaKrosnoEfDataModel/Services/ScheduleOrderDetailsService.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using AutoMapper.QueryableExtensions;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public class ScheduleOrderDetailsService : ServiceBase<ScheduleOrderDetailDto>, IScheduleOrderDetailsService
|
||||
{
|
||||
public ScheduleOrderDetailsService(FaKrosnoDbContext context, IMapper mapper) : base(context, mapper)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDetailDto>?> GetScheduleOrderDetailsAsync(int scheduleOrderId)
|
||||
{
|
||||
return await Context.ScheduleOrderDetails.Where(x => x.ScheduleOrderID == scheduleOrderId)
|
||||
.ProjectTo<ScheduleOrderDetailDto>(Mapper.ConfigurationProvider).ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
51
FaKrosnoEfDataModel/Services/ScheduleOrderService.cs
Normal file
51
FaKrosnoEfDataModel/Services/ScheduleOrderService.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using AutoMapper;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
using FaKrosnoEfDataModel.Queries;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public class ScheduleOrderService : ServiceBase<ScheduleOrderDto>, IScheduleOrderService
|
||||
{
|
||||
public ScheduleOrderService(FaKrosnoDbContext context, IMapper mapper) : base(context, mapper)
|
||||
{
|
||||
}
|
||||
|
||||
public override async Task<ScheduleOrderDto?> GetById(int id)
|
||||
{
|
||||
var scheduleOrder = await Task.FromResult(ScheduleOrderQueries.GetById(Context, id));
|
||||
|
||||
return scheduleOrder != null ? Mapper.Map<ScheduleOrderDto>(scheduleOrder) : null;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientId(int recipientId)
|
||||
{
|
||||
IList<ScheduleOrderDto> scheduleOrders = (await GetAll()).ToList();
|
||||
|
||||
return scheduleOrders.Where(x => x?.RecipientID == recipientId);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientAndLastUpdateDate(int recipientId, DateTime date)
|
||||
{
|
||||
IList<ScheduleOrderDto?> scheduleOrders = (await GetEntitiesByLastUpdateDate(date)).ToList();
|
||||
|
||||
return scheduleOrders.Where(x => x?.RecipientID == recipientId && x.LastUpdateDate >= date);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetEntities()
|
||||
{
|
||||
IList<ScheduleOrder> scheduleOrders = await Context.ScheduleOrders.Include(x => x.Recipient)
|
||||
.ThenInclude(x => x.Purchaser).ToListAsync();
|
||||
|
||||
return Mapper.Map<IEnumerable<ScheduleOrderDto>>(scheduleOrders);
|
||||
}
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetEntitiesByLastUpdateDate(DateTime date)
|
||||
{
|
||||
IList<ScheduleOrder?> scheduleOrders =
|
||||
(await Task.FromResult(ScheduleOrderQueries.GetEntitiesByDate(Context, date))).ToList();
|
||||
|
||||
return Mapper.Map<IEnumerable<ScheduleOrderDto>>(scheduleOrders);
|
||||
}
|
||||
}
|
||||
}
|
||||
73
FaKrosnoEfDataModel/Services/ServiceBase.cs
Normal file
73
FaKrosnoEfDataModel/Services/ServiceBase.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using AutoMapper;
|
||||
using AutoMapper.Internal;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Reflection;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public class ServiceBase<T> where T : DtoBase
|
||||
{
|
||||
protected readonly FaKrosnoDbContext Context;
|
||||
protected readonly IMapper Mapper;
|
||||
protected readonly Type EntityType;
|
||||
|
||||
public ServiceBase(FaKrosnoDbContext context, IMapper mapper)
|
||||
{
|
||||
Context = context;
|
||||
Mapper = mapper;
|
||||
EntityType = FindEntityTypeForDto(typeof(T));
|
||||
}
|
||||
|
||||
public virtual async Task<T?> GetById(int id)
|
||||
{
|
||||
object? entity = await Context.FindAsync(EntityType, id);
|
||||
|
||||
if (entity != null)
|
||||
{
|
||||
return (T)Mapper.Map(entity, entity.GetType(), typeof(T));
|
||||
}
|
||||
|
||||
return default;
|
||||
}
|
||||
|
||||
public virtual async Task<IEnumerable<T>> GetAll()
|
||||
{
|
||||
MethodInfo? setMethod =
|
||||
typeof(DbContext).GetMethod("Set", Array.Empty<Type>())?.MakeGenericMethod(EntityType);
|
||||
|
||||
IQueryable? dbSet = setMethod?.Invoke(Context, null) as IQueryable;
|
||||
|
||||
if (dbSet == null)
|
||||
{
|
||||
throw new InvalidOperationException("Failed to get DbSet for entity type.");
|
||||
}
|
||||
|
||||
IList<object> entities = await Task.Run(() => dbSet.Cast<object>().ToListAsync());
|
||||
|
||||
return entities.Select(e => (T)Mapper.Map(e, e.GetType(), typeof(T)));
|
||||
}
|
||||
|
||||
private Type FindEntityTypeForDto(Type dtoType)
|
||||
{
|
||||
IGlobalConfiguration? internalApi = Mapper.ConfigurationProvider.Internal();
|
||||
|
||||
TypeMap map = internalApi.FindTypeMapFor(dtoType, null);
|
||||
|
||||
if (map != null)
|
||||
{
|
||||
return map.DestinationType;
|
||||
}
|
||||
|
||||
foreach (var typeMap in internalApi.GetAllTypeMaps())
|
||||
{
|
||||
if (typeMap.SourceType == dtoType)
|
||||
{
|
||||
return typeMap.DestinationType;
|
||||
}
|
||||
}
|
||||
|
||||
throw new InvalidOperationException($"No mapping found for DTO type: {dtoType.Name}");
|
||||
}
|
||||
}
|
||||
}
|
||||
5
FaKrosnoEfDataModel/appsettings.json
Normal file
5
FaKrosnoEfDataModel/appsettings.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"FaKrosnoConnection": "Server=192.168.0.7;Database=fakrosnotest;User Id=sa;Password=Tetum#2021!;TrustServerCertificate=true"
|
||||
}
|
||||
}
|
||||
15
FaKrosnoEfDataModelTests/FaKrosnoEfDataModelTests.csproj
Normal file
15
FaKrosnoEfDataModelTests/FaKrosnoEfDataModelTests.csproj
Normal file
@@ -0,0 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FaKrosnoEfDataModel\FaKrosnoEfDataModel.csproj" />
|
||||
<ProjectReference Include="..\SytelineSaAppEfDataModel\SytelineSaAppEfDataModel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
4
FaKrosnoEfDataModelTests/Program.cs
Normal file
4
FaKrosnoEfDataModelTests/Program.cs
Normal file
@@ -0,0 +1,4 @@
|
||||
using FaKrosnoEfDataModelTests;
|
||||
|
||||
Service service = new Service();
|
||||
await service.Process();
|
||||
57
FaKrosnoEfDataModelTests/Service.cs
Normal file
57
FaKrosnoEfDataModelTests/Service.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using FaKrosnoEfDataModel;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FaKrosnoEfDataModel.Services;
|
||||
using AutoMapper;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
using SytelineSaAppEfDataModel;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using MappingProfile = FaKrosnoEfDataModel.MappingProfile;
|
||||
using MappingProfileSl = SytelineSaAppEfDataModel.MappingProfile;
|
||||
|
||||
namespace FaKrosnoEfDataModelTests
|
||||
{
|
||||
internal class Service
|
||||
{
|
||||
public async Task Process()
|
||||
{
|
||||
Console.WriteLine("Test");
|
||||
|
||||
var config = new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.AddProfile<MappingProfile>();
|
||||
cfg.AddProfile<MappingProfileSl>();
|
||||
});
|
||||
|
||||
IMapper mapper = config.CreateMapper();
|
||||
|
||||
ServiceBase<ScheduleOrderDto> serviceBase =
|
||||
new ServiceBase<ScheduleOrderDto>(new FaKrosnoDbContext(new DbContextOptions<FaKrosnoDbContext>()), mapper);
|
||||
|
||||
IScheduleOrderService scheduleOrderService =
|
||||
new ScheduleOrderService(new FaKrosnoDbContext(new DbContextOptions<FaKrosnoDbContext>()), mapper);
|
||||
|
||||
//var entitiesByLastUpdateDate = scheduleOrderService.GetEntitiesByLastUpdateDate(new DateTime(2024, 11, 12));
|
||||
//var purchaserDtos = await scheduleOrderService.GetById(15543);
|
||||
//var byId = await serviceBase.GetById(15543);
|
||||
|
||||
SytelineSaAppEfDataModel.Services.EdiCustomerOrderService serviceBase1 =
|
||||
new SytelineSaAppEfDataModel.Services.EdiCustomerOrderService(new SytelineSaAppDbContext(new DbContextOptions<SytelineSaAppDbContext>()), mapper);
|
||||
|
||||
SytelineSaAppEfDataModel.Services.ErrorLogService serviceBase2 =
|
||||
new SytelineSaAppEfDataModel.Services.ErrorLogService(new SytelineSaAppDbContext(new DbContextOptions<SytelineSaAppDbContext>()), mapper);
|
||||
//IEnumerable<EdiCustomerOrderDto> task = await serviceBase1.GetByDate(new DateTime(2025, 1, 1));
|
||||
|
||||
//EdiCustomerOrderDto ediCustomerOrderDto = await serviceBase1.GetByOrderNumber("EDI0004323");
|
||||
|
||||
//var sendOrderToSyteline = serviceBase1.SendOrderToSyteline("EDI0004475");
|
||||
|
||||
var byOrderNumber = serviceBase2.GetByOrderNumber("EDI0004490");
|
||||
}
|
||||
}
|
||||
}
|
||||
28
OrdersManagement/Components/App.razor
Normal file
28
OrdersManagement/Components/App.razor
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<base href="/" />
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous" />
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css" rel="stylesheet" />
|
||||
<link href="_content/Blazor.Bootstrap/blazor.bootstrap.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="app.css" />
|
||||
<link rel="stylesheet" href="OrdersManagement.styles.css" />
|
||||
<HeadOutlet @rendermode="@InteractiveServer" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<Routes @rendermode="@InteractiveServer" />
|
||||
<script src="_framework/blazor.web.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
|
||||
<!-- Add chart.js reference if chart components are used in your application. -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.0.1/chart.umd.js" integrity="sha512-gQhCDsnnnUfaRzD8k1L5llCCV6O9HN09zClIzzeJ8OJ9MpGmIlCxm+pdCkqTwqJ4JcjbojFr79rl2F1mzcoLMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<!-- Add chartjs-plugin-datalabels.min.js reference if chart components with data label feature is used in your application. -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.2.0/chartjs-plugin-datalabels.min.js" integrity="sha512-JPcRR8yFa8mmCsfrw4TNte1ZvF1e3+1SdGMslZvmrzDYxS69J7J49vkFL8u6u8PlPJK+H3voElBtUCzaXj+6ig==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js"></script>
|
||||
<script src="_content/Blazor.Bootstrap/blazor.bootstrap.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
52
OrdersManagement/Components/Layout/MainLayout.razor
Normal file
52
OrdersManagement/Components/Layout/MainLayout.razor
Normal file
@@ -0,0 +1,52 @@
|
||||
@using BlazorBootstrap
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="bb-page">
|
||||
|
||||
<Sidebar @ref="sidebar"
|
||||
IconName="IconName.BootstrapFill"
|
||||
Title="Blazor Bootstrap"
|
||||
DataProvider="SidebarDataProvider" />
|
||||
|
||||
<main>
|
||||
<div class="bb-top-row px-4 d-flex justify-content-end">
|
||||
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
||||
</div>
|
||||
|
||||
<article class="content px-4">
|
||||
<div class="py-2">@Body</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
@code {
|
||||
Sidebar sidebar;
|
||||
IEnumerable<NavItem> navItems;
|
||||
|
||||
private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
|
||||
{
|
||||
if (navItems is null)
|
||||
navItems = GetNavItems();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(navItems));
|
||||
}
|
||||
|
||||
private IEnumerable<NavItem> GetNavItems()
|
||||
{
|
||||
navItems = new List<NavItem>
|
||||
{
|
||||
new NavItem { Id = "1", Href = "/", IconName = IconName.HouseDoorFill, Text = "Zamówienia DELFOR", Match=NavLinkMatch.All},
|
||||
new NavItem { Id = "2", Href = "/edicustomerorders", IconName = IconName.Database, Text = "Zamówienia klienta EDI"}
|
||||
};
|
||||
|
||||
return navItems;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
An unhandled error has occurred.
|
||||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
96
OrdersManagement/Components/Layout/MainLayout.razor.css
Normal file
96
OrdersManagement/Components/Layout/MainLayout.razor.css
Normal file
@@ -0,0 +1,96 @@
|
||||
.page {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 1px solid #d6d5d5;
|
||||
justify-content: flex-end;
|
||||
height: 3.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row ::deep .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.top-row ::deep a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media (max-width: 640.98px) {
|
||||
.top-row {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row ::deep .btn-link {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.page {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
height: 100vh;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.top-row {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.top-row.auth ::deep a:first-child {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.top-row, article {
|
||||
padding-left: 2rem !important;
|
||||
padding-right: 1.5rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
#blazor-error-ui {
|
||||
background: lightyellow;
|
||||
bottom: 0;
|
||||
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
|
||||
display: none;
|
||||
left: 0;
|
||||
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
#blazor-error-ui .dismiss {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0.75rem;
|
||||
top: 0.5rem;
|
||||
}
|
||||
30
OrdersManagement/Components/Layout/NavMenu.razor
Normal file
30
OrdersManagement/Components/Layout/NavMenu.razor
Normal file
@@ -0,0 +1,30 @@
|
||||
<div class="top-row ps-3 navbar navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="">OrdersManagement</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="checkbox" title="Navigation menu" class="navbar-toggler" />
|
||||
|
||||
<div class="nav-scrollable" onclick="document.querySelector('.navbar-toggler').click()">
|
||||
<nav class="flex-column">
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
||||
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="counter">
|
||||
<span class="bi bi-plus-square-fill-nav-menu" aria-hidden="true"></span> Counter
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="weather">
|
||||
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Weather
|
||||
</NavLink>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
105
OrdersManagement/Components/Layout/NavMenu.razor.css
Normal file
105
OrdersManagement/Components/Layout/NavMenu.razor.css
Normal file
@@ -0,0 +1,105 @@
|
||||
.navbar-toggler {
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
width: 3.5rem;
|
||||
height: 2.5rem;
|
||||
color: white;
|
||||
position: absolute;
|
||||
top: 0.5rem;
|
||||
right: 1rem;
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.navbar-toggler:checked {
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
height: 3.5rem;
|
||||
background-color: rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.bi {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
margin-right: 0.75rem;
|
||||
top: -1px;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.bi-house-door-fill-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.bi-plus-square-fill-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.bi-list-nested-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
font-size: 0.9rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.nav-item:first-of-type {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.nav-item:last-of-type {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.nav-item ::deep .nav-link {
|
||||
color: #d7d7d7;
|
||||
background: none;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 3rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav-item ::deep a.active {
|
||||
background-color: rgba(255,255,255,0.37);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.nav-item ::deep .nav-link:hover {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.nav-scrollable {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-toggler:checked ~ .nav-scrollable {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.navbar-toggler {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-scrollable {
|
||||
/* Never collapse the sidebar for wide screens */
|
||||
display: block;
|
||||
|
||||
/* Allow sidebar to scroll for tall menus */
|
||||
height: calc(100vh - 3.5rem);
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
269
OrdersManagement/Components/Pages/EdiCustomerOrder.razor
Normal file
269
OrdersManagement/Components/Pages/EdiCustomerOrder.razor
Normal file
@@ -0,0 +1,269 @@
|
||||
@page "/edicustomerorder/{CustomerOrderId}"
|
||||
|
||||
@inject EdiCustomerOrderService EdiCustomerOrderService
|
||||
@using SytelineSaAppEfDataModel.Dtos
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="row">
|
||||
<h3>Zamówienie Klienta EDI</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderDto" Data="_ediCustomerOrder">
|
||||
<ItemTemplate>
|
||||
<u>Numer zamówienia EDI:</u> <b>@context.CustomerOrderNumber</b><br />
|
||||
<u>Numer zamówienia Klienta:</u> <b>@context.CustomerPoNumber</b><br />
|
||||
<u>Numer klienta:</u> <b>@context.CustomerNumber</b><br />
|
||||
<u>Klient:</u> <b>@context.CustomerName</b><br />
|
||||
<u>Numer odbiorcy:</u> <b>@(context.CustomerSequence?.ToString() ?? "N/A")</b><br />
|
||||
<u>Data otrzymania:</u> <b>@(context.RecivedDate?.ToString("dd.MM.yyyy HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>Wysłano do Syteline?:</u> <b>@((context.Posted?.ToString() ?? "0") == "0" ? "NIE" : "TAK")</b><br />
|
||||
<u>Data wysyłki do Syteline:</u> <b>@(context.PostedDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>Data zamówienia:</u> <b>@(context.OrderDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderDto" Data="_ediCustomerOrder" Class="bg-light">
|
||||
<ItemTemplate>
|
||||
<u>Cena:</u> <b>@(context.Price?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>Waga:</u> <b>@(context.Weight?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>Magazyn:</u> <b>@context.Warehouse</b><br />
|
||||
<u>Gate:</u> <b>@context.Gate</b><br />
|
||||
<u>Kod odbiorcy:</u> <b>@context.RecipientCode</b><br />
|
||||
<u>Kod wysyłającego:</u> <b>@context.SenderCode</b><br />
|
||||
<u>Kod sprzedawcy:</u> <b>@context.SellerCode</b><br />
|
||||
<u>Kod kupującego:</u> <b>@context.BuyerCode</b><br />
|
||||
<u>Typ dokumentu:</u> <b>@context.DocType</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<SortableList TItem="EdiCustomerOrderTranslateDto" Data="_ediCustomerOrderTranslate">
|
||||
<ItemTemplate>
|
||||
<u>Id:</u> <b>@context.Id</b><br />
|
||||
<u>CoEdiOrder:</u> <b>@context.CoEdiOrder</b><br />
|
||||
<u>CoRowPointer:</u> <b>@context.CoRowPointer</b><br />
|
||||
<u>CoCoNum:</u> <b>@context.CoCoNum</b><br />
|
||||
<u>CoType:</u> <b>@context.CoType</b><br />
|
||||
<u>CoTakenBy:</u> <b>@context.CoTakenBy</b><br />
|
||||
<u>EdiCoCoNum:</u> <b>@context.EdiCoCoNum</b><br />
|
||||
<u>OrdersCount:</u> <b>@context.OrdersCount</b><br />
|
||||
<u>OrderFound:</u> <b>@context.OrderFound</b><br />
|
||||
<u>CreatedDate:</u> <b>@context.CreatedDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br />
|
||||
<u>FoundNumbers:</u> <b>@context.FoundNumbers</b><br />
|
||||
<u>ScheduleOrderId:</u> <b>@context.ScheduleOrderId</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
<br />
|
||||
<div class="row">
|
||||
<h3>Indeksy</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<Grid @ref="_ediCustomerOrderLinesGrid"
|
||||
TItem="EdiCustomerOrderLineDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
Data="_ediCustomerOrderLines"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedEdiCustomerOrderLineChanged">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="CoLine" PropertyName="CoLine">
|
||||
@context.CustomerOrderLine
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="SalesChannelProductCode" PropertyName="SalesChannelProductCode">
|
||||
@context.Item
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="ShipperProductCode" PropertyName="ShipperProductCode">
|
||||
@context.CustomerItemNumber
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Qty" TextAlignment="Alignment.End" PropertyName="Qty">
|
||||
@context.BlanketQty
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Address" PropertyName="Address">
|
||||
@context.Address
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="BoxType" PropertyName="BoxType">
|
||||
@context.BoxType
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="FinalDestination" PropertyName="FinalDestination">
|
||||
@context.FinalDestination
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="QtyPerBox" PropertyName="QtyPerBox">
|
||||
@context.QtyPerBox
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
@if (_isVisibleEdiCustomerOrderLine)
|
||||
{
|
||||
<div class="row">
|
||||
<h3>Szczegóły</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderLineDto" Data="_selectedEdiCustomerOrderLine">
|
||||
<ItemTemplate>
|
||||
<u>CustomerOrderNumber:</u> <b>@context.CustomerOrderNumber</b><br />
|
||||
<u>CustomerOrderLine:</u> <b>@context.CustomerOrderLine</b><br />
|
||||
<u>Item:</u> <b>@context.Item</b><br />
|
||||
<u>CustomerItemNumber:</u> <b>@context.CustomerItemNumber</b><br />
|
||||
<u>BlanketQty:</u> <b>@(context.BlanketQty?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>EffectiveDate:</u> <b>@(context.EffectiveDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>ExpirationDate:</u> <b>@(context.ExpirationDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>ContPrice:</u> <b>@(context.ContPrice?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>Status:</u> <b>@context.Status</b><br />
|
||||
<u>Uom:</u> <b>@context.Uom</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderLineDto" Data="_selectedEdiCustomerOrderLine">
|
||||
<ItemTemplate>
|
||||
<u>BlanketQtyReleased:</u> <b>@(context.BlanketQtyReleased?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>ContPriceReleased:</u> <b>@(context.ContPriceReleased?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>QtySent:</u> <b>@(context.QtySent?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>RecordDate:</u> <b>@context.RecordDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br />
|
||||
<u>Description:</u> <b>@context.Description</b><br />
|
||||
<u>CreateDate:</u> <b>@context.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br />
|
||||
<u>BoxType:</u> <b>@context.BoxType</b><br />
|
||||
<u>Address:</u> <b>@context.Address</b><br />
|
||||
<u>FinalDestination:</u> <b>@context.FinalDestination</b><br />
|
||||
<u>QtyPerBox:</u> <b>@(context.QtyPerBox?.ToString() ?? "N/A")</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h3>Harmonogramy</h3>
|
||||
<div class="row">
|
||||
<Grid @ref="_ediCustomerOrderLineItemsGrid"
|
||||
TItem="EdiCustomerOrderLineItemDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
Data="_ediCustomerOrderLineItems"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedEdiCustomerOrderLineItemChanged">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Id" PropertyName="Id">
|
||||
@context.CustomerOrderRelease
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Quantity Ordered" TextAlignment="Alignment.End" PropertyName="Quantity Ordered">
|
||||
@context.QtyOrdered
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Due Date" PropertyName="Due Date">
|
||||
@context.DueDate?.ToString("yyyy-MM-dd")
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="RoutingCode" PropertyName="RoutingCode">
|
||||
@context.RoutingCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="PalletCode" PropertyName="PalletCode">
|
||||
@context.PalletCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="UnloadingPoint" PropertyName="UnloadingPoint">
|
||||
@context.UnloadingPoint
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="DestinationPoint" PropertyName="DestinationPoint">
|
||||
@context.DestinationPoint
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
}@if (_isVisibleEdiCustomerOrderLineItem)
|
||||
{
|
||||
<div class="row">
|
||||
<h3>Szczegóły</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
|
||||
<ItemTemplate>
|
||||
<u>ReceivedDate:</u> <b>@(context.ReceivedDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>CustomerOrderNumber:</u> <b>@context.CustomerOrderNumber</b><br />
|
||||
<u>CustomerOrderLine:</u> <b>@context.CustomerOrderLine</b><br />
|
||||
<u>CustomerOrderRelease:</u> <b>@context.CustomerOrderRelease</b><br />
|
||||
<u>Item:</u> <b>@context.Item</b><br />
|
||||
<u>CustomerItem:</u> <b>@context.CustomerItem</b><br />
|
||||
<u>QtyOrdered:</u> <b>@(context.QtyOrdered?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>QtyReady:</u> <b>@(context.QtyReady?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>Cost:</u> <b>@(context.Cost?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>Price:</u> <b>@(context.Price?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>DueDate:</u> <b>@(context.DueDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>ReleaseDate:</u> <b>@(context.ReleaseDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
|
||||
<u>Warehouse:</u> <b>@context.Warehouse</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
|
||||
<ItemTemplate>
|
||||
<u>TaxCodeOne:</u> <b>@context.TaxCodeOne</b><br />
|
||||
<u>Uom:</u> <b>@context.Uom</b><br />
|
||||
<u>QtyOrderedReleased:</u> <b>@(context.QtyOrderedReleased?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>PriceReleased:</u> <b>@(context.PriceReleased?.ToString("F2") ?? "N/A")</b><br />
|
||||
<u>CustomerOrderCustomerNumber:</u> <b>@context.CustomerOrderCustomerNumber</b><br />
|
||||
<u>Description:</u> <b>@context.Description</b><br />
|
||||
<u>CreateDate:</u> <b>@context.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br />
|
||||
<u>RoutingCode:</u> <b>@context.RoutingCode</b><br />
|
||||
<u>DeliveryCallNumber:</u> <b>@context.DeliveryCallNumber</b><br />
|
||||
<u>UnloadingPoint:</u> <b>@context.UnloadingPoint</b><br />
|
||||
<u>DestinationPoint:</u> <b>@context.DestinationPoint</b><br />
|
||||
<u>PalletCode:</u> <b>@context.PalletCode</b><br />
|
||||
<u>PalletNumber:</u> <b>@context.PalletNumber</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@code {
|
||||
|
||||
[Parameter]
|
||||
public string CustomerOrderId { get; set; } = string.Empty;
|
||||
|
||||
List<EdiCustomerOrderDto?>? _ediCustomerOrder;
|
||||
List<EdiCustomerOrderTranslateDto?> _ediCustomerOrderTranslate = new();
|
||||
List<EdiCustomerOrderLineDto> _ediCustomerOrderLines = new();
|
||||
List<EdiCustomerOrderLineItemDto> _ediCustomerOrderLineItems = new();
|
||||
|
||||
List<EdiCustomerOrderLineDto?> _selectedEdiCustomerOrderLine = new();
|
||||
List<EdiCustomerOrderLineItemDto?> _selectedEdiCustomerOrderLineItem = new();
|
||||
|
||||
Grid<EdiCustomerOrderLineDto>? _ediCustomerOrderLinesGrid;
|
||||
Grid<EdiCustomerOrderLineItemDto>? _ediCustomerOrderLineItemsGrid;
|
||||
|
||||
private bool _isVisibleEdiCustomerOrderLine;
|
||||
private bool _isVisibleEdiCustomerOrderLineItem;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
EdiCustomerOrderDto? ediCustomerOrder = await EdiCustomerOrderService.GetEdiCustomerOrderAsync(CustomerOrderId);
|
||||
|
||||
_ediCustomerOrder = new List<EdiCustomerOrderDto?> { ediCustomerOrder };
|
||||
_ediCustomerOrderLines = ediCustomerOrder?.EdiCustomerOrderLines.ToList() ?? new List<EdiCustomerOrderLineDto>();
|
||||
_ediCustomerOrderTranslate = new List<EdiCustomerOrderTranslateDto?> { ediCustomerOrder?.EdiCustomerOrderTranslates.MaxBy(x => x.CreatedDate) };
|
||||
}
|
||||
|
||||
private void SelectedEdiCustomerOrderLineChanged(HashSet<EdiCustomerOrderLineDto> obj)
|
||||
{
|
||||
_isVisibleEdiCustomerOrderLine = obj.Any();
|
||||
_selectedEdiCustomerOrderLine = new List<EdiCustomerOrderLineDto?> { obj.FirstOrDefault() };
|
||||
_ediCustomerOrderLineItems = obj.FirstOrDefault()?.EdiCustomerOrderLineItems.ToList() ?? new List<EdiCustomerOrderLineItemDto>();
|
||||
}
|
||||
|
||||
private void SelectedEdiCustomerOrderLineItemChanged(HashSet<EdiCustomerOrderLineItemDto> obj)
|
||||
{
|
||||
_isVisibleEdiCustomerOrderLineItem = obj.Any();
|
||||
_selectedEdiCustomerOrderLineItem = new List<EdiCustomerOrderLineItemDto?> { obj.FirstOrDefault() };
|
||||
}
|
||||
}
|
||||
161
OrdersManagement/Components/Pages/EdiCustomerOrders.razor
Normal file
161
OrdersManagement/Components/Pages/EdiCustomerOrders.razor
Normal file
@@ -0,0 +1,161 @@
|
||||
@page "/edicustomerorders"
|
||||
|
||||
@inject EdiCustomerOrderService EdiCustomerOrderService
|
||||
@inject NavigationManager NavigationManager
|
||||
@using SytelineSaAppEfDataModel.Dtos
|
||||
@using FaKrosnoApi.Dtos
|
||||
@using OrdersManagement.Dtos
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="row">
|
||||
<h3>EdiCustomerOrders</h3>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Switch ValueExpression="() => _filter" ValueChanged="FilterChanged" Label="Pokaż tylko niezaksięgowane" />
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Button Color="ButtonColor.Primary" @onclick="SendOrderToSyteLine">Księguj bieżący</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<br />
|
||||
<div class="row">
|
||||
<Grid @ref="_grid"
|
||||
TItem="EdiCustomerOrderDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="EdiCustomerOrdersDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
OnRowDoubleClick="OnRowDoubleClick"
|
||||
SelectedItemsChanged="SelectedItemsChanged">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="CO Number" PropertyName="CoNumber">
|
||||
@context.CustomerOrderNumber
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Customer Number" PropertyName="CustNum">
|
||||
@context.CustomerNumber
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Recipient" PropertyName="Recipient">
|
||||
@context.CustomerSequence
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Last Update Date" PropertyName="LastUpdateDate">
|
||||
@context.CreateDate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Gate" PropertyName="Gate">
|
||||
@context.Gate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="RecipientCode" PropertyName="RecipientCode">
|
||||
@context.RecipientCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="SellerCode" PropertyName="SellerCode">
|
||||
@context.SellerCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="SenderCode" PropertyName="SenderCode">
|
||||
@context.SenderCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="BuyerCode" PropertyName="BuyerCode">
|
||||
@context.BuyerCode
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
|
||||
<Modal @ref="_modal" Title="@_modalDto.Title">
|
||||
<BodyTemplate>
|
||||
@_modalDto.Body
|
||||
</BodyTemplate>
|
||||
<FooterTemplate>
|
||||
<Button Color="ButtonColor.Primary" @onclick="OnHideModalClick">OK</Button>
|
||||
</FooterTemplate>
|
||||
</Modal>
|
||||
|
||||
@code {
|
||||
Grid<EdiCustomerOrderDto>? _grid;
|
||||
private IEnumerable<EdiCustomerOrderDto>? _ediCustomerOrders;
|
||||
|
||||
private EdiCustomerOrderDto? _selectedEdiCustomerOrder;
|
||||
|
||||
private Modal _modal = default!;
|
||||
private ModalDto _modalDto = new(null, null);
|
||||
|
||||
private bool _isVisible;
|
||||
private bool _filter;
|
||||
|
||||
// protected override async Task OnInitializedAsync()
|
||||
// {
|
||||
// _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List<EdiCustomerOrderDto>();
|
||||
// _ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList();
|
||||
// }
|
||||
|
||||
private async Task<GridDataProviderResult<EdiCustomerOrderDto>> EdiCustomerOrdersDataProvider(GridDataProviderRequest<EdiCustomerOrderDto> request)
|
||||
{
|
||||
_ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List<EdiCustomerOrderDto>();
|
||||
_ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList();
|
||||
|
||||
if (_filter)
|
||||
{
|
||||
_ediCustomerOrders = _ediCustomerOrders.Where(x => x.Posted == 0).ToList();
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_ediCustomerOrders));
|
||||
}
|
||||
|
||||
private void OnRowDoubleClick(GridRowEventArgs<EdiCustomerOrderDto> obj)
|
||||
{
|
||||
string customerOrderId = obj.Item.CustomerOrderNumber;
|
||||
|
||||
NavigationManager.NavigateTo($"/edicustomerorder/{customerOrderId}");
|
||||
}
|
||||
|
||||
private async void SendOrderToSyteLine()
|
||||
{
|
||||
if (_selectedEdiCustomerOrder == null) return;
|
||||
|
||||
ResponseDto response = await EdiCustomerOrderService.SendOrderToSyteline(_selectedEdiCustomerOrder.CustomerOrderNumber);
|
||||
|
||||
if (response.Status == 1)
|
||||
{
|
||||
_modalDto = new ModalDto("Wysłano", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} zostało poprawnie zaksięgowane w Zamówieniach klienta pod numerem '{_selectedEdiCustomerOrder.EdiCustomerOrderTranslates.FirstOrDefault()?.CoCoNum}'");
|
||||
await _modal.ShowAsync();
|
||||
|
||||
_grid?.RefreshDataAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
_modalDto = new ModalDto("Błąd", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} nie zostało poprawnie zaksięgowane w Zamówieniach klienta.{Environment.NewLine}Lista błędów:{Environment.NewLine}{response.Message}");
|
||||
await _modal.ShowAsync();
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectedItemsChanged(HashSet<EdiCustomerOrderDto> obj)
|
||||
{
|
||||
_selectedEdiCustomerOrder = obj.FirstOrDefault() ?? null;
|
||||
_isVisible = _selectedEdiCustomerOrder?.Posted == 0;
|
||||
}
|
||||
|
||||
private async Task OnHideModalClick()
|
||||
{
|
||||
await _modal.HideAsync();
|
||||
}
|
||||
|
||||
private void FilterChanged(bool obj)
|
||||
{
|
||||
_filter = obj;
|
||||
_grid?.RefreshDataAsync();
|
||||
}
|
||||
|
||||
}
|
||||
36
OrdersManagement/Components/Pages/Error.razor
Normal file
36
OrdersManagement/Components/Pages/Error.razor
Normal file
@@ -0,0 +1,36 @@
|
||||
@page "/Error"
|
||||
@using System.Diagnostics
|
||||
|
||||
<PageTitle>Error</PageTitle>
|
||||
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
@if (ShowRequestId)
|
||||
{
|
||||
<p>
|
||||
<strong>Request ID:</strong> <code>@RequestId</code>
|
||||
</p>
|
||||
}
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
<p>
|
||||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
||||
It can result in displaying sensitive information from exceptions to end users.
|
||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
||||
and restarting the app.
|
||||
</p>
|
||||
|
||||
@code{
|
||||
[CascadingParameter]
|
||||
private HttpContext? HttpContext { get; set; }
|
||||
|
||||
private string? RequestId { get; set; }
|
||||
private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||
|
||||
protected override void OnInitialized() =>
|
||||
RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
|
||||
}
|
||||
135
OrdersManagement/Components/Pages/ScheduleOrderDetails.razor
Normal file
135
OrdersManagement/Components/Pages/ScheduleOrderDetails.razor
Normal file
@@ -0,0 +1,135 @@
|
||||
@page "/details/{ScheduleOrderId:int}"
|
||||
|
||||
@inject ScheduleOrderDetailsService ScheduleOrderDetailsService
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-4 bg-light" style="min-height: 150vh;">
|
||||
<h2 style="margin: 5px">Indeksy:</h2>
|
||||
<Grid @ref="_grid"
|
||||
TItem="ScheduleOrderDetailDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="ScheduleOrderDetailsDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedItemChanged">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="Id" PropertyName="Id">
|
||||
@context.ID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="SalesChannelProductCode" PropertyName="SalesChannelProductCode">
|
||||
@context.Sc_productCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="ShipperProductCode" PropertyName="ShipperProductCode">
|
||||
@context.Sh_productCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="Price" PropertyName="Price">
|
||||
@context.Price
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div id="rightTopContainer" class="col-12 bg-light" style="height: auto;">
|
||||
<h2 style="margin: 5px">Dodatkowe informacje:</h2>
|
||||
<SortableList TItem="ScheduleOrderDetailMiscDto" Data="_scheduleOrderDetailMiscs">
|
||||
<ItemTemplate>
|
||||
<u>@context.Label:</u> <b>@context.Value</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div id="rightBottomContainer" class="col-12 bg-light">
|
||||
<h2 style="margin: 5px">Harmonogramy:</h2>
|
||||
<Grid @ref="_detailDetailsGrid"
|
||||
TItem="ScheduleOrderDetailDetailDto"
|
||||
Data="_scheduleOrderDetailsDetails"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedDetailDetailChanged">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Id" PropertyName="Id">
|
||||
@context.ID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="DateFrom" PropertyName="DateFrom">
|
||||
@context.DateFrom
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="DateTo" PropertyName="DateTo">
|
||||
@context.DateTo
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Qty" PropertyName="Qty">
|
||||
@context.Qty
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
@if (_isVisibleDetailDetail)
|
||||
{
|
||||
<div id="rightTopContainer" class="col-12 bg-light" style="height: auto;">
|
||||
<h2 style="margin: 5px">Dodatkowe informacje:</h2>
|
||||
<SortableList TItem="ScheduleOrderDetailDetailMiscDto" Data="_scheduleOrderDetailDetailMiscs">
|
||||
<ItemTemplate>
|
||||
<u>@context.Label:</u> <b>@context.Value</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int ScheduleOrderId { get; set; }
|
||||
private bool _isVisible;
|
||||
private bool _isVisibleDetailDetail;
|
||||
|
||||
Grid<ScheduleOrderDetailDto>? _grid;
|
||||
Grid<ScheduleOrderDetailDetailDto>? _detailDetailsGrid;
|
||||
|
||||
private IEnumerable<ScheduleOrderDetailDto>? _scheduleOrderDetails;
|
||||
private IEnumerable<ScheduleOrderDetailDetailDto>? _scheduleOrderDetailsDetails;
|
||||
|
||||
private List<ScheduleOrderDetailMiscDto>? _scheduleOrderDetailMiscs;
|
||||
private List<ScheduleOrderDetailDetailMiscDto>? _scheduleOrderDetailDetailMiscs;
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDetailDto>> ScheduleOrderDetailsDataProvider(GridDataProviderRequest<ScheduleOrderDetailDto> request)
|
||||
{
|
||||
_scheduleOrderDetails = await ScheduleOrderDetailsService.GetScheduleOrderDetails(ScheduleOrderId) ?? new List<ScheduleOrderDetailDto>();
|
||||
StateHasChanged();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_scheduleOrderDetails));
|
||||
}
|
||||
|
||||
private void SelectedItemChanged(HashSet<ScheduleOrderDetailDto> obj)
|
||||
{
|
||||
_isVisible = obj.Any();
|
||||
_scheduleOrderDetailMiscs = obj.FirstOrDefault()?.ScheduleOrderDetailMiscs.ToList();
|
||||
_scheduleOrderDetailsDetails = obj.FirstOrDefault()?.ScheduleOrderDetailDetails.ToList();
|
||||
}
|
||||
|
||||
private void SelectedDetailDetailChanged(HashSet<ScheduleOrderDetailDetailDto> obj)
|
||||
{
|
||||
_isVisibleDetailDetail = obj.Any();
|
||||
_scheduleOrderDetailDetailMiscs = obj.FirstOrDefault()?.ScheduleOrderDetailDetailMiscs.ToList();
|
||||
}
|
||||
|
||||
}
|
||||
62
OrdersManagement/Components/Pages/ScheduleOrders.razor
Normal file
62
OrdersManagement/Components/Pages/ScheduleOrders.razor
Normal file
@@ -0,0 +1,62 @@
|
||||
@page "/"
|
||||
|
||||
@inject ScheduleOrderService ScheduleOrderService
|
||||
@inject NavigationManager NavigationManager
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<h3>ScheduleOrders</h3>
|
||||
|
||||
<Grid @ref="_grid"
|
||||
TItem="ScheduleOrderDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="ScheduleOrdersDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
OnRowDoubleClick="OnRowDoubleClick">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Id" PropertyName="Id">
|
||||
@context.ID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="OrderID" PropertyName="OrderID">
|
||||
@context.OrderID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="PO Number" PropertyName="PONum">
|
||||
@context.PONum
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Recipient" PropertyName="Recipient">
|
||||
@context.Recipient.RecipientCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Purchaser" Filterable="true" PropertyName="Purchaser">
|
||||
@context.Recipient.Purchaser.PurchaserCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Last Update Date" PropertyName="LastUpdateDate">
|
||||
@context.LastUpdateDate
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
|
||||
@code {
|
||||
Grid<ScheduleOrderDto>? _grid;
|
||||
private IEnumerable<ScheduleOrderDto>? _scheduleOrders;
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDto>> ScheduleOrdersDataProvider(GridDataProviderRequest<ScheduleOrderDto> request)
|
||||
{
|
||||
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List<ScheduleOrderDto>();
|
||||
_scheduleOrders = _scheduleOrders.OrderByDescending(x => x.LastUpdateDate).ToList();
|
||||
StateHasChanged();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_scheduleOrders));
|
||||
}
|
||||
|
||||
private void OnRowDoubleClick(GridRowEventArgs<ScheduleOrderDto> obj)
|
||||
{
|
||||
int scheduleOrderId = obj.Item.ID;
|
||||
|
||||
NavigationManager.NavigateTo($"/details/{scheduleOrderId}");
|
||||
}
|
||||
}
|
||||
7
OrdersManagement/Components/Routes.razor
Normal file
7
OrdersManagement/Components/Routes.razor
Normal file
@@ -0,0 +1,7 @@
|
||||
@using OrdersManagement.Components.Layout
|
||||
<Router AppAssembly="@typeof(Program).Assembly">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(Layout.MainLayout)" />
|
||||
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
|
||||
</Found>
|
||||
</Router>
|
||||
11
OrdersManagement/Components/_Imports.razor
Normal file
11
OrdersManagement/Components/_Imports.razor
Normal file
@@ -0,0 +1,11 @@
|
||||
@using System.Net.Http
|
||||
@using System.Net.Http.Json
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using static Microsoft.AspNetCore.Components.Web.RenderMode
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.JSInterop
|
||||
@using BlazorBootstrap;
|
||||
@using FaKrosnoEfDataModel.Dtos
|
||||
@using OrdersManagement.Services
|
||||
8
OrdersManagement/Dtos/ModalDto.cs
Normal file
8
OrdersManagement/Dtos/ModalDto.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace OrdersManagement.Dtos
|
||||
{
|
||||
public class ModalDto(string? title, string? body)
|
||||
{
|
||||
public string? Title { get; set; } = title;
|
||||
public string? Body { get; set; } = body;
|
||||
}
|
||||
}
|
||||
16
OrdersManagement/Dtos/ResponseDto.cs
Normal file
16
OrdersManagement/Dtos/ResponseDto.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace FaKrosnoApi.Dtos
|
||||
{
|
||||
public class ResponseDto
|
||||
{
|
||||
public int Status { get; set; }
|
||||
public string Identifier { get; set; }
|
||||
public string? Message { get; set; }
|
||||
|
||||
public ResponseDto(int status, string identifier, string? message)
|
||||
{
|
||||
Status = status;
|
||||
Identifier = identifier;
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
36
OrdersManagement/OrdersManagement.csproj
Normal file
36
OrdersManagement/OrdersManagement.csproj
Normal file
@@ -0,0 +1,36 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Blazor.Bootstrap" Version="3.2.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FaKrosnoEfDataModel\FaKrosnoEfDataModel.csproj" />
|
||||
<ProjectReference Include="..\SytelineSaAppEfDataModel\SytelineSaAppEfDataModel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Update="Components\App.razor">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
</Content>
|
||||
<Content Update="Components\Layout\MainLayout.razor">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
</Content>
|
||||
<Content Update="Components\Pages\Error.razor">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
</Content>
|
||||
<Content Update="Components\Routes.razor">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
</Content>
|
||||
<Content Update="Components\_Imports.razor">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
39
OrdersManagement/Program.cs
Normal file
39
OrdersManagement/Program.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Microsoft.AspNetCore.Routing.Constraints;
|
||||
using OrdersManagement.Components;
|
||||
using OrdersManagement.Services;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
builder.Services.AddBlazorBootstrap();
|
||||
|
||||
string apiUrl = builder.Configuration["ApiUrl"] ?? "http://localhost:5000"; // Ustawienie na adres twojego API
|
||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(apiUrl) });
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddRazorComponents()
|
||||
.AddInteractiveServerComponents();
|
||||
|
||||
builder.Services.AddScoped<ScheduleOrderService>();
|
||||
builder.Services.AddScoped<ScheduleOrderDetailsService>();
|
||||
builder.Services.AddScoped<EdiCustomerOrderService>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error", createScopeForErrors: true);
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseStaticFiles();
|
||||
app.UseAntiforgery();
|
||||
|
||||
app.MapRazorComponents<App>()
|
||||
.AddInteractiveServerRenderMode();
|
||||
|
||||
app.Run();
|
||||
|
||||
38
OrdersManagement/Properties/launchSettings.json
Normal file
38
OrdersManagement/Properties/launchSettings.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:61370",
|
||||
"sslPort": 44319
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "http://localhost:5295",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "https://localhost:7215;http://localhost:5295",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
41
OrdersManagement/Services/EdiCustomerOrderService.cs
Normal file
41
OrdersManagement/Services/EdiCustomerOrderService.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using FaKrosnoApi.Dtos;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace OrdersManagement.Services
|
||||
{
|
||||
public class EdiCustomerOrderService(HttpClient httpClient)
|
||||
{
|
||||
public async Task<IEnumerable<EdiCustomerOrderDto>?> GetEdiCustomerOrdersAsync()
|
||||
{
|
||||
return await httpClient.GetFromJsonAsync<IEnumerable<EdiCustomerOrderDto>>("api/EdiCustomerOrders");
|
||||
}
|
||||
|
||||
public async Task<EdiCustomerOrderDto?> GetEdiCustomerOrderAsync(string customerOrderNumber)
|
||||
{
|
||||
return await httpClient.GetFromJsonAsync<EdiCustomerOrderDto>(
|
||||
$"api/EdiCustomerOrders/by-order-number/?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}");
|
||||
}
|
||||
|
||||
public async Task<ResponseDto> SendOrderToSyteline(string customerOrderNumber)
|
||||
{
|
||||
HttpResponseMessage responseMessage = await httpClient.PostAsync(
|
||||
$"api/EdiCustomerOrders/send-to-syteline?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}", null);
|
||||
|
||||
if (responseMessage.IsSuccessStatusCode)
|
||||
{
|
||||
return new ResponseDto(1, customerOrderNumber, null);
|
||||
}
|
||||
|
||||
string? errorMessage = null;
|
||||
IEnumerable<ErrorLogDto>? logs = await httpClient.GetFromJsonAsync<IEnumerable<ErrorLogDto>>(
|
||||
$"api/ErrorLog/by-order-number/?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}");
|
||||
|
||||
if (logs != null)
|
||||
{
|
||||
errorMessage = string.Join("\r\n", logs.Select(x => x.ErrMsg));
|
||||
}
|
||||
|
||||
return new ResponseDto(0, customerOrderNumber, errorMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
13
OrdersManagement/Services/ScheduleOrderDetailsService.cs
Normal file
13
OrdersManagement/Services/ScheduleOrderDetailsService.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
|
||||
namespace OrdersManagement.Services
|
||||
{
|
||||
public class ScheduleOrderDetailsService(HttpClient httpClient)
|
||||
{
|
||||
public async Task<IEnumerable<ScheduleOrderDetailDto>?> GetScheduleOrderDetails(int scheduleOrderId)
|
||||
{
|
||||
return await httpClient.GetFromJsonAsync<IEnumerable<ScheduleOrderDetailDto>>(
|
||||
$"api/scheduleOrderDetails/order/{scheduleOrderId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
12
OrdersManagement/Services/ScheduleOrderService.cs
Normal file
12
OrdersManagement/Services/ScheduleOrderService.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
|
||||
namespace OrdersManagement.Services
|
||||
{
|
||||
public class ScheduleOrderService(HttpClient httpClient)
|
||||
{
|
||||
public async Task<IEnumerable<ScheduleOrderDto>?> GetScheduleOrdersAsync()
|
||||
{
|
||||
return await httpClient.GetFromJsonAsync<IEnumerable<ScheduleOrderDto>>("api/ScheduleOrders");
|
||||
}
|
||||
}
|
||||
}
|
||||
8
OrdersManagement/appsettings.Development.json
Normal file
8
OrdersManagement/appsettings.Development.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
9
OrdersManagement/appsettings.json
Normal file
9
OrdersManagement/appsettings.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
51
OrdersManagement/wwwroot/app.css
Normal file
51
OrdersManagement/wwwroot/app.css
Normal file
@@ -0,0 +1,51 @@
|
||||
html, body {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
a, .btn-link {
|
||||
color: #006bb7;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
color: #fff;
|
||||
background-color: #1b6ec2;
|
||||
border-color: #1861ac;
|
||||
}
|
||||
|
||||
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
|
||||
box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding-top: 1.1rem;
|
||||
}
|
||||
|
||||
h1:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.valid.modified:not([type=checkbox]) {
|
||||
outline: 1px solid #26b050;
|
||||
}
|
||||
|
||||
.invalid {
|
||||
outline: 1px solid #e50000;
|
||||
}
|
||||
|
||||
.validation-message {
|
||||
color: #e50000;
|
||||
}
|
||||
|
||||
.blazor-error-boundary {
|
||||
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
|
||||
padding: 1rem 1rem 1rem 3.7rem;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.blazor-error-boundary::after {
|
||||
content: "An error has occurred."
|
||||
}
|
||||
|
||||
.darker-border-checkbox.form-check-input {
|
||||
border-color: #929292;
|
||||
}
|
||||
125
SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs
Normal file
125
SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class CustomerOrderDto
|
||||
{
|
||||
public string Type { get; set; }
|
||||
public string CoNum { get; set; }
|
||||
public string EstNum { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustSeq { get; set; }
|
||||
public string Contact { get; set; }
|
||||
public string Phone { get; set; }
|
||||
public string CustPo { get; set; }
|
||||
public DateTime OrderDate { get; set; }
|
||||
public string TakenBy { get; set; }
|
||||
public string TermsCode { get; set; }
|
||||
public string ShipCode { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public decimal? Weight { get; set; }
|
||||
public short? QtyPackages { get; set; }
|
||||
public decimal? Freight { get; set; }
|
||||
public decimal? MiscCharges { get; set; }
|
||||
public decimal? PrepaidAmt { get; set; }
|
||||
public decimal? SalesTax { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public DateTime? CloseDate { get; set; }
|
||||
public decimal? FreightT { get; set; }
|
||||
public decimal? MChargesT { get; set; }
|
||||
public decimal? PrepaidT { get; set; }
|
||||
public decimal? SalesTaxT { get; set; }
|
||||
public string Slsman { get; set; }
|
||||
public DateTime? EffDate { get; set; }
|
||||
public DateTime? ExpDate { get; set; }
|
||||
public string Whse { get; set; }
|
||||
public decimal? SalesTax2 { get; set; }
|
||||
public decimal? SalesTaxT2 { get; set; }
|
||||
public bool? EdiOrder { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string Delterm { get; set; }
|
||||
public bool? UseExchRate { get; set; }
|
||||
public string TaxCode1 { get; set; }
|
||||
public string TaxCode2 { get; set; }
|
||||
public string FrtTaxCode1 { get; set; }
|
||||
public string FrtTaxCode2 { get; set; }
|
||||
public string MscTaxCode1 { get; set; }
|
||||
public string MscTaxCode2 { get; set; }
|
||||
public string DiscountType { get; set; }
|
||||
public decimal? DiscAmount { get; set; }
|
||||
public decimal? Disc { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public bool? ShipPartial { get; set; }
|
||||
public bool? ShipEarly { get; set; }
|
||||
public decimal? MatlCostT { get; set; }
|
||||
public decimal? LbrCostT { get; set; }
|
||||
public decimal? FovhdCostT { get; set; }
|
||||
public decimal? VovhdCostT { get; set; }
|
||||
public decimal? OutCostT { get; set; }
|
||||
public string EndUserType { get; set; }
|
||||
public decimal? ExchRate { get; set; }
|
||||
public bool? FixedRate { get; set; }
|
||||
public string OrigSite { get; set; }
|
||||
public string LcrNum { get; set; }
|
||||
public string EdiType { get; set; }
|
||||
public bool? Invoiced { get; set; }
|
||||
public bool? CreditHold { get; set; }
|
||||
public DateTime? CreditHoldDate { get; set; }
|
||||
public string CreditHoldReason { get; set; }
|
||||
public string CreditHoldUser { get; set; }
|
||||
public bool? SyncReqd { get; set; }
|
||||
public DateTime? ProjectedDate { get; set; }
|
||||
public string OrderSource { get; set; }
|
||||
public string ConvertType { get; set; }
|
||||
public bool? ApsPullUp { get; set; }
|
||||
public bool? Consolidate { get; set; }
|
||||
public string InvFreq { get; set; }
|
||||
public bool? Summarize { get; set; }
|
||||
public bool NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public bool? Einvoice { get; set; }
|
||||
public string Charfld1 { get; set; }
|
||||
public string Charfld2 { get; set; }
|
||||
public string Charfld3 { get; set; }
|
||||
public DateTime? Datefld { get; set; }
|
||||
public decimal? Decifld1 { get; set; }
|
||||
public decimal? Decifld2 { get; set; }
|
||||
public decimal? Decifld3 { get; set; }
|
||||
public bool? Logifld { get; set; }
|
||||
public string AckStat { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public bool InWorkflow { get; set; }
|
||||
public bool? IncludeTaxInPrice { get; set; }
|
||||
public string TransNat2 { get; set; }
|
||||
public string ApplyToInvNum { get; set; }
|
||||
public string ExportType { get; set; }
|
||||
public string ExternalConfirmationRef { get; set; }
|
||||
public bool IsExternal { get; set; }
|
||||
public string ProspectId { get; set; }
|
||||
public string OppId { get; set; }
|
||||
public string LeadId { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public bool Consignment { get; set; }
|
||||
public short? Priority { get; set; }
|
||||
public string DemandingSite { get; set; }
|
||||
public string DemandingSitePoNum { get; set; }
|
||||
public string Uf_FKR_CoContract { get; set; }
|
||||
public DateTime? Uf_BPX_DeliveryDate { get; set; }
|
||||
public string Uf_FKR_EDI_CustName { get; set; }
|
||||
public string Uf_FKR_EDI_Gate { get; set; }
|
||||
public string Uf_FKR_EDI_RecipientCode { get; set; }
|
||||
public string Uf_FKR_EDI_SellerCode { get; set; }
|
||||
public string Uf_FKR_EDI_SenderCode { get; set; }
|
||||
public string Uf_DocType { get; set; }
|
||||
public string Uf_FKR_EDI_BuyerCode { get; set; }
|
||||
|
||||
public IEnumerable<CustomerOrderLineDto> CustomerOrderLines { get; set; } = new List<CustomerOrderLineDto>();
|
||||
}
|
||||
}
|
||||
57
SytelineSaAppEfDataModel/Dtos/CustomerOrderLineDto.cs
Normal file
57
SytelineSaAppEfDataModel/Dtos/CustomerOrderLineDto.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class CustomerOrderLineDto
|
||||
{
|
||||
public string CoNum { get; set; }
|
||||
public short CoLine { get; set; }
|
||||
public string Item { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public decimal BlanketQty { get; set; }
|
||||
public DateTime? EffDate { get; set; }
|
||||
public DateTime? ExpDate { get; set; }
|
||||
public decimal? ContPrice { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public string UM { get; set; }
|
||||
public decimal BlanketQtyConv { get; set; }
|
||||
public decimal? ContPriceConv { get; set; }
|
||||
public string ShipSite { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public byte PrintKitComponents { get; set; }
|
||||
public string NonInvAcct { get; set; }
|
||||
public string NonInvAcctUnit1 { get; set; }
|
||||
public string NonInvAcctUnit2 { get; set; }
|
||||
public string NonInvAcctUnit3 { get; set; }
|
||||
public string NonInvAcctUnit4 { get; set; }
|
||||
public decimal? CostConv { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public string ManufacturerId { get; set; }
|
||||
public string ManufacturerItem { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_Address { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_BoxType { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_FinalDestination { get; set; }
|
||||
public int? Uf_FKR_EDI_BLN_QtyPerBox { get; set; }
|
||||
|
||||
public IEnumerable<CustomerOrderLineItemDto> CustomerOrderLineItems { get; set; } =
|
||||
new List<CustomerOrderLineItemDto>();
|
||||
}
|
||||
}
|
||||
138
SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs
Normal file
138
SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs
Normal file
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class CustomerOrderLineItemDto
|
||||
{
|
||||
public string CoNum { get; set; }
|
||||
public short CoLine { get; set; }
|
||||
public short CoRelease { get; set; }
|
||||
public string Item { get; set; }
|
||||
public decimal QtyOrdered { get; set; }
|
||||
public decimal QtyReady { get; set; }
|
||||
public decimal QtyShipped { get; set; }
|
||||
public decimal QtyPacked { get; set; }
|
||||
public decimal Disc { get; set; }
|
||||
public decimal Cost { get; set; }
|
||||
public decimal Price { get; set; }
|
||||
public string RefType { get; set; }
|
||||
public string RefNum { get; set; }
|
||||
public short? RefLineSuf { get; set; }
|
||||
public short? RefRelease { get; set; }
|
||||
public DateTime? DueDate { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public decimal BrkQty1 { get; set; }
|
||||
public decimal BrkQty2 { get; set; }
|
||||
public decimal BrkQty3 { get; set; }
|
||||
public decimal BrkQty4 { get; set; }
|
||||
public decimal BrkQty5 { get; set; }
|
||||
public byte Reprice { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public decimal QtyInvoiced { get; set; }
|
||||
public decimal QtyReturned { get; set; }
|
||||
public decimal CgsTotal { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustSeq { get; set; }
|
||||
public decimal? PrgBillTot { get; set; }
|
||||
public decimal? PrgBillApp { get; set; }
|
||||
public DateTime? ReleaseDate { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Whse { get; set; }
|
||||
public string WksBasis { get; set; }
|
||||
public decimal? WksValue { get; set; }
|
||||
public string CommCode { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string Delterm { get; set; }
|
||||
public decimal? UnitWeight { get; set; }
|
||||
public string Origin { get; set; }
|
||||
public int? ConsNum { get; set; }
|
||||
public string TaxCode1 { get; set; }
|
||||
public string TaxCode2 { get; set; }
|
||||
public decimal? ExportValue { get; set; }
|
||||
public string EcCode { get; set; }
|
||||
public string Transport { get; set; }
|
||||
public DateTime? PickDate { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public string UM { get; set; }
|
||||
public decimal QtyOrderedConv { get; set; }
|
||||
public decimal PriceConv { get; set; }
|
||||
public string CoCustNum { get; set; }
|
||||
public byte? Packed { get; set; }
|
||||
public byte? Bol { get; set; }
|
||||
public decimal QtyRsvd { get; set; }
|
||||
public decimal MatlCost { get; set; }
|
||||
public decimal LbrCost { get; set; }
|
||||
public decimal FovhdCost { get; set; }
|
||||
public decimal VovhdCost { get; set; }
|
||||
public decimal OutCost { get; set; }
|
||||
public decimal CgsTotalMatl { get; set; }
|
||||
public decimal CgsTotalLbr { get; set; }
|
||||
public decimal CgsTotalFovhd { get; set; }
|
||||
public decimal CgsTotalVovhd { get; set; }
|
||||
public decimal CgsTotalOut { get; set; }
|
||||
public decimal CostConv { get; set; }
|
||||
public decimal MatlCostConv { get; set; }
|
||||
public decimal LbrCostConv { get; set; }
|
||||
public decimal FovhdCostConv { get; set; }
|
||||
public decimal VovhdCostConv { get; set; }
|
||||
public decimal OutCostConv { get; set; }
|
||||
public string ShipSite { get; set; }
|
||||
public byte? SyncReqd { get; set; }
|
||||
public string CoOrigSite { get; set; }
|
||||
public string CustPo { get; set; }
|
||||
public string RmaNum { get; set; }
|
||||
public short? RmaLine { get; set; }
|
||||
public DateTime? ProjectedDate { get; set; }
|
||||
public byte Consolidate { get; set; }
|
||||
public string InvFreq { get; set; }
|
||||
public byte Summarize { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string TransNat2 { get; set; }
|
||||
public decimal SupplQtyConvFactor { get; set; }
|
||||
public byte PrintKitComponents { get; set; }
|
||||
public string ExternalReservationRef { get; set; }
|
||||
public string NonInvAcct { get; set; }
|
||||
public string NonInvAcctUnit1 { get; set; }
|
||||
public string NonInvAcctUnit2 { get; set; }
|
||||
public string NonInvAcctUnit3 { get; set; }
|
||||
public string NonInvAcctUnit4 { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public short? Priority { get; set; }
|
||||
public byte InvoiceHold { get; set; }
|
||||
public string ManufacturerId { get; set; }
|
||||
public string ManufacturerItem { get; set; }
|
||||
public decimal QtyPicked { get; set; }
|
||||
public string Uf_ZPL_VATRegisterCode { get; set; }
|
||||
public Guid? Uf_FKR_EDI_EdiCoItemRowPointer { get; set; }
|
||||
public short? Uf_IMP_CoLineOrginal { get; set; }
|
||||
public decimal? Uf_IMP_QtyOrdered { get; set; }
|
||||
public decimal? Uf_IMP_QtyOrginal { get; set; }
|
||||
public byte? Uf_IMP_SplitCoLine { get; set; }
|
||||
public byte? Uf_IMP_SplitCoLineChange { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_DeliveryCallNum { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_RoutingCode { get; set; }
|
||||
public char? Uf_pci_code { get; set; }
|
||||
public string Uf_LOC_11_UnloadingPoint { get; set; }
|
||||
public string Uf_LOC_159_DestinationPoint { get; set; }
|
||||
public string Uf_Status { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_PalletCode { get; set; }
|
||||
}
|
||||
}
|
||||
6
SytelineSaAppEfDataModel/Dtos/DtoBase.cs
Normal file
6
SytelineSaAppEfDataModel/Dtos/DtoBase.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class DtoBase
|
||||
{
|
||||
}
|
||||
}
|
||||
111
SytelineSaAppEfDataModel/Dtos/EdiCustomerLineItemDto.cs
Normal file
111
SytelineSaAppEfDataModel/Dtos/EdiCustomerLineItemDto.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class EdiCustomerOrderLineItemDto
|
||||
{
|
||||
public string TransactionCode { get; set; }
|
||||
public DateTime? ReceivedDate { get; set; }
|
||||
public byte? Posted { get; set; }
|
||||
public DateTime? PostedDate { get; set; }
|
||||
public DateTime? ExtendedDate { get; set; }
|
||||
public short? ErrorMessage { get; set; }
|
||||
public byte? Override { get; set; }
|
||||
public byte? Edi { get; set; }
|
||||
public byte? Ack { get; set; }
|
||||
public string AckNumber { get; set; }
|
||||
public string AckType { get; set; }
|
||||
public DateTime? AckDate { get; set; }
|
||||
public string SymCustomerOrderNumber { get; set; }
|
||||
public byte? QtyChanged { get; set; }
|
||||
public byte? DateChanged { get; set; }
|
||||
public byte? PriceChanged { get; set; }
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public int CustomerOrderLine { get; set; }
|
||||
public int CustomerOrderRelease { get; set; }
|
||||
public string Item { get; set; }
|
||||
public decimal? QtyOrdered { get; set; }
|
||||
public decimal? QtyReady { get; set; }
|
||||
public decimal? QtyShipped { get; set; }
|
||||
public decimal? QtyPacked { get; set; }
|
||||
public decimal? Discount { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public string RefType { get; set; }
|
||||
public string RefNumber { get; set; }
|
||||
public short? RefLineSuf { get; set; }
|
||||
public short? RefRelease { get; set; }
|
||||
public DateTime? DueDate { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public decimal? BrkQtyOne { get; set; }
|
||||
public decimal? BrkQtyTwo { get; set; }
|
||||
public decimal? BrkQtyThree { get; set; }
|
||||
public decimal? BrkQtyFour { get; set; }
|
||||
public decimal? BrkQtyFive { get; set; }
|
||||
public byte? Reprice { get; set; }
|
||||
public string CustomerItem { get; set; }
|
||||
public decimal? QtyInvoiced { get; set; }
|
||||
public decimal? QtyReturned { get; set; }
|
||||
public decimal? CgsTotal { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public string Status { get; set; }
|
||||
public string CustomerNumber { get; set; }
|
||||
public int? CustomerSequence { get; set; }
|
||||
public decimal? PrgBillTot { get; set; }
|
||||
public decimal? PrgBillApp { get; set; }
|
||||
public DateTime? ReleaseDate { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Warehouse { get; set; }
|
||||
public string WksBasis { get; set; }
|
||||
public decimal? WksValue { get; set; }
|
||||
public string CommCode { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string DelTerm { get; set; }
|
||||
public decimal? UnitWeight { get; set; }
|
||||
public string Origin { get; set; }
|
||||
public int? ConsNumber { get; set; }
|
||||
public string TaxCodeOne { get; set; }
|
||||
public string TaxCodeTwo { get; set; }
|
||||
public decimal? ExportValue { get; set; }
|
||||
public string EcCode { get; set; }
|
||||
public string Transport { get; set; }
|
||||
public DateTime? PickupDate { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public string Uom { get; set; }
|
||||
public decimal? QtyOrderedReleased { get; set; }
|
||||
public decimal? PriceReleased { get; set; }
|
||||
public string CustomerOrderCustomerNumber { get; set; }
|
||||
public byte? Packed { get; set; }
|
||||
public byte? Bol { get; set; }
|
||||
public decimal? QtyBco { get; set; }
|
||||
public string BcoCode { get; set; }
|
||||
public string ExternalRef { get; set; }
|
||||
public string CustomerPoNumber { get; set; }
|
||||
public string NonApplyData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string TransNatTwo { get; set; }
|
||||
public decimal SupplyQtyConvFactor { get; set; }
|
||||
public string UfFkrEdiAddIntDest { get; set; }
|
||||
public string UfFkrEdiCustPoLineNum { get; set; }
|
||||
public string UfFkrEdiPlaceOrPortDischarge { get; set; }
|
||||
public string RoutingCode { get; set; }
|
||||
public string DeliveryCallNumber { get; set; }
|
||||
public string UnloadingPoint { get; set; }
|
||||
public string DestinationPoint { get; set; }
|
||||
public string NewStatus { get; set; }
|
||||
public string PalletCode { get; set; }
|
||||
public string PalletNumber { get; set; }
|
||||
}
|
||||
}
|
||||
108
SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderDto.cs
Normal file
108
SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderDto.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class EdiCustomerOrderDto : DtoBase
|
||||
{
|
||||
public string TransactionCode { get; set; }
|
||||
public string TpCode { get; set; }
|
||||
public DateTime? RecivedDate { get; set; }
|
||||
public byte? Posted { get; set; }
|
||||
public DateTime? PostedDate { get; set; }
|
||||
public DateTime? ExtendedDate { get; set; }
|
||||
public short? ErrorMessage { get; set; }
|
||||
public byte? Override { get; set; }
|
||||
public byte? Ack { get; set; }
|
||||
public string AckNumber { get; set; }
|
||||
public int? AckSequence { get; set; }
|
||||
public string AckType { get; set; }
|
||||
public DateTime? AckDate { get; set; }
|
||||
public string SymbolicCustomerOrderNumber { get; set; }
|
||||
public decimal? BlanketDollar { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public string EstimatedNumber { get; set; }
|
||||
public string CustomerNumber { get; set; }
|
||||
public int? CustomerSequence { get; set; }
|
||||
public string Contact { get; set; }
|
||||
public string Phone { get; set; }
|
||||
public string CustomerPoNumber { get; set; }
|
||||
public DateTime? OrderDate { get; set; }
|
||||
public string TakenBy { get; set; }
|
||||
public string TermsCode { get; set; }
|
||||
public string ShipCode { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public decimal? Weight { get; set; }
|
||||
public short? QtyPackages { get; set; }
|
||||
public decimal? Freight { get; set; }
|
||||
public decimal? MiscCharges { get; set; }
|
||||
public decimal? PrepaidAmount { get; set; }
|
||||
public decimal? SalesTax { get; set; }
|
||||
public string Status { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public DateTime? CloseDate { get; set; }
|
||||
public decimal? FreightT { get; set; }
|
||||
public decimal? MchargesT { get; set; }
|
||||
public decimal? PrepaidT { get; set; }
|
||||
public decimal? SalesTaxT { get; set; }
|
||||
public string Salesman { get; set; }
|
||||
public DateTime? EffectiveDate { get; set; }
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public string Warehouse { get; set; }
|
||||
public decimal? SalesTaxTwo { get; set; }
|
||||
public decimal? SalesTaxTwoT { get; set; }
|
||||
public string CharFieldOne { get; set; }
|
||||
public string CharFieldTwo { get; set; }
|
||||
public string CharFieldThree { get; set; }
|
||||
public DateTime? DateField { get; set; }
|
||||
public decimal? DecimalFieldOne { get; set; }
|
||||
public decimal? DecimalFieldTwo { get; set; }
|
||||
public decimal? DecimalFieldThree { get; set; }
|
||||
public byte? LogiField { get; set; }
|
||||
public byte? EdiOrder { get; set; }
|
||||
public string TransactionNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string DelTerm { get; set; }
|
||||
public byte? UseExchangeRate { get; set; }
|
||||
public string TaxCodeOne { get; set; }
|
||||
public string TaxCodeTwo { get; set; }
|
||||
public string FreightTaxCodeOne { get; set; }
|
||||
public string FreightTaxCodeTwo { get; set; }
|
||||
public string MscTaxCodeOne { get; set; }
|
||||
public string MscTaxCodeTwo { get; set; }
|
||||
public decimal? Discount { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public byte? ShipPartial { get; set; }
|
||||
public byte? ShipEarly { get; set; }
|
||||
public string NonApplyData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string DiscountType { get; set; }
|
||||
public decimal? DiscountAmount { get; set; }
|
||||
public string TransNatTwo { get; set; }
|
||||
public string UfFkrEdiMessageRefNum { get; set; }
|
||||
public string UfFkrEdiConsigneeAddress { get; set; }
|
||||
public string UfFkrEdiConsigneeName { get; set; }
|
||||
public string UfFkrEdiFileName { get; set; }
|
||||
public string UfFkrEdiBuyerDunsNumber { get; set; }
|
||||
public string Gate { get; set; }
|
||||
public string CustomerName { get; set; }
|
||||
public string RecipientCode { get; set; }
|
||||
public string SenderCode { get; set; }
|
||||
public string SellerCode { get; set; }
|
||||
public string DocType { get; set; }
|
||||
public string BuyerCode { get; set; }
|
||||
|
||||
public IEnumerable<EdiCustomerOrderLineDto> EdiCustomerOrderLines { get; set; } = new List<EdiCustomerOrderLineDto>();
|
||||
public IEnumerable<EdiCustomerOrderTranslateDto> EdiCustomerOrderTranslates { get; set; } = new List<EdiCustomerOrderTranslateDto>();
|
||||
}
|
||||
}
|
||||
44
SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineDto.cs
Normal file
44
SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineDto.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class EdiCustomerOrderLineDto
|
||||
{
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public int CustomerOrderLine { get; set; }
|
||||
public string Item { get; set; }
|
||||
public string CustomerItemNumber { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public decimal? BlanketQty { get; set; }
|
||||
public DateTime? EffectiveDate { get; set; }
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public decimal? ContPrice { get; set; }
|
||||
public string Status { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public string Uom { get; set; }
|
||||
public decimal? BlanketQtyReleased { get; set; }
|
||||
public decimal? ContPriceReleased { get; set; }
|
||||
public decimal? QtySent { get; set; }
|
||||
public string SentCode { get; set; }
|
||||
public string NonAppliedData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string BoxType { get; set; }
|
||||
public string Address { get; set; }
|
||||
public string FinalDestination { get; set; }
|
||||
public int? QtyPerBox { get; set; }
|
||||
|
||||
public IEnumerable<EdiCustomerOrderLineItemDto> EdiCustomerOrderLineItems { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class EdiCustomerOrderTranslateDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public byte CoEdiOrder { get; set; }
|
||||
public Guid CoRowPointer { get; set; }
|
||||
public string CoCoNum { get; set; }
|
||||
public string CoType { get; set; }
|
||||
public string CoTakenBy { get; set; }
|
||||
public string EdiCoCoNum { get; set; }
|
||||
public int OrdersCount { get; set; }
|
||||
public bool OrderFound { get; set; }
|
||||
public DateTime CreatedDate { get; set; }
|
||||
public string FoundNumbers { get; set; }
|
||||
public int ScheduleOrderId { get; set; }
|
||||
}
|
||||
}
|
||||
27
SytelineSaAppEfDataModel/Dtos/ErrorLogDto.cs
Normal file
27
SytelineSaAppEfDataModel/Dtos/ErrorLogDto.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Dtos
|
||||
{
|
||||
public class ErrorLogDto
|
||||
{
|
||||
public string TrxNum { get; set; }
|
||||
public short Seq { get; set; }
|
||||
public int LineNum { get; set; }
|
||||
public int ReleaseNum { get; set; }
|
||||
public DateTime? ErrDate { get; set; }
|
||||
public short? ErrNum { get; set; }
|
||||
public string ErrMsg { get; set; }
|
||||
public string TrxCode { get; set; }
|
||||
public bool NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public bool InWorkflow { get; set; }
|
||||
}
|
||||
}
|
||||
129
SytelineSaAppEfDataModel/Entities/CustomerOrder.cs
Normal file
129
SytelineSaAppEfDataModel/Entities/CustomerOrder.cs
Normal file
@@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class CustomerOrder
|
||||
{
|
||||
public string Type { get; set; }
|
||||
public string CoNum { get; set; }
|
||||
public string EstNum { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustSeq { get; set; }
|
||||
public string Contact { get; set; }
|
||||
public string Phone { get; set; }
|
||||
public string CustPo { get; set; }
|
||||
public DateTime OrderDate { get; set; }
|
||||
public string TakenBy { get; set; }
|
||||
public string TermsCode { get; set; }
|
||||
public string ShipCode { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public decimal? Weight { get; set; }
|
||||
public short? QtyPackages { get; set; }
|
||||
public decimal? Freight { get; set; }
|
||||
public decimal? MiscCharges { get; set; }
|
||||
public decimal? PrepaidAmt { get; set; }
|
||||
public decimal? SalesTax { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public DateTime? CloseDate { get; set; }
|
||||
public decimal? FreightT { get; set; }
|
||||
public decimal? MChargesT { get; set; }
|
||||
public decimal? PrepaidT { get; set; }
|
||||
public decimal? SalesTaxT { get; set; }
|
||||
public string Slsman { get; set; }
|
||||
public DateTime? EffDate { get; set; }
|
||||
public DateTime? ExpDate { get; set; }
|
||||
public string Whse { get; set; }
|
||||
public decimal? SalesTax2 { get; set; }
|
||||
public decimal? SalesTaxT2 { get; set; }
|
||||
public byte? EdiOrder { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string Delterm { get; set; }
|
||||
public byte? UseExchRate { get; set; }
|
||||
public string TaxCode1 { get; set; }
|
||||
public string TaxCode2 { get; set; }
|
||||
public string FrtTaxCode1 { get; set; }
|
||||
public string FrtTaxCode2 { get; set; }
|
||||
public string MscTaxCode1 { get; set; }
|
||||
public string MscTaxCode2 { get; set; }
|
||||
public string DiscountType { get; set; }
|
||||
public decimal? DiscAmount { get; set; }
|
||||
public decimal? Disc { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public byte? ShipPartial { get; set; }
|
||||
public byte? ShipEarly { get; set; }
|
||||
public decimal? MatlCostT { get; set; }
|
||||
public decimal? LbrCostT { get; set; }
|
||||
public decimal? FovhdCostT { get; set; }
|
||||
public decimal? VovhdCostT { get; set; }
|
||||
public decimal? OutCostT { get; set; }
|
||||
public string EndUserType { get; set; }
|
||||
public decimal? ExchRate { get; set; }
|
||||
public byte? FixedRate { get; set; }
|
||||
public string OrigSite { get; set; }
|
||||
public string LcrNum { get; set; }
|
||||
public string EdiType { get; set; }
|
||||
public byte? Invoiced { get; set; }
|
||||
public byte? CreditHold { get; set; }
|
||||
public DateTime? CreditHoldDate { get; set; }
|
||||
public string CreditHoldReason { get; set; }
|
||||
public string CreditHoldUser { get; set; }
|
||||
public byte? SyncReqd { get; set; }
|
||||
public DateTime? ProjectedDate { get; set; }
|
||||
public string OrderSource { get; set; }
|
||||
public string ConvertType { get; set; }
|
||||
public byte? ApsPullUp { get; set; }
|
||||
public byte? Consolidate { get; set; }
|
||||
public string InvFreq { get; set; }
|
||||
public byte? Summarize { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public byte? Einvoice { get; set; }
|
||||
public string Charfld1 { get; set; }
|
||||
public string Charfld2 { get; set; }
|
||||
public string Charfld3 { get; set; }
|
||||
public DateTime? Datefld { get; set; }
|
||||
public decimal? Decifld1 { get; set; }
|
||||
public decimal? Decifld2 { get; set; }
|
||||
public decimal? Decifld3 { get; set; }
|
||||
public byte? Logifld { get; set; }
|
||||
public string AckStat { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public byte? IncludeTaxInPrice { get; set; }
|
||||
public string TransNat2 { get; set; }
|
||||
public string ApplyToInvNum { get; set; }
|
||||
public string ExportType { get; set; }
|
||||
public string ExternalConfirmationRef { get; set; }
|
||||
public byte IsExternal { get; set; }
|
||||
public string ProspectId { get; set; }
|
||||
public string OppId { get; set; }
|
||||
public string LeadId { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public byte Consignment { get; set; }
|
||||
public short? Priority { get; set; }
|
||||
public string DemandingSite { get; set; }
|
||||
public string DemandingSitePoNum { get; set; }
|
||||
public string Uf_FKR_CoContract { get; set; }
|
||||
public DateTime? Uf_BPX_DeliveryDate { get; set; }
|
||||
public string Uf_FKR_EDI_CustName { get; set; }
|
||||
public string Uf_FKR_EDI_Gate { get; set; }
|
||||
public string Uf_FKR_EDI_RecipientCode { get; set; }
|
||||
public string Uf_FKR_EDI_SellerCode { get; set; }
|
||||
public string Uf_FKR_EDI_SenderCode { get; set; }
|
||||
public string Uf_DocType { get; set; }
|
||||
public string Uf_FKR_EDI_BuyerCode { get; set; }
|
||||
}
|
||||
}
|
||||
54
SytelineSaAppEfDataModel/Entities/CustomerOrderLine.cs
Normal file
54
SytelineSaAppEfDataModel/Entities/CustomerOrderLine.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class CustomerOrderLine
|
||||
{
|
||||
public string CoNum { get; set; }
|
||||
public short CoLine { get; set; }
|
||||
public string Item { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public decimal BlanketQty { get; set; }
|
||||
public DateTime? EffDate { get; set; }
|
||||
public DateTime? ExpDate { get; set; }
|
||||
public decimal? ContPrice { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public string UM { get; set; }
|
||||
public decimal BlanketQtyConv { get; set; }
|
||||
public decimal? ContPriceConv { get; set; }
|
||||
public string ShipSite { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public byte PrintKitComponents { get; set; }
|
||||
public string NonInvAcct { get; set; }
|
||||
public string NonInvAcctUnit1 { get; set; }
|
||||
public string NonInvAcctUnit2 { get; set; }
|
||||
public string NonInvAcctUnit3 { get; set; }
|
||||
public string NonInvAcctUnit4 { get; set; }
|
||||
public decimal? CostConv { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public string ManufacturerId { get; set; }
|
||||
public string ManufacturerItem { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_Address { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_BoxType { get; set; }
|
||||
public string Uf_FKR_EDI_BLN_FinalDestination { get; set; }
|
||||
public int? Uf_FKR_EDI_BLN_QtyPerBox { get; set; }
|
||||
}
|
||||
}
|
||||
138
SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs
Normal file
138
SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs
Normal file
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class CustomerOrderLineItem
|
||||
{
|
||||
public string CoNum { get; set; }
|
||||
public short CoLine { get; set; }
|
||||
public short CoRelease { get; set; }
|
||||
public string Item { get; set; }
|
||||
public decimal QtyOrdered { get; set; }
|
||||
public decimal QtyReady { get; set; }
|
||||
public decimal QtyShipped { get; set; }
|
||||
public decimal QtyPacked { get; set; }
|
||||
public decimal Disc { get; set; }
|
||||
public decimal Cost { get; set; }
|
||||
public decimal Price { get; set; }
|
||||
public string RefType { get; set; }
|
||||
public string RefNum { get; set; }
|
||||
public short? RefLineSuf { get; set; }
|
||||
public short? RefRelease { get; set; }
|
||||
public DateTime? DueDate { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public decimal BrkQty1 { get; set; }
|
||||
public decimal BrkQty2 { get; set; }
|
||||
public decimal BrkQty3 { get; set; }
|
||||
public decimal BrkQty4 { get; set; }
|
||||
public decimal BrkQty5 { get; set; }
|
||||
public byte Reprice { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public decimal QtyInvoiced { get; set; }
|
||||
public decimal QtyReturned { get; set; }
|
||||
public decimal CgsTotal { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public string Stat { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustSeq { get; set; }
|
||||
public decimal? PrgBillTot { get; set; }
|
||||
public decimal? PrgBillApp { get; set; }
|
||||
public DateTime? ReleaseDate { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Whse { get; set; }
|
||||
public string WksBasis { get; set; }
|
||||
public decimal? WksValue { get; set; }
|
||||
public string CommCode { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string Delterm { get; set; }
|
||||
public decimal? UnitWeight { get; set; }
|
||||
public string Origin { get; set; }
|
||||
public int? ConsNum { get; set; }
|
||||
public string TaxCode1 { get; set; }
|
||||
public string TaxCode2 { get; set; }
|
||||
public decimal? ExportValue { get; set; }
|
||||
public string EcCode { get; set; }
|
||||
public string Transport { get; set; }
|
||||
public DateTime? PickDate { get; set; }
|
||||
public string Pricecode { get; set; }
|
||||
public string UM { get; set; }
|
||||
public decimal QtyOrderedConv { get; set; }
|
||||
public decimal PriceConv { get; set; }
|
||||
public string CoCustNum { get; set; }
|
||||
public byte? Packed { get; set; }
|
||||
public byte? Bol { get; set; }
|
||||
public decimal QtyRsvd { get; set; }
|
||||
public decimal MatlCost { get; set; }
|
||||
public decimal LbrCost { get; set; }
|
||||
public decimal FovhdCost { get; set; }
|
||||
public decimal VovhdCost { get; set; }
|
||||
public decimal OutCost { get; set; }
|
||||
public decimal CgsTotalMatl { get; set; }
|
||||
public decimal CgsTotalLbr { get; set; }
|
||||
public decimal CgsTotalFovhd { get; set; }
|
||||
public decimal CgsTotalVovhd { get; set; }
|
||||
public decimal CgsTotalOut { get; set; }
|
||||
public decimal CostConv { get; set; }
|
||||
public decimal MatlCostConv { get; set; }
|
||||
public decimal LbrCostConv { get; set; }
|
||||
public decimal FovhdCostConv { get; set; }
|
||||
public decimal VovhdCostConv { get; set; }
|
||||
public decimal OutCostConv { get; set; }
|
||||
public string ShipSite { get; set; }
|
||||
public byte? SyncReqd { get; set; }
|
||||
public string CoOrigSite { get; set; }
|
||||
public string CustPo { get; set; }
|
||||
public string RmaNum { get; set; }
|
||||
public short? RmaLine { get; set; }
|
||||
public DateTime? ProjectedDate { get; set; }
|
||||
public byte Consolidate { get; set; }
|
||||
public string InvFreq { get; set; }
|
||||
public byte Summarize { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string ConfigId { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string TransNat2 { get; set; }
|
||||
public decimal SupplQtyConvFactor { get; set; }
|
||||
public byte PrintKitComponents { get; set; }
|
||||
public string ExternalReservationRef { get; set; }
|
||||
public string NonInvAcct { get; set; }
|
||||
public string NonInvAcctUnit1 { get; set; }
|
||||
public string NonInvAcctUnit2 { get; set; }
|
||||
public string NonInvAcctUnit3 { get; set; }
|
||||
public string NonInvAcctUnit4 { get; set; }
|
||||
public short? DaysShippedBeforeDueDateTolerance { get; set; }
|
||||
public short? DaysShippedAfterDueDateTolerance { get; set; }
|
||||
public decimal? ShippedOverOrderedQtyTolerance { get; set; }
|
||||
public decimal? ShippedUnderOrderedQtyTolerance { get; set; }
|
||||
public short? Priority { get; set; }
|
||||
public byte InvoiceHold { get; set; }
|
||||
public string ManufacturerId { get; set; }
|
||||
public string ManufacturerItem { get; set; }
|
||||
public decimal QtyPicked { get; set; }
|
||||
public string Uf_ZPL_VATRegisterCode { get; set; }
|
||||
public Guid? Uf_FKR_EDI_EdiCoItemRowPointer { get; set; }
|
||||
public short? Uf_IMP_CoLineOrginal { get; set; }
|
||||
public decimal? Uf_IMP_QtyOrdered { get; set; }
|
||||
public decimal? Uf_IMP_QtyOrginal { get; set; }
|
||||
public byte? Uf_IMP_SplitCoLine { get; set; }
|
||||
public byte? Uf_IMP_SplitCoLineChange { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_DeliveryCallNum { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_RoutingCode { get; set; }
|
||||
public char? Uf_pci_code { get; set; }
|
||||
public string Uf_LOC_11_UnloadingPoint { get; set; }
|
||||
public string Uf_LOC_159_DestinationPoint { get; set; }
|
||||
public string Uf_Status { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_PalletCode { get; set; }
|
||||
}
|
||||
}
|
||||
105
SytelineSaAppEfDataModel/Entities/EdiCustomerOrder.cs
Normal file
105
SytelineSaAppEfDataModel/Entities/EdiCustomerOrder.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class EdiCustomerOrder : EntityBase
|
||||
{
|
||||
public string TransactionCode { get; set; }
|
||||
public string TpCode { get; set; }
|
||||
public DateTime? RecivedDate { get; set; }
|
||||
public byte? Posted { get; set; }
|
||||
public DateTime? PostedDate { get; set; }
|
||||
public DateTime? ExtendedDate { get; set; }
|
||||
public short? ErrorMessage { get; set; }
|
||||
public byte? Override { get; set; }
|
||||
public byte? Ack { get; set; }
|
||||
public string AckNumber { get; set; }
|
||||
public int? AckSequence { get; set; }
|
||||
public string AckType { get; set; }
|
||||
public DateTime? AckDate { get; set; }
|
||||
public string SymbolicCustomerOrderNumber { get; set; }
|
||||
public decimal? BlanketDollar { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public string EstimatedNumber { get; set; }
|
||||
public string CustomerNumber { get; set; }
|
||||
public int? CustomerSequence { get; set; }
|
||||
public string Contact { get; set; }
|
||||
public string Phone { get; set; }
|
||||
public string CustomerPoNumber { get; set; }
|
||||
public DateTime? OrderDate { get; set; }
|
||||
public string TakenBy { get; set; }
|
||||
public string TermsCode { get; set; }
|
||||
public string ShipCode { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public decimal? Weight { get; set; }
|
||||
public short? QtyPackages { get; set; }
|
||||
public decimal? Freight { get; set; }
|
||||
public decimal? MiscCharges { get; set; }
|
||||
public decimal? PrepaidAmount { get; set; }
|
||||
public decimal? SalesTax { get; set; }
|
||||
public string Status { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public DateTime? CloseDate { get; set; }
|
||||
public decimal? FreightT { get; set; }
|
||||
public decimal? MchargesT { get; set; }
|
||||
public decimal? PrepaidT { get; set; }
|
||||
public decimal? SalesTaxT { get; set; }
|
||||
public string Salesman { get; set; }
|
||||
public DateTime? EffectiveDate { get; set; }
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public string Warehouse { get; set; }
|
||||
public decimal? SalesTaxTwo { get; set; }
|
||||
public decimal? SalesTaxTwoT { get; set; }
|
||||
public string CharFieldOne { get; set; }
|
||||
public string CharFieldTwo { get; set; }
|
||||
public string CharFieldThree { get; set; }
|
||||
public DateTime? DateField { get; set; }
|
||||
public decimal? DecimalFieldOne { get; set; }
|
||||
public decimal? DecimalFieldTwo { get; set; }
|
||||
public decimal? DecimalFieldThree { get; set; }
|
||||
public byte? LogiField { get; set; }
|
||||
public byte? EdiOrder { get; set; }
|
||||
public string TransactionNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string DelTerm { get; set; }
|
||||
public byte? UseExchangeRate { get; set; }
|
||||
public string TaxCodeOne { get; set; }
|
||||
public string TaxCodeTwo { get; set; }
|
||||
public string FreightTaxCodeOne { get; set; }
|
||||
public string FreightTaxCodeTwo { get; set; }
|
||||
public string MscTaxCodeOne { get; set; }
|
||||
public string MscTaxCodeTwo { get; set; }
|
||||
public decimal? Discount { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public byte? ShipPartial { get; set; }
|
||||
public byte? ShipEarly { get; set; }
|
||||
public string NonApplyData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string DiscountType { get; set; }
|
||||
public decimal? DiscountAmount { get; set; }
|
||||
public string TransNatTwo { get; set; }
|
||||
public string UfFkrEdiMessageRefNum { get; set; }
|
||||
public string UfFkrEdiConsigneeAddress { get; set; }
|
||||
public string UfFkrEdiConsigneeName { get; set; }
|
||||
public string UfFkrEdiFileName { get; set; }
|
||||
public string UfFkrEdiBuyerDunsNumber { get; set; }
|
||||
public string Gate { get; set; }
|
||||
public string CustomerName { get; set; }
|
||||
public string RecipientCode { get; set; }
|
||||
public string SenderCode { get; set; }
|
||||
public string SellerCode { get; set; }
|
||||
public string DocType { get; set; }
|
||||
public string BuyerCode { get; set; }
|
||||
}
|
||||
}
|
||||
42
SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLine.cs
Normal file
42
SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLine.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class EdiCustomerOrderLine
|
||||
{
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public int CustomerOrderLine { get; set; }
|
||||
public string Item { get; set; }
|
||||
public string CustomerItemNumber { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public decimal? BlanketQty { get; set; }
|
||||
public DateTime? EffectiveDate { get; set; }
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public decimal? ContPrice { get; set; }
|
||||
public string Status { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public string Uom { get; set; }
|
||||
public decimal? BlanketQtyReleased { get; set; }
|
||||
public decimal? ContPriceReleased { get; set; }
|
||||
public decimal? QtySent { get; set; }
|
||||
public string SentCode { get; set; }
|
||||
public string NonAppliedData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string BoxType { get; set; }
|
||||
public string Address { get; set; }
|
||||
public string FinalDestination { get; set; }
|
||||
public int? QtyPerBox { get; set; }
|
||||
}
|
||||
}
|
||||
111
SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs
Normal file
111
SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class EdiCustomerOrderLineItem
|
||||
{
|
||||
public string TransactionCode { get; set; }
|
||||
public DateTime? ReceivedDate { get; set; }
|
||||
public byte? Posted { get; set; }
|
||||
public DateTime? PostedDate { get; set; }
|
||||
public DateTime? ExtendedDate { get; set; }
|
||||
public short? ErrorMessage { get; set; }
|
||||
public byte? Override { get; set; }
|
||||
public byte? Edi { get; set; }
|
||||
public byte? Ack { get; set; }
|
||||
public string AckNumber { get; set; }
|
||||
public string AckType { get; set; }
|
||||
public DateTime? AckDate { get; set; }
|
||||
public string SymCustomerOrderNumber { get; set; }
|
||||
public byte? QtyChanged { get; set; }
|
||||
public byte? DateChanged { get; set; }
|
||||
public byte? PriceChanged { get; set; }
|
||||
public string CustomerOrderNumber { get; set; }
|
||||
public int CustomerOrderLine { get; set; }
|
||||
public int CustomerOrderRelease { get; set; }
|
||||
public string Item { get; set; }
|
||||
public decimal? QtyOrdered { get; set; }
|
||||
public decimal? QtyReady { get; set; }
|
||||
public decimal? QtyShipped { get; set; }
|
||||
public decimal? QtyPacked { get; set; }
|
||||
public decimal? Discount { get; set; }
|
||||
public decimal? Cost { get; set; }
|
||||
public decimal? Price { get; set; }
|
||||
public string RefType { get; set; }
|
||||
public string RefNumber { get; set; }
|
||||
public short? RefLineSuf { get; set; }
|
||||
public short? RefRelease { get; set; }
|
||||
public DateTime? DueDate { get; set; }
|
||||
public DateTime? ShipDate { get; set; }
|
||||
public decimal? BrkQtyOne { get; set; }
|
||||
public decimal? BrkQtyTwo { get; set; }
|
||||
public decimal? BrkQtyThree { get; set; }
|
||||
public decimal? BrkQtyFour { get; set; }
|
||||
public decimal? BrkQtyFive { get; set; }
|
||||
public byte? Reprice { get; set; }
|
||||
public string CustomerItem { get; set; }
|
||||
public decimal? QtyInvoiced { get; set; }
|
||||
public decimal? QtyReturned { get; set; }
|
||||
public decimal? CgsTotal { get; set; }
|
||||
public string FeatStr { get; set; }
|
||||
public string Status { get; set; }
|
||||
public string CustomerNumber { get; set; }
|
||||
public int? CustomerSequence { get; set; }
|
||||
public decimal? PrgBillTot { get; set; }
|
||||
public decimal? PrgBillApp { get; set; }
|
||||
public DateTime? ReleaseDate { get; set; }
|
||||
public DateTime? PromiseDate { get; set; }
|
||||
public string Warehouse { get; set; }
|
||||
public string WksBasis { get; set; }
|
||||
public decimal? WksValue { get; set; }
|
||||
public string CommCode { get; set; }
|
||||
public string TransNat { get; set; }
|
||||
public string ProcessInd { get; set; }
|
||||
public string DelTerm { get; set; }
|
||||
public decimal? UnitWeight { get; set; }
|
||||
public string Origin { get; set; }
|
||||
public int? ConsNumber { get; set; }
|
||||
public string TaxCodeOne { get; set; }
|
||||
public string TaxCodeTwo { get; set; }
|
||||
public decimal? ExportValue { get; set; }
|
||||
public string EcCode { get; set; }
|
||||
public string Transport { get; set; }
|
||||
public DateTime? PickupDate { get; set; }
|
||||
public string PriceCode { get; set; }
|
||||
public string Uom { get; set; }
|
||||
public decimal? QtyOrderedReleased { get; set; }
|
||||
public decimal? PriceReleased { get; set; }
|
||||
public string CustomerOrderCustomerNumber { get; set; }
|
||||
public byte? Packed { get; set; }
|
||||
public byte? Bol { get; set; }
|
||||
public decimal? QtyBco { get; set; }
|
||||
public string BcoCode { get; set; }
|
||||
public string ExternalRef { get; set; }
|
||||
public string CustomerPoNumber { get; set; }
|
||||
public string NonApplyData { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public string TransNatTwo { get; set; }
|
||||
public decimal SupplyQtyConvFactor { get; set; }
|
||||
public string UfFkrEdiAddIntDest { get; set; }
|
||||
public string UfFkrEdiCustPoLineNum { get; set; }
|
||||
public string UfFkrEdiPlaceOrPortDischarge { get; set; }
|
||||
public string RoutingCode { get; set; }
|
||||
public string DeliveryCallNumber { get; set; }
|
||||
public string UnloadingPoint { get; set; }
|
||||
public string DestinationPoint { get; set; }
|
||||
public string NewStatus { get; set; }
|
||||
public string PalletCode { get; set; }
|
||||
public string PalletNumber { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class EdiCustomerOrderTranslate
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public byte CoEdiOrder { get; set; }
|
||||
public Guid CoRowPointer { get; set; }
|
||||
public string CoCoNum { get; set; }
|
||||
public string CoType { get; set; }
|
||||
public string CoTakenBy { get; set; }
|
||||
public string EdiCoCoNum { get; set; }
|
||||
public int OrdersCount { get; set; }
|
||||
public bool OrderFound { get; set; }
|
||||
public DateTime CreatedDate { get; set; }
|
||||
public string FoundNumbers { get; set; }
|
||||
public int ScheduleOrderId { get; set; }
|
||||
}
|
||||
}
|
||||
6
SytelineSaAppEfDataModel/Entities/EntityBase.cs
Normal file
6
SytelineSaAppEfDataModel/Entities/EntityBase.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class EntityBase
|
||||
{
|
||||
}
|
||||
}
|
||||
27
SytelineSaAppEfDataModel/Entities/ErrorLog.cs
Normal file
27
SytelineSaAppEfDataModel/Entities/ErrorLog.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Entities
|
||||
{
|
||||
public class ErrorLog
|
||||
{
|
||||
public string TrxNum { get; set; }
|
||||
public short Seq { get; set; }
|
||||
public int LineNum { get; set; }
|
||||
public int ReleaseNum { get; set; }
|
||||
public DateTime? ErrDate { get; set; }
|
||||
public short? ErrNum { get; set; }
|
||||
public string ErrMsg { get; set; }
|
||||
public string TrxCode { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
}
|
||||
}
|
||||
26
SytelineSaAppEfDataModel/MappingProfile.cs
Normal file
26
SytelineSaAppEfDataModel/MappingProfile.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using AutoMapper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using SytelineSaAppEfDataModel.Entities;
|
||||
|
||||
namespace SytelineSaAppEfDataModel
|
||||
{
|
||||
public class MappingProfile : Profile
|
||||
{
|
||||
public MappingProfile()
|
||||
{
|
||||
CreateMap<EntityBase, DtoBase>().ReverseMap();
|
||||
CreateMap<EdiCustomerOrder, EdiCustomerOrderDto>().ReverseMap();
|
||||
CreateMap<EdiCustomerOrderLine, EdiCustomerOrderLineDto>().ReverseMap();
|
||||
CreateMap<EdiCustomerOrderLineItem, EdiCustomerOrderLineItemDto>().ReverseMap();
|
||||
CreateMap<EdiCustomerOrderTranslate, EdiCustomerOrderTranslateDto>().ReverseMap();
|
||||
CreateMap<ErrorLog, ErrorLogDto>().ReverseMap();
|
||||
CreateMap<CustomerOrder, CustomerOrderDto>().ReverseMap();
|
||||
CreateMap<CustomerOrderLine, CustomerOrderLineDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
41
SytelineSaAppEfDataModel/Services/CustomerOrderService.cs
Normal file
41
SytelineSaAppEfDataModel/Services/CustomerOrderService.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using AutoMapper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public class CustomerOrderService(SytelineSaAppDbContext context, IMapper mapper) : ICustomerOrderService
|
||||
{
|
||||
public async Task<IEnumerable<CustomerOrderDto>> GetAll()
|
||||
{
|
||||
return await context.CustomerOrders.Select(x => mapper.Map<CustomerOrderDto>(x))
|
||||
.OrderByDescending(x => x.CreateDate).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<CustomerOrderDto?> GetByOrderNumber(string orderNumber)
|
||||
{
|
||||
CustomerOrderDto? customerOrder = await context.CustomerOrders
|
||||
.Where(x => x.CoNum == orderNumber)
|
||||
.Select(x => mapper.Map<CustomerOrderDto>(x)).FirstOrDefaultAsync();
|
||||
if (customerOrder == null) return null;
|
||||
|
||||
customerOrder.CustomerOrderLines = await context.CustomerOrderLines
|
||||
.Where(x => x.CoNum == orderNumber)
|
||||
.Select(x => mapper.Map<CustomerOrderLineDto>(x)).ToListAsync();
|
||||
|
||||
foreach (CustomerOrderLineDto customerOrderLine in customerOrder.CustomerOrderLines)
|
||||
{
|
||||
customerOrderLine.CustomerOrderLineItems = await context.CustomerOrderLineItems
|
||||
.Where(x => x.CoNum == orderNumber && x.CoLine == customerOrderLine.CoLine)
|
||||
.Select(x => mapper.Map<CustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
return customerOrder;
|
||||
}
|
||||
}
|
||||
}
|
||||
114
SytelineSaAppEfDataModel/Services/EdiCustomerOrderService.cs
Normal file
114
SytelineSaAppEfDataModel/Services/EdiCustomerOrderService.cs
Normal file
@@ -0,0 +1,114 @@
|
||||
using AutoMapper;
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Data;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
using SytelineSaAppEfDataModel.Entities;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public class EdiCustomerOrderService(SytelineSaAppDbContext context, IMapper mapper) : IEdiCustomerOrderService
|
||||
{
|
||||
public async Task<IEnumerable<EdiCustomerOrderDto>> GetAll()
|
||||
{
|
||||
IList<EdiCustomerOrderTranslateDto> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
|
||||
.Select(x => mapper.Map<EdiCustomerOrderTranslateDto>(x)).ToListAsync();
|
||||
|
||||
IList<EdiCustomerOrderDto> ediCustomerOrders =
|
||||
await context.EdiCustomerOrders.Select(x => mapper.Map<EdiCustomerOrderDto>(x)).ToListAsync();
|
||||
|
||||
IDictionary<string, List<EdiCustomerOrderTranslateDto>> ediTranslatesByCoNumber = ediCustomerOrderTranslates
|
||||
.GroupBy(x => x.EdiCoCoNum).ToDictionary(x => x.Key, y => y.ToList());
|
||||
|
||||
foreach (EdiCustomerOrderDto ediCustomerOrder in ediCustomerOrders)
|
||||
{
|
||||
if (!ediTranslatesByCoNumber.TryGetValue(ediCustomerOrder.CustomerOrderNumber,
|
||||
out List<EdiCustomerOrderTranslateDto>? customerOrderTranslates)) continue;
|
||||
|
||||
customerOrderTranslates = customerOrderTranslates.OrderByDescending(x => x.CreatedDate).ToList();
|
||||
ediCustomerOrder.EdiCustomerOrderTranslates = customerOrderTranslates;
|
||||
}
|
||||
|
||||
return ediCustomerOrders;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<EdiCustomerOrderDto?>> GetByDate(DateTime date)
|
||||
{
|
||||
IList<EdiCustomerOrderDto?> customerOrders = new List<EdiCustomerOrderDto?>();
|
||||
|
||||
IList<string> orderNumbers = await context.EdiCustomerOrders.Where(x => x.CreateDate > date)
|
||||
.Select(x => x.CustomerOrderNumber).ToListAsync();
|
||||
|
||||
foreach (string orderNumber in orderNumbers)
|
||||
{
|
||||
customerOrders.Add(await GetByOrderNumber(orderNumber));
|
||||
}
|
||||
|
||||
return customerOrders;
|
||||
}
|
||||
|
||||
public async Task<EdiCustomerOrderDto?> GetByOrderNumber(string customerOrderNumber)
|
||||
{
|
||||
IList<EdiCustomerOrderLineDto> ediCustomerOrderLines = await context.EdiCustomerOrderLines
|
||||
.Where(x => x.CustomerOrderNumber == customerOrderNumber)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderLineDto>(x)).ToListAsync();
|
||||
|
||||
foreach (EdiCustomerOrderLineDto ediCustomerOrderLine in ediCustomerOrderLines)
|
||||
{
|
||||
ediCustomerOrderLine.EdiCustomerOrderLineItems = await context.EdiCustomerOrderLineItems
|
||||
.Where(x => x.CustomerOrderNumber == customerOrderNumber &&
|
||||
x.CustomerOrderLine == ediCustomerOrderLine.CustomerOrderLine)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
EdiCustomerOrderDto ediCustomerOrder = mapper.Map<EdiCustomerOrderDto>(
|
||||
await context.EdiCustomerOrders.FirstOrDefaultAsync(x => x.CustomerOrderNumber == customerOrderNumber));
|
||||
|
||||
if (ediCustomerOrder == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
IList<EdiCustomerOrderTranslateDto> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
|
||||
.Where(x => x.EdiCoCoNum == ediCustomerOrder.CustomerOrderNumber)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderTranslateDto>(x)).ToListAsync();
|
||||
|
||||
ediCustomerOrder.EdiCustomerOrderLines = ediCustomerOrderLines;
|
||||
ediCustomerOrder.EdiCustomerOrderTranslates = ediCustomerOrderTranslates;
|
||||
|
||||
return ediCustomerOrder;
|
||||
}
|
||||
|
||||
public async Task<int> SendOrderToSyteline(string customerOrderNumber)
|
||||
{
|
||||
var ediCoNum = new SqlParameter("@PEdiCoNum", SqlDbType.NVarChar, 50) { Value = customerOrderNumber };
|
||||
var ediCoCount = new SqlParameter("@PEdiCoCount", SqlDbType.Int) { Value = 0, Direction = ParameterDirection.Output };
|
||||
var postedCount = new SqlParameter("@PPostedCount", SqlDbType.Int) { Value = 0, Direction = ParameterDirection.Output };
|
||||
var infoBar = new SqlParameter("@Infobar", SqlDbType.NVarChar, 2800) { Value = "", Direction = ParameterDirection.Output };
|
||||
var autoPost = new SqlParameter("@AutoPost", SqlDbType.Int) { Value = 0 };
|
||||
var processId = new SqlParameter("@ProcessId", SqlDbType.Int) { Value = 423456 };
|
||||
|
||||
await context.Database.ExecuteSqlRawAsync(
|
||||
"EXEC [dbo].[FKR_EDI_EXTGEN_EdiInOrderPSp] @PEdiCoNum, @PEdiCoCount OUT, @PPostedCount OUT, @Infobar OUT, @AutoPost, @ProcessId",
|
||||
ediCoNum, ediCoCount, postedCount, infoBar, autoPost, processId);
|
||||
|
||||
//var result = await context.Database.ExecuteSqlRawAsync(
|
||||
// "EXEC [dbo].[FKR_EDI_EXTGEN_EdiInOrderPSp] @PEdiCoNum, @PEdiCoCount, @PPostedCount, @Infobar, @AutoPost, @ProcessId",
|
||||
// parameter1, parameter2, parameter3, parameter4, parameter5, parameter6);
|
||||
|
||||
string? infoBarResult = infoBar.Value?.ToString();
|
||||
int ediCoCountResult = Convert.ToInt32(ediCoCount.Value);
|
||||
int postedCountResult = Convert.ToInt32(postedCount.Value);
|
||||
|
||||
Console.WriteLine($"EDI Co Num: {infoBarResult}");
|
||||
Console.WriteLine($"EDI Co Count: {ediCoCountResult}");
|
||||
Console.WriteLine($"Posted Count: {postedCountResult}");
|
||||
|
||||
return postedCountResult;
|
||||
//// Jeśli chcesz pobrać wyniki procedury składowanej:
|
||||
//var results = context.SomeEntity.FromSqlRaw(
|
||||
// "EXEC YourStoredProcedure @Param1, @Param2",
|
||||
// parameter1, parameter2).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
25
SytelineSaAppEfDataModel/Services/ErrorLogService.cs
Normal file
25
SytelineSaAppEfDataModel/Services/ErrorLogService.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using AutoMapper;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public class ErrorLogService(SytelineSaAppDbContext context, IMapper mapper) : IErrorLogService
|
||||
{
|
||||
public async Task<IEnumerable<ErrorLogDto>> GetAll()
|
||||
{
|
||||
return await context.ErrorLogs.Select(x => mapper.Map<ErrorLogDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ErrorLogDto>> GetByOrderNumber(string customerOrderNumber)
|
||||
{
|
||||
return await context.ErrorLogs.Where(x => x.TrxNum == customerOrderNumber)
|
||||
.Select(x => mapper.Map<ErrorLogDto>(x)).ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
15
SytelineSaAppEfDataModel/Services/ICustomerOrderService.cs
Normal file
15
SytelineSaAppEfDataModel/Services/ICustomerOrderService.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public interface ICustomerOrderService
|
||||
{
|
||||
Task<IEnumerable<CustomerOrderDto>> GetAll();
|
||||
Task<CustomerOrderDto?> GetByOrderNumber(string orderNumber);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public interface IEdiCustomerOrderService
|
||||
{
|
||||
Task<IEnumerable<EdiCustomerOrderDto>> GetAll();
|
||||
Task<IEnumerable<EdiCustomerOrderDto?>> GetByDate(DateTime date);
|
||||
Task<EdiCustomerOrderDto?> GetByOrderNumber(string orderNumber);
|
||||
Task<int> SendOrderToSyteline(string customerOrderNumber);
|
||||
}
|
||||
}
|
||||
15
SytelineSaAppEfDataModel/Services/IErrorLogService.cs
Normal file
15
SytelineSaAppEfDataModel/Services/IErrorLogService.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
public interface IErrorLogService
|
||||
{
|
||||
Task<IEnumerable<ErrorLogDto>> GetAll();
|
||||
Task<IEnumerable<ErrorLogDto>> GetByOrderNumber(string customerOrderNumber);
|
||||
}
|
||||
}
|
||||
631
SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs
Normal file
631
SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs
Normal file
@@ -0,0 +1,631 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using SytelineSaAppEfDataModel.Entities;
|
||||
|
||||
namespace SytelineSaAppEfDataModel
|
||||
{
|
||||
public class SytelineSaAppDbContext : DbContext
|
||||
{
|
||||
public SytelineSaAppDbContext(DbContextOptions<SytelineSaAppDbContext> options) : base(options) { }
|
||||
|
||||
public DbSet<EdiCustomerOrder> EdiCustomerOrders { get; set; }
|
||||
public DbSet<EdiCustomerOrderLine> EdiCustomerOrderLines { get; set; }
|
||||
public DbSet<EdiCustomerOrderLineItem> EdiCustomerOrderLineItems { get; set; }
|
||||
public DbSet<EdiCustomerOrderTranslate> EdiCustomerOrderTranslates { get; set; }
|
||||
public DbSet<ErrorLog> ErrorLogs { get; set; }
|
||||
public DbSet<CustomerOrder> CustomerOrders { get; set; }
|
||||
public DbSet<CustomerOrderLine> CustomerOrderLines { get; set; }
|
||||
public DbSet<CustomerOrderLineItem> CustomerOrderLineItems { get; set; }
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("appsettings.json")
|
||||
.Build();
|
||||
|
||||
var connectionString = configuration.GetConnectionString("SytelineSaAppConnection");
|
||||
optionsBuilder.UseSqlServer(connectionString, options => options.CommandTimeout(300));
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<EdiCustomerOrder>(entity =>
|
||||
{
|
||||
entity.ToTable("edi_co");
|
||||
|
||||
entity.HasKey(e => e.RowPointer);
|
||||
|
||||
entity.Property(e => e.TransactionCode).IsRequired(false).HasColumnName("trx_code").HasMaxLength(8);
|
||||
entity.Property(e => e.TpCode).IsRequired(false).HasColumnName("tp_code").HasMaxLength(40);
|
||||
entity.Property(e => e.RecivedDate).IsRequired(false).HasColumnName("recv_date");
|
||||
entity.Property(e => e.Posted).IsRequired(false).HasColumnName("posted");
|
||||
entity.Property(e => e.PostedDate).IsRequired(false).HasColumnName("post_date");
|
||||
entity.Property(e => e.ExtendedDate).IsRequired(false).HasColumnName("ext_date");
|
||||
entity.Property(e => e.ErrorMessage).IsRequired(false).HasColumnName("errmsg");
|
||||
entity.Property(e => e.Override).IsRequired(false).HasColumnName("override");
|
||||
entity.Property(e => e.Ack).IsRequired(false).HasColumnName("ack");
|
||||
entity.Property(e => e.AckNumber).IsRequired(false).HasColumnName("ack_num").HasMaxLength(7);
|
||||
entity.Property(e => e.AckSequence).IsRequired(false).HasColumnName("ack_seq");
|
||||
entity.Property(e => e.AckType).IsRequired(false).HasColumnName("ack_type").HasMaxLength(2);
|
||||
entity.Property(e => e.AckDate).IsRequired(false).HasColumnName("ack_date");
|
||||
entity.Property(e => e.SymbolicCustomerOrderNumber).IsRequired(false).HasColumnName("sym_co_num").HasMaxLength(10);
|
||||
entity.Property(e => e.BlanketDollar).IsRequired(false).HasColumnName("blnkt_dollar");
|
||||
entity.Property(e => e.Type).IsRequired(false).HasColumnName("type").HasMaxLength(1);
|
||||
entity.Property(e => e.CustomerOrderNumber).IsRequired(false).HasColumnName("co_num").HasMaxLength(10).IsRequired();
|
||||
entity.Property(e => e.EstimatedNumber).IsRequired(false).HasColumnName("est_num").HasMaxLength(10);
|
||||
entity.Property(e => e.CustomerNumber).IsRequired(false).HasColumnName("cust_num").HasMaxLength(7);
|
||||
entity.Property(e => e.CustomerSequence).IsRequired(false).HasColumnName("cust_seq");
|
||||
entity.Property(e => e.Contact).IsRequired(false).HasColumnName("contact").HasMaxLength(30);
|
||||
entity.Property(e => e.Phone).IsRequired(false).HasColumnName("phone").HasMaxLength(25);
|
||||
entity.Property(e => e.CustomerPoNumber).IsRequired(false).HasColumnName("cust_po").HasMaxLength(22);
|
||||
entity.Property(e => e.OrderDate).IsRequired(false).HasColumnName("order_date");
|
||||
entity.Property(e => e.TakenBy).IsRequired(false).HasColumnName("taken_by").HasMaxLength(15);
|
||||
entity.Property(e => e.TermsCode).IsRequired(false).HasColumnName("terms_code").HasMaxLength(3);
|
||||
entity.Property(e => e.ShipCode).IsRequired(false).HasColumnName("ship_code").HasMaxLength(4);
|
||||
entity.Property(e => e.Price).IsRequired(false).HasColumnName("price");
|
||||
entity.Property(e => e.Weight).IsRequired(false).HasColumnName("weight");
|
||||
entity.Property(e => e.QtyPackages).IsRequired(false).HasColumnName("qty_packages");
|
||||
entity.Property(e => e.Freight).IsRequired(false).HasColumnName("freight");
|
||||
entity.Property(e => e.MiscCharges).IsRequired(false).HasColumnName("misc_charges");
|
||||
entity.Property(e => e.PrepaidAmount).IsRequired(false).HasColumnName("prepaid_amt");
|
||||
entity.Property(e => e.SalesTax).IsRequired(false).HasColumnName("sales_tax");
|
||||
entity.Property(e => e.Status).IsRequired(false).HasColumnName("stat").HasMaxLength(1);
|
||||
entity.Property(e => e.Cost).IsRequired(false).HasColumnName("cost");
|
||||
entity.Property(e => e.CloseDate).IsRequired(false).HasColumnName("close_date");
|
||||
entity.Property(e => e.FreightT).IsRequired(false).HasColumnName("freight_t");
|
||||
entity.Property(e => e.MchargesT).IsRequired(false).HasColumnName("m_charges_t");
|
||||
entity.Property(e => e.PrepaidT).IsRequired(false).HasColumnName("prepaid_t");
|
||||
entity.Property(e => e.SalesTaxT).IsRequired(false).HasColumnName("sales_tax_t");
|
||||
entity.Property(e => e.Salesman).IsRequired(false).HasColumnName("slsman").HasMaxLength(8);
|
||||
entity.Property(e => e.EffectiveDate).IsRequired(false).HasColumnName("eff_date");
|
||||
entity.Property(e => e.ExpirationDate).IsRequired(false).HasColumnName("exp_date");
|
||||
entity.Property(e => e.Warehouse).IsRequired(false).HasColumnName("whse").HasMaxLength(4);
|
||||
entity.Property(e => e.SalesTaxTwo).IsRequired(false).HasColumnName("sales_tax_2");
|
||||
entity.Property(e => e.SalesTaxTwoT).IsRequired(false).HasColumnName("sales_tax_t2");
|
||||
entity.Property(e => e.CharFieldOne).IsRequired(false).HasColumnName("charfld1").HasMaxLength(20);
|
||||
entity.Property(e => e.CharFieldTwo).IsRequired(false).HasColumnName("charfld2").HasMaxLength(20);
|
||||
entity.Property(e => e.CharFieldThree).IsRequired(false).HasColumnName("charfld3").HasMaxLength(20);
|
||||
entity.Property(e => e.DateField).IsRequired(false).HasColumnName("datefld");
|
||||
entity.Property(e => e.DecimalFieldOne).IsRequired(false).HasColumnName("decifld1");
|
||||
entity.Property(e => e.DecimalFieldTwo).IsRequired(false).HasColumnName("decifld2");
|
||||
entity.Property(e => e.DecimalFieldThree).IsRequired(false).HasColumnName("decifld3");
|
||||
entity.Property(e => e.LogiField).IsRequired(false).HasColumnName("logifld");
|
||||
entity.Property(e => e.EdiOrder).IsRequired(false).HasColumnName("edi_order");
|
||||
entity.Property(e => e.TransactionNat).IsRequired(false).HasColumnName("trans_nat").HasMaxLength(2);
|
||||
entity.Property(e => e.ProcessInd).IsRequired(false).HasColumnName("process_ind").HasMaxLength(1);
|
||||
entity.Property(e => e.DelTerm).IsRequired(false).HasColumnName("delterm").HasMaxLength(4);
|
||||
entity.Property(e => e.UseExchangeRate).IsRequired(false).HasColumnName("use_exch_rate");
|
||||
entity.Property(e => e.TaxCodeOne).IsRequired(false).HasColumnName("tax_code1").HasMaxLength(6);
|
||||
entity.Property(e => e.TaxCodeTwo).IsRequired(false).HasColumnName("tax_code2").HasMaxLength(6);
|
||||
entity.Property(e => e.FreightTaxCodeOne).IsRequired(false).HasColumnName("frt_tax_code1").HasMaxLength(6);
|
||||
entity.Property(e => e.FreightTaxCodeTwo).IsRequired(false).HasColumnName("frt_tax_code2").HasMaxLength(6);
|
||||
entity.Property(e => e.MscTaxCodeOne).IsRequired(false).HasColumnName("msc_tax_code1").HasMaxLength(6);
|
||||
entity.Property(e => e.MscTaxCodeTwo).IsRequired(false).HasColumnName("msc_tax_code2").HasMaxLength(6);
|
||||
entity.Property(e => e.Discount).IsRequired(false).HasColumnName("disc");
|
||||
entity.Property(e => e.PriceCode).IsRequired(false).HasColumnName("pricecode").HasMaxLength(3);
|
||||
entity.Property(e => e.ShipPartial).IsRequired(false).HasColumnName("ship_partial");
|
||||
entity.Property(e => e.ShipEarly).IsRequired(false).HasColumnName("ship_early");
|
||||
entity.Property(e => e.NonApplyData).IsRequired(false).HasColumnName("non_appl_data").HasMaxLength(75);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer");
|
||||
entity.Property(e => e.CreatedBy).IsRequired(false).HasColumnName("CreatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.UpdatedBy).IsRequired(false).HasColumnName("UpdatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow");
|
||||
entity.Property(e => e.DiscountType).IsRequired(false).HasColumnName("discount_type").HasMaxLength(1);
|
||||
entity.Property(e => e.DiscountAmount).IsRequired(false).HasColumnName("disc_amount");
|
||||
entity.Property(e => e.TransNatTwo).IsRequired(false).HasColumnName("trans_nat_2").HasMaxLength(2);
|
||||
entity.Property(e => e.UfFkrEdiMessageRefNum).IsRequired(false).HasColumnName("uf_FKR_EDI_MessageRefNum").HasMaxLength(35);
|
||||
entity.Property(e => e.UfFkrEdiConsigneeAddress).IsRequired(false).HasColumnName("Uf_FKR_EDI_ConsigneeAddress").HasMaxLength(35);
|
||||
entity.Property(e => e.UfFkrEdiConsigneeName).IsRequired(false).HasColumnName("Uf_FKR_EDI_ConsigneeName").HasMaxLength(35);
|
||||
entity.Property(e => e.UfFkrEdiFileName).IsRequired(false).HasColumnName("Uf_FKR_EDI_FileName");
|
||||
entity.Property(e => e.UfFkrEdiBuyerDunsNumber).IsRequired(false).HasColumnName("uf_FKR_EDI_BuyerDunsNumber").HasMaxLength(35);
|
||||
entity.Property(e => e.Gate).IsRequired(false).HasColumnName("Uf_FKR_EDI_Gate").HasMaxLength(255);
|
||||
entity.Property(e => e.CustomerName).IsRequired(false).HasColumnName("Uf_FKR_EDI_CustName").HasMaxLength(255);
|
||||
entity.Property(e => e.RecipientCode).IsRequired(false).HasColumnName("Uf_FKR_EDI_RecipientCode").HasMaxLength(50);
|
||||
entity.Property(e => e.SenderCode).IsRequired(false).HasColumnName("Uf_FKR_EDI_SenderCode").HasMaxLength(50);
|
||||
entity.Property(e => e.SellerCode).IsRequired(false).HasColumnName("Uf_FKR_EDI_SellerCode").HasMaxLength(50);
|
||||
entity.Property(e => e.DocType).IsRequired(false).HasColumnName("Uf_DocType").HasMaxLength(50);
|
||||
entity.Property(e => e.BuyerCode).IsRequired(false).HasColumnName("Uf_FKR_EDI_BuyerCode").HasMaxLength(50);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<EdiCustomerOrderLine>(entity =>
|
||||
{
|
||||
entity.ToTable("edi_cobln");
|
||||
|
||||
entity.HasKey(e => e.RowPointer);
|
||||
|
||||
entity.Property(e => e.CustomerOrderNumber).IsRequired(false).HasColumnName("co_num").HasMaxLength(10).IsRequired();
|
||||
entity.Property(e => e.CustomerOrderLine).HasColumnType("smallint").HasColumnName("co_line").IsRequired();
|
||||
entity.Property(e => e.Item).IsRequired(false).HasColumnName("item").HasMaxLength(30);
|
||||
entity.Property(e => e.CustomerItemNumber).IsRequired(false).HasColumnName("cust_item").HasMaxLength(30);
|
||||
entity.Property(e => e.FeatStr).IsRequired(false).HasColumnName("feat_str").HasMaxLength(40);
|
||||
entity.Property(e => e.BlanketQty).IsRequired(false).HasColumnName("blanket_qty");
|
||||
entity.Property(e => e.EffectiveDate).HasColumnName("eff_date");
|
||||
entity.Property(e => e.ExpirationDate).HasColumnName("exp_date");
|
||||
entity.Property(e => e.ContPrice).IsRequired(false).HasColumnName("cont_price");
|
||||
entity.Property(e => e.Status).IsRequired(false).HasColumnName("stat").HasMaxLength(1);
|
||||
entity.Property(e => e.PromiseDate).HasColumnName("promise_date");
|
||||
entity.Property(e => e.PriceCode).IsRequired(false).HasColumnName("pricecode").HasMaxLength(3);
|
||||
entity.Property(e => e.Uom).IsRequired(false).HasColumnName("u_m").HasMaxLength(3);
|
||||
entity.Property(e => e.BlanketQtyReleased).IsRequired(false).HasColumnName("blanket_qty_conv");
|
||||
entity.Property(e => e.ContPriceReleased).IsRequired(false).HasColumnName("cont_price_conv");
|
||||
entity.Property(e => e.QtySent).IsRequired(false).HasColumnName("qty_bco");
|
||||
entity.Property(e => e.SentCode).IsRequired(false).HasColumnName("bco_code").HasMaxLength(1);
|
||||
entity.Property(e => e.NonAppliedData).IsRequired(false).HasColumnName("non_appl_data").HasMaxLength(75);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer");
|
||||
entity.Property(e => e.Description).IsRequired(false).HasColumnName("description").HasMaxLength(40);
|
||||
entity.Property(e => e.CreatedBy).IsRequired(false).HasColumnName("CreatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.UpdatedBy).IsRequired(false).HasColumnName("UpdatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow");
|
||||
entity.Property(e => e.BoxType).IsRequired(false).HasColumnName("Uf_FKR_EDI_BLN_BoxType").HasMaxLength(150);
|
||||
entity.Property(e => e.Address).IsRequired(false).HasColumnName("Uf_FKR_EDI_BLN_Address").HasMaxLength(100);
|
||||
entity.Property(e => e.FinalDestination).IsRequired(false).HasColumnName("Uf_FKR_EDI_BLN_FinalDestination").HasMaxLength(100);
|
||||
entity.Property(e => e.QtyPerBox).IsRequired(false).HasColumnName("Uf_FKR_EDI_BLN_QtyPerBox");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<EdiCustomerOrderLineItem>(entity =>
|
||||
{
|
||||
entity.ToTable("edi_coitem");
|
||||
|
||||
entity.HasKey(e => e.RowPointer);
|
||||
|
||||
entity.Property(e => e.TransactionCode).IsRequired(false).HasColumnName("trx_code").HasMaxLength(8);
|
||||
entity.Property(e => e.ReceivedDate).HasColumnName("recv_date");
|
||||
entity.Property(e => e.Posted).IsRequired(false).HasColumnName("posted");
|
||||
entity.Property(e => e.PostedDate).HasColumnName("post_date");
|
||||
entity.Property(e => e.ExtendedDate).HasColumnName("ext_date");
|
||||
entity.Property(e => e.ErrorMessage).IsRequired(false).HasColumnName("errmsg");
|
||||
entity.Property(e => e.Override).IsRequired(false).HasColumnName("override");
|
||||
entity.Property(e => e.Edi).IsRequired(false).HasColumnName("edi");
|
||||
entity.Property(e => e.Ack).IsRequired(false).HasColumnName("ack");
|
||||
entity.Property(e => e.AckNumber).IsRequired(false).HasColumnName("ack_num").HasMaxLength(7);
|
||||
entity.Property(e => e.AckType).IsRequired(false).HasColumnName("ack_type").HasMaxLength(2);
|
||||
entity.Property(e => e.AckDate).HasColumnName("ack_date");
|
||||
entity.Property(e => e.SymCustomerOrderNumber).IsRequired(false).HasColumnName("sym_co_num").HasMaxLength(10);
|
||||
entity.Property(e => e.QtyChanged).IsRequired(false).HasColumnName("qty_chg");
|
||||
entity.Property(e => e.DateChanged).IsRequired(false).HasColumnName("date_chg");
|
||||
entity.Property(e => e.PriceChanged).IsRequired(false).HasColumnName("price_chg");
|
||||
entity.Property(e => e.CustomerOrderNumber).HasColumnName("co_num").HasMaxLength(10).IsRequired();
|
||||
entity.Property(e => e.CustomerOrderLine).HasColumnType("smallint").HasColumnName("co_line").IsRequired();
|
||||
entity.Property(e => e.CustomerOrderRelease).HasColumnType("smallint").HasColumnName("co_release").IsRequired();
|
||||
entity.Property(e => e.Item).IsRequired(false).HasColumnName("item").HasMaxLength(30);
|
||||
entity.Property(e => e.QtyOrdered).IsRequired(false).HasColumnName("qty_ordered");
|
||||
entity.Property(e => e.QtyReady).IsRequired(false).HasColumnName("qty_ready");
|
||||
entity.Property(e => e.QtyShipped).IsRequired(false).HasColumnName("qty_shipped");
|
||||
entity.Property(e => e.QtyPacked).IsRequired(false).HasColumnName("qty_packed");
|
||||
entity.Property(e => e.Discount).IsRequired(false).HasColumnName("disc");
|
||||
entity.Property(e => e.Cost).IsRequired(false).HasColumnName("cost");
|
||||
entity.Property(e => e.Price).IsRequired(false).HasColumnName("price");
|
||||
entity.Property(e => e.RefType).IsRequired(false).HasColumnName("ref_type").HasMaxLength(1);
|
||||
entity.Property(e => e.RefNumber).IsRequired(false).HasColumnName("ref_num").HasMaxLength(10);
|
||||
entity.Property(e => e.RefLineSuf).IsRequired(false).HasColumnName("ref_line_suf");
|
||||
entity.Property(e => e.RefRelease).IsRequired(false).HasColumnName("ref_release");
|
||||
entity.Property(e => e.DueDate).HasColumnName("due_date");
|
||||
entity.Property(e => e.ShipDate).HasColumnName("ship_date");
|
||||
entity.Property(e => e.BrkQtyOne).IsRequired(false).HasColumnName("brk_qty##1");
|
||||
entity.Property(e => e.BrkQtyTwo).IsRequired(false).HasColumnName("brk_qty##2");
|
||||
entity.Property(e => e.BrkQtyThree).IsRequired(false).HasColumnName("brk_qty##3");
|
||||
entity.Property(e => e.BrkQtyFour).IsRequired(false).HasColumnName("brk_qty##4");
|
||||
entity.Property(e => e.BrkQtyFive).IsRequired(false).HasColumnName("brk_qty##5");
|
||||
entity.Property(e => e.Reprice).IsRequired(false).HasColumnName("reprice");
|
||||
entity.Property(e => e.CustomerItem).IsRequired(false).HasColumnName("cust_item").HasMaxLength(30);
|
||||
entity.Property(e => e.QtyInvoiced).IsRequired(false).HasColumnName("qty_invoiced");
|
||||
entity.Property(e => e.QtyReturned).IsRequired(false).HasColumnName("qty_returned");
|
||||
entity.Property(e => e.CgsTotal).IsRequired(false).HasColumnName("cgs_total");
|
||||
entity.Property(e => e.FeatStr).IsRequired(false).HasColumnName("feat_str").HasMaxLength(40);
|
||||
entity.Property(e => e.Status).IsRequired(false).HasColumnName("stat").HasMaxLength(1);
|
||||
entity.Property(e => e.CustomerNumber).IsRequired(false).HasColumnName("cust_num").HasMaxLength(7);
|
||||
entity.Property(e => e.CustomerSequence).IsRequired(false).HasColumnName("cust_seq");
|
||||
entity.Property(e => e.PrgBillTot).IsRequired(false).HasColumnName("prg_bill_tot");
|
||||
entity.Property(e => e.PrgBillApp).IsRequired(false).HasColumnName("prg_bill_app");
|
||||
entity.Property(e => e.ReleaseDate).HasColumnName("release_date");
|
||||
entity.Property(e => e.PromiseDate).HasColumnName("promise_date");
|
||||
entity.Property(e => e.Warehouse).IsRequired(false).HasColumnName("whse").HasMaxLength(4);
|
||||
entity.Property(e => e.WksBasis).IsRequired(false).HasColumnName("wks_basis").HasMaxLength(1);
|
||||
entity.Property(e => e.WksValue).IsRequired(false).HasColumnName("wks_value");
|
||||
entity.Property(e => e.CommCode).IsRequired(false).HasColumnName("comm_code").HasMaxLength(12);
|
||||
entity.Property(e => e.TransNat).IsRequired(false).HasColumnName("trans_nat").HasMaxLength(2);
|
||||
entity.Property(e => e.ProcessInd).IsRequired(false).HasColumnName("process_ind").HasMaxLength(1);
|
||||
entity.Property(e => e.DelTerm).IsRequired(false).HasColumnName("delterm").HasMaxLength(4);
|
||||
entity.Property(e => e.UnitWeight).IsRequired(false).HasColumnName("unit_weight");
|
||||
entity.Property(e => e.Origin).IsRequired(false).HasColumnName("origin").HasMaxLength(2);
|
||||
entity.Property(e => e.ConsNumber).IsRequired(false).HasColumnName("cons_num");
|
||||
entity.Property(e => e.TaxCodeOne).IsRequired(false).HasColumnName("tax_code1").HasMaxLength(6);
|
||||
entity.Property(e => e.TaxCodeTwo).IsRequired(false).HasColumnName("tax_code2").HasMaxLength(6);
|
||||
entity.Property(e => e.ExportValue).IsRequired(false).HasColumnName("export_value");
|
||||
entity.Property(e => e.EcCode).IsRequired(false).HasColumnName("ec_code").HasMaxLength(2);
|
||||
entity.Property(e => e.Transport).IsRequired(false).HasColumnName("transport").HasMaxLength(3);
|
||||
entity.Property(e => e.PickupDate).HasColumnName("pick_date");
|
||||
entity.Property(e => e.PriceCode).IsRequired(false).HasColumnName("pricecode").HasMaxLength(3);
|
||||
entity.Property(e => e.Uom).IsRequired(false).HasColumnName("u_m").HasMaxLength(3);
|
||||
entity.Property(e => e.QtyOrderedReleased).IsRequired(false).HasColumnName("qty_ordered_conv");
|
||||
entity.Property(e => e.PriceReleased).IsRequired(false).HasColumnName("price_conv");
|
||||
entity.Property(e => e.CustomerOrderCustomerNumber).IsRequired(false).HasColumnName("co_cust_num").HasMaxLength(7);
|
||||
entity.Property(e => e.Packed).IsRequired(false).HasColumnName("packed");
|
||||
entity.Property(e => e.Bol).IsRequired(false).HasColumnName("bol");
|
||||
entity.Property(e => e.QtyBco).IsRequired(false).HasColumnName("qty_bco");
|
||||
entity.Property(e => e.BcoCode).IsRequired(false).HasColumnName("bco_code").HasMaxLength(1);
|
||||
entity.Property(e => e.ExternalRef).IsRequired(false).HasColumnName("ext_ref").HasMaxLength(6);
|
||||
entity.Property(e => e.CustomerPoNumber).IsRequired(false).HasColumnName("cust_po").HasMaxLength(22);
|
||||
entity.Property(e => e.NonApplyData).IsRequired(false).HasColumnName("non_appl_data").HasMaxLength(75);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer");
|
||||
entity.Property(e => e.Description).IsRequired(false).HasColumnName("description").HasMaxLength(40);
|
||||
entity.Property(e => e.CreatedBy).IsRequired(false).HasColumnName("CreatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.UpdatedBy).IsRequired(false).HasColumnName("UpdatedBy").HasMaxLength(30).IsRequired();
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow");
|
||||
entity.Property(e => e.TransNatTwo).IsRequired(false).HasColumnName("trans_nat_2").HasMaxLength(2);
|
||||
entity.Property(e => e.SupplyQtyConvFactor).HasColumnName("suppl_qty_conv_factor");
|
||||
entity.Property(e => e.UfFkrEdiAddIntDest).IsRequired(false).HasColumnName("uf_FKR_EDI_AddIntDest").HasMaxLength(100);
|
||||
entity.Property(e => e.UfFkrEdiCustPoLineNum).IsRequired(false).HasColumnName("Uf_FKR_EDI_CustPoLineNum").HasMaxLength(100);
|
||||
entity.Property(e => e.UfFkrEdiPlaceOrPortDischarge).IsRequired(false).HasColumnName("uf_FKR_EDI_PlaceOrPortDischarge").HasMaxLength(100);
|
||||
entity.Property(e => e.RoutingCode).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_RoutingCode").HasMaxLength(50);
|
||||
entity.Property(e => e.DeliveryCallNumber).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_DeliveryCallNum").HasMaxLength(50);
|
||||
entity.Property(e => e.UnloadingPoint).IsRequired(false).HasColumnName("Uf_LOC_11_UnloadingPoint").HasMaxLength(50);
|
||||
entity.Property(e => e.DestinationPoint).IsRequired(false).HasColumnName("Uf_LOC_159_DestinationPoint").HasMaxLength(50);
|
||||
entity.Property(e => e.NewStatus).IsRequired(false).HasColumnName("Uf_Status").HasMaxLength(50);
|
||||
entity.Property(e => e.PalletCode).IsRequired(false).HasColumnName("Uf_pci_code").HasMaxLength(1);
|
||||
entity.Property(e => e.PalletNumber).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_PalletCode").HasMaxLength(50);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<EdiCustomerOrderTranslate>(entity =>
|
||||
{
|
||||
entity.ToTable("edi_co_translate");
|
||||
|
||||
entity.Property(e => e.Id).HasColumnName("Id");
|
||||
|
||||
entity.Property(e => e.CoEdiOrder).HasColumnType("byte").HasColumnName("CoEdiOrder");
|
||||
entity.Property(e => e.CoRowPointer).HasColumnName("CoRowPointer");
|
||||
entity.Property(e => e.CoCoNum).HasColumnName("CoCoNum").HasMaxLength(50).IsRequired();
|
||||
entity.Property(e => e.CoType).HasColumnName("CoType").HasMaxLength(1).IsRequired();
|
||||
entity.Property(e => e.CoTakenBy).HasColumnName("CoTakenBy").HasMaxLength(15).IsRequired();
|
||||
entity.Property(e => e.EdiCoCoNum).HasColumnName("EdiCoCoNum").HasMaxLength(10).IsRequired();
|
||||
entity.Property(e => e.OrdersCount).HasColumnName("OrdersCount");
|
||||
entity.Property(e => e.OrderFound).HasColumnName("OrderFound");
|
||||
entity.Property(e => e.CreatedDate).HasColumnName("CreatedDate");
|
||||
entity.Property(e => e.FoundNumbers).IsRequired(false).HasColumnName("FoundNumbers");
|
||||
entity.Property(e => e.ScheduleOrderId).HasColumnName("ScheduleOrderId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ErrorLog>(entity =>
|
||||
{
|
||||
entity.ToTable("err_log");
|
||||
|
||||
entity.HasKey(e => new { e.TrxNum, e.Seq });
|
||||
|
||||
entity.Property(e => e.TrxNum).HasColumnName("trx_num").HasMaxLength(20);
|
||||
entity.Property(e => e.LineNum).HasColumnName("line_num").HasColumnType("smallint");
|
||||
entity.Property(e => e.ReleaseNum).HasColumnName("release_num").HasColumnType("smallint");
|
||||
entity.Property(e => e.ErrDate).HasColumnName("err_date");
|
||||
entity.Property(e => e.Seq).HasColumnName("seq");
|
||||
entity.Property(e => e.ErrNum).HasColumnName("err_num");
|
||||
entity.Property(e => e.ErrMsg).HasColumnName("err_msg").HasMaxLength(5600);
|
||||
entity.Property(e => e.TrxCode).IsRequired(false).HasColumnName("trx_code").HasMaxLength(16);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").HasColumnType("uniqueidentifier");
|
||||
entity.Property(e => e.CreatedBy).HasColumnName("CreatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.UpdatedBy).HasColumnName("UpdatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<CustomerOrder>(entity =>
|
||||
{
|
||||
entity.ToTable("co");
|
||||
|
||||
entity.HasKey(e => e.CoNum);
|
||||
|
||||
entity.Property(e => e.Type).HasColumnName("type").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.CoNum).HasColumnName("co_num").HasMaxLength(20);
|
||||
entity.Property(e => e.EstNum).HasColumnName("est_num").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.CustNum).HasColumnName("cust_num").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.CustSeq).HasColumnName("cust_seq");
|
||||
entity.Property(e => e.Contact).HasColumnName("contact").HasMaxLength(60).IsRequired(false);
|
||||
entity.Property(e => e.Phone).HasColumnName("phone").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.CustPo).HasColumnName("cust_po").HasMaxLength(44).IsRequired(false);
|
||||
entity.Property(e => e.OrderDate).HasColumnName("order_date");
|
||||
entity.Property(e => e.TakenBy).HasColumnName("taken_by").HasMaxLength(30).IsRequired(false);
|
||||
entity.Property(e => e.TermsCode).HasColumnName("terms_code").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.ShipCode).HasColumnName("ship_code").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.Price).HasColumnName("price").IsRequired(false);
|
||||
entity.Property(e => e.Weight).HasColumnName("weight").IsRequired(false);
|
||||
entity.Property(e => e.QtyPackages).HasColumnName("qty_packages").HasColumnType("smallint");
|
||||
entity.Property(e => e.Freight).HasColumnName("freight").IsRequired(false);
|
||||
entity.Property(e => e.MiscCharges).HasColumnName("misc_charges").IsRequired(false);
|
||||
entity.Property(e => e.PrepaidAmt).HasColumnName("prepaid_amt").IsRequired(false);
|
||||
entity.Property(e => e.SalesTax).HasColumnName("sales_tax").IsRequired(false);
|
||||
entity.Property(e => e.Stat).HasColumnName("stat").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Cost).HasColumnName("cost").IsRequired(false);
|
||||
entity.Property(e => e.CloseDate).HasColumnName("close_date").IsRequired(false);
|
||||
entity.Property(e => e.FreightT).HasColumnName("freight_t").IsRequired(false);
|
||||
entity.Property(e => e.MChargesT).HasColumnName("m_charges_t").IsRequired(false);
|
||||
entity.Property(e => e.PrepaidT).HasColumnName("prepaid_t").IsRequired(false);
|
||||
entity.Property(e => e.SalesTaxT).HasColumnName("sales_tax_t").IsRequired(false);
|
||||
entity.Property(e => e.Slsman).HasColumnName("slsman").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.EffDate).HasColumnName("eff_date").IsRequired(false);
|
||||
entity.Property(e => e.ExpDate).HasColumnName("exp_date").IsRequired(false);
|
||||
entity.Property(e => e.Whse).HasColumnName("whse").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.SalesTax2).HasColumnName("sales_tax_2").IsRequired(false);
|
||||
entity.Property(e => e.SalesTaxT2).HasColumnName("sales_tax_t2").IsRequired(false);
|
||||
entity.Property(e => e.EdiOrder).HasColumnName("edi_order").IsRequired(false);
|
||||
entity.Property(e => e.TransNat).HasColumnName("trans_nat").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.ProcessInd).HasColumnName("process_ind").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Delterm).HasColumnName("delterm").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.UseExchRate).HasColumnName("use_exch_rate").IsRequired(false);
|
||||
entity.Property(e => e.TaxCode1).HasColumnName("tax_code1").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.TaxCode2).HasColumnName("tax_code2").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.FrtTaxCode1).HasColumnName("frt_tax_code1").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.FrtTaxCode2).HasColumnName("frt_tax_code2").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.MscTaxCode1).HasColumnName("msc_tax_code1").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.MscTaxCode2).HasColumnName("msc_tax_code2").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.DiscountType).HasColumnName("discount_type").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.DiscAmount).HasColumnName("disc_amount").IsRequired(false);
|
||||
entity.Property(e => e.Disc).HasColumnName("disc").IsRequired(false);
|
||||
entity.Property(e => e.Pricecode).HasColumnName("pricecode").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.ShipPartial).HasColumnName("ship_partial").IsRequired(false);
|
||||
entity.Property(e => e.ShipEarly).HasColumnName("ship_early").IsRequired(false);
|
||||
entity.Property(e => e.MatlCostT).HasColumnName("matl_cost_t").IsRequired(false);
|
||||
entity.Property(e => e.LbrCostT).HasColumnName("lbr_cost_t").IsRequired(false);
|
||||
entity.Property(e => e.FovhdCostT).HasColumnName("fovhd_cost_t").IsRequired(false);
|
||||
entity.Property(e => e.VovhdCostT).HasColumnName("vovhd_cost_t").IsRequired(false);
|
||||
entity.Property(e => e.OutCostT).HasColumnName("out_cost_t").IsRequired(false);
|
||||
entity.Property(e => e.EndUserType).HasColumnName("end_user_type").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.ExchRate).HasColumnName("exch_rate").IsRequired(false);
|
||||
entity.Property(e => e.FixedRate).HasColumnName("fixed_rate").IsRequired(false);
|
||||
entity.Property(e => e.OrigSite).HasColumnName("orig_site").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.LcrNum).HasColumnName("lcr_num").HasMaxLength(40).IsRequired(false);
|
||||
entity.Property(e => e.EdiType).HasColumnName("edi_type").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Invoiced).HasColumnName("invoiced").IsRequired(false);
|
||||
entity.Property(e => e.CreditHold).HasColumnName("credit_hold").IsRequired(false);
|
||||
entity.Property(e => e.CreditHoldDate).HasColumnName("credit_hold_date").IsRequired(false);
|
||||
entity.Property(e => e.CreditHoldReason).HasColumnName("credit_hold_reason").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.CreditHoldUser).HasColumnName("credit_hold_user").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.SyncReqd).HasColumnName("sync_reqd").IsRequired(false);
|
||||
entity.Property(e => e.ProjectedDate).HasColumnName("projected_date").IsRequired(false);
|
||||
entity.Property(e => e.OrderSource).HasColumnName("order_source").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.ConvertType).HasColumnName("convert_type").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.ApsPullUp).HasColumnName("aps_pull_up").IsRequired(false);
|
||||
entity.Property(e => e.Consolidate).HasColumnName("consolidate").IsRequired(false);
|
||||
entity.Property(e => e.InvFreq).HasColumnName("inv_freq").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Summarize).HasColumnName("summarize").IsRequired(false);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag").HasColumnType("tinyint");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").HasColumnType("uniqueidentifier");
|
||||
entity.Property(e => e.Einvoice).HasColumnName("einvoice").IsRequired(false);
|
||||
entity.Property(e => e.Charfld1).HasColumnName("charfld1").HasMaxLength(40).IsRequired(false);
|
||||
entity.Property(e => e.Charfld2).HasColumnName("charfld2").HasMaxLength(40).IsRequired(false);
|
||||
entity.Property(e => e.Charfld3).HasColumnName("charfld3").HasMaxLength(40).IsRequired(false);
|
||||
entity.Property(e => e.Datefld).HasColumnName("datefld").IsRequired(false);
|
||||
entity.Property(e => e.Decifld1).HasColumnName("decifld1").IsRequired(false);
|
||||
entity.Property(e => e.Decifld2).HasColumnName("decifld2").IsRequired(false);
|
||||
entity.Property(e => e.Decifld3).HasColumnName("decifld3").IsRequired(false);
|
||||
entity.Property(e => e.Logifld).HasColumnName("logifld").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.AckStat).HasColumnName("ack_stat").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.ConfigId).HasColumnName("config_id").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.CreatedBy).HasColumnName("CreatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.UpdatedBy).HasColumnName("UpdatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow").HasColumnType("tinyint");
|
||||
entity.Property(e => e.IncludeTaxInPrice).HasColumnName("include_tax_in_price").IsRequired(false);
|
||||
entity.Property(e => e.TransNat2).HasColumnName("trans_nat_2").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.ApplyToInvNum).HasColumnName("apply_to_inv_num").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.ExportType).HasColumnName("export_type").HasMaxLength(2);
|
||||
entity.Property(e => e.ExternalConfirmationRef).HasColumnName("external_confirmation_ref").HasMaxLength(160).IsRequired(false);
|
||||
entity.Property(e => e.IsExternal).HasColumnName("is_external").HasColumnType("tinyint");
|
||||
entity.Property(e => e.ProspectId).HasColumnName("prospect_id").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.OppId).HasColumnName("opp_id").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.LeadId).HasColumnName("lead_id").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.DaysShippedBeforeDueDateTolerance).HasColumnName("days_shipped_before_due_date_tolerance").HasColumnType("smallint");
|
||||
entity.Property(e => e.DaysShippedAfterDueDateTolerance).HasColumnName("days_shipped_after_due_date_tolerance").HasColumnType("smallint");
|
||||
entity.Property(e => e.ShippedOverOrderedQtyTolerance).HasColumnName("shipped_over_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.ShippedUnderOrderedQtyTolerance).HasColumnName("shipped_under_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.Consignment).HasColumnName("consignment").HasColumnType("tinyint");
|
||||
entity.Property(e => e.Priority).HasColumnName("priority").HasColumnType("smallint");
|
||||
entity.Property(e => e.DemandingSite).HasColumnName("demanding_site").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.DemandingSitePoNum).HasColumnName("demanding_site_po_num").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_CoContract).HasColumnName("Uf_FKR_CoContract").IsRequired(false);
|
||||
entity.Property(e => e.Uf_BPX_DeliveryDate).HasColumnName("Uf_BPX_DeliveryDate").IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_CustName).HasColumnName("Uf_FKR_EDI_CustName").HasMaxLength(255).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_Gate).HasColumnName("Uf_FKR_EDI_Gate").HasMaxLength(255).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_RecipientCode).HasColumnName("Uf_FKR_EDI_RecipientCode").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_SellerCode).HasColumnName("Uf_FKR_EDI_SellerCode").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_SenderCode).HasColumnName("Uf_FKR_EDI_SenderCode").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_DocType).HasColumnName("Uf_DocType").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_BuyerCode).HasColumnName("Uf_FKR_EDI_BuyerCode").HasMaxLength(200).IsRequired(false);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<CustomerOrderLine>(entity =>
|
||||
{
|
||||
entity.ToTable("co_bln");
|
||||
|
||||
entity.HasKey(e => new { e.CoNum, e.CoLine });
|
||||
|
||||
entity.Property(e => e.CoNum).HasColumnName("co_num").HasMaxLength(20);
|
||||
entity.Property(e => e.CoLine).HasColumnName("co_line").HasColumnType("smallint");
|
||||
entity.Property(e => e.Item).HasColumnName("item").HasMaxLength(60);
|
||||
entity.Property(e => e.CustItem).HasColumnName("cust_item").HasMaxLength(60).IsRequired(false);
|
||||
entity.Property(e => e.FeatStr).HasColumnName("feat_str").HasMaxLength(80).IsRequired(false);
|
||||
entity.Property(e => e.BlanketQty).HasColumnName("blanket_qty");
|
||||
entity.Property(e => e.EffDate).HasColumnName("eff_date").IsRequired(false);
|
||||
entity.Property(e => e.ExpDate).HasColumnName("exp_date").IsRequired(false);
|
||||
entity.Property(e => e.ContPrice).HasColumnName("cont_price").IsRequired(false);
|
||||
entity.Property(e => e.Stat).HasColumnName("stat").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.PromiseDate).HasColumnName("promise_date").IsRequired(false);
|
||||
entity.Property(e => e.Pricecode).HasColumnName("pricecode").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.UM).HasColumnName("u_m").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.BlanketQtyConv).HasColumnName("blanket_qty_conv");
|
||||
entity.Property(e => e.ContPriceConv).HasColumnName("cont_price_conv").IsRequired(false);
|
||||
entity.Property(e => e.ShipSite).HasColumnName("ship_site").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag").HasColumnType("tinyint");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").HasColumnType("uniqueidentifier");
|
||||
entity.Property(e => e.Description).HasColumnName("description").HasMaxLength(80).IsRequired(false);
|
||||
entity.Property(e => e.ConfigId).HasColumnName("config_id").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.CreatedBy).HasColumnName("CreatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.UpdatedBy).HasColumnName("UpdatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow").HasColumnType("tinyint");
|
||||
entity.Property(e => e.PrintKitComponents).HasColumnName("print_kit_components").HasColumnType("tinyint");
|
||||
entity.Property(e => e.NonInvAcct).HasColumnName("non_inv_acct").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit1).HasColumnName("non_inv_acct_unit1").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit2).HasColumnName("non_inv_acct_unit2").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit3).HasColumnName("non_inv_acct_unit3").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit4).HasColumnName("non_inv_acct_unit4").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.CostConv).HasColumnName("cost_conv").IsRequired(false);
|
||||
entity.Property(e => e.DaysShippedBeforeDueDateTolerance).HasColumnName("days_shipped_before_due_date_tolerance").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.DaysShippedAfterDueDateTolerance).HasColumnName("days_shipped_after_due_date_tolerance").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.ShippedOverOrderedQtyTolerance).HasColumnName("shipped_over_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.ShippedUnderOrderedQtyTolerance).HasColumnName("shipped_under_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.ManufacturerId).HasColumnName("manufacturer_id").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.ManufacturerItem).HasColumnName("manufacturer_item").HasMaxLength(60).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_BLN_Address).HasColumnName("Uf_FKR_EDI_BLN_Address").HasMaxLength(100).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_BLN_BoxType).HasColumnName("Uf_FKR_EDI_BLN_BoxType").HasMaxLength(150).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_BLN_FinalDestination).HasColumnName("Uf_FKR_EDI_BLN_FinalDestination").HasMaxLength(100).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_BLN_QtyPerBox).HasColumnName("Uf_FKR_EDI_BLN_QtyPerBox").IsRequired(false);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<CustomerOrderLineItem>(entity =>
|
||||
{
|
||||
entity.ToTable("coitem");
|
||||
|
||||
entity.HasKey(e => new { e.CoNum, e.CoLine, e.CoRelease });
|
||||
|
||||
entity.Property(e => e.CoNum).HasColumnName("co_num").HasMaxLength(20);
|
||||
entity.Property(e => e.CoLine).HasColumnName("co_line").HasColumnType("smallint");
|
||||
entity.Property(e => e.CoRelease).HasColumnName("co_release").HasColumnType("smallint");
|
||||
entity.Property(e => e.Item).HasColumnName("item").HasMaxLength(60);
|
||||
entity.Property(e => e.QtyOrdered).HasColumnName("qty_ordered");
|
||||
entity.Property(e => e.QtyReady).HasColumnName("qty_ready");
|
||||
entity.Property(e => e.QtyShipped).HasColumnName("qty_shipped");
|
||||
entity.Property(e => e.QtyPacked).HasColumnName("qty_packed");
|
||||
entity.Property(e => e.Disc).HasColumnName("disc");
|
||||
entity.Property(e => e.Cost).HasColumnName("cost");
|
||||
entity.Property(e => e.Price).HasColumnName("price");
|
||||
entity.Property(e => e.RefType).HasColumnName("ref_type").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.RefNum).HasColumnName("ref_num").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.RefLineSuf).HasColumnName("ref_line_suf").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.RefRelease).HasColumnName("ref_release").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.DueDate).HasColumnName("due_date").IsRequired(false);
|
||||
entity.Property(e => e.ShipDate).HasColumnName("ship_date").IsRequired(false);
|
||||
entity.Property(e => e.BrkQty1).HasColumnName("brk_qty1");
|
||||
entity.Property(e => e.BrkQty2).HasColumnName("brk_qty2");
|
||||
entity.Property(e => e.BrkQty3).HasColumnName("brk_qty3");
|
||||
entity.Property(e => e.BrkQty4).HasColumnName("brk_qty4");
|
||||
entity.Property(e => e.BrkQty5).HasColumnName("brk_qty5");
|
||||
entity.Property(e => e.Reprice).HasColumnName("reprice").HasColumnType("tinyint");
|
||||
entity.Property(e => e.CustItem).HasColumnName("cust_item").HasMaxLength(60).IsRequired(false);
|
||||
entity.Property(e => e.QtyInvoiced).HasColumnName("qty_invoiced");
|
||||
entity.Property(e => e.QtyReturned).HasColumnName("qty_returned");
|
||||
entity.Property(e => e.CgsTotal).HasColumnName("cgs_total");
|
||||
entity.Property(e => e.FeatStr).HasColumnName("feat_str").HasMaxLength(80).IsRequired(false);
|
||||
entity.Property(e => e.Stat).HasColumnName("stat").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.CustNum).HasColumnName("cust_num").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.CustSeq).HasColumnName("cust_seq").HasColumnType("int").IsRequired(false);
|
||||
entity.Property(e => e.PrgBillTot).HasColumnName("prg_bill_tot").IsRequired(false);
|
||||
entity.Property(e => e.PrgBillApp).HasColumnName("prg_bill_app").IsRequired(false);
|
||||
entity.Property(e => e.ReleaseDate).HasColumnName("release_date").IsRequired(false);
|
||||
entity.Property(e => e.PromiseDate).HasColumnName("promise_date").IsRequired(false);
|
||||
entity.Property(e => e.Whse).HasColumnName("whse").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.WksBasis).HasColumnName("wks_basis").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.WksValue).HasColumnName("wks_value").IsRequired(false);
|
||||
entity.Property(e => e.CommCode).HasColumnName("comm_code").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.TransNat).HasColumnName("trans_nat").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.ProcessInd).HasColumnName("process_ind").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Delterm).HasColumnName("delterm").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.UnitWeight).HasColumnName("unit_weight").IsRequired(false);
|
||||
entity.Property(e => e.Origin).HasColumnName("origin").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.ConsNum).HasColumnName("cons_num").IsRequired(false);
|
||||
entity.Property(e => e.TaxCode1).HasColumnName("tax_code1").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.TaxCode2).HasColumnName("tax_code2").HasMaxLength(12).IsRequired(false);
|
||||
entity.Property(e => e.ExportValue).HasColumnName("export_value").IsRequired(false);
|
||||
entity.Property(e => e.EcCode).HasColumnName("ec_code").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.Transport).HasColumnName("transport").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.PickDate).HasColumnName("pick_date").IsRequired(false);
|
||||
entity.Property(e => e.Pricecode).HasColumnName("pricecode").HasMaxLength(6).IsRequired(false);
|
||||
entity.Property(e => e.UM).HasColumnName("u_m").HasMaxLength(6);
|
||||
entity.Property(e => e.QtyOrderedConv).HasColumnName("qty_ordered_conv");
|
||||
entity.Property(e => e.PriceConv).HasColumnName("price_conv");
|
||||
entity.Property(e => e.CoCustNum).HasColumnName("co_cust_num").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.Packed).HasColumnName("packed").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.Bol).HasColumnName("bol").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.QtyRsvd).HasColumnName("qty_rsvd");
|
||||
entity.Property(e => e.MatlCost).HasColumnName("matl_cost");
|
||||
entity.Property(e => e.LbrCost).HasColumnName("lbr_cost");
|
||||
entity.Property(e => e.FovhdCost).HasColumnName("fovhd_cost");
|
||||
entity.Property(e => e.VovhdCost).HasColumnName("vovhd_cost");
|
||||
entity.Property(e => e.OutCost).HasColumnName("out_cost");
|
||||
entity.Property(e => e.CgsTotalMatl).HasColumnName("cgs_total_matl");
|
||||
entity.Property(e => e.CgsTotalLbr).HasColumnName("cgs_total_lbr");
|
||||
entity.Property(e => e.CgsTotalFovhd).HasColumnName("cgs_total_fovhd");
|
||||
entity.Property(e => e.CgsTotalVovhd).HasColumnName("cgs_total_vovhd");
|
||||
entity.Property(e => e.CgsTotalOut).HasColumnName("cgs_total_out");
|
||||
entity.Property(e => e.CostConv).HasColumnName("cost_conv");
|
||||
entity.Property(e => e.MatlCostConv).HasColumnName("matl_cost_conv");
|
||||
entity.Property(e => e.LbrCostConv).HasColumnName("lbr_cost_conv");
|
||||
entity.Property(e => e.FovhdCostConv).HasColumnName("fovhd_cost_conv");
|
||||
entity.Property(e => e.VovhdCostConv).HasColumnName("vovhd_cost_conv");
|
||||
entity.Property(e => e.OutCostConv).HasColumnName("out_cost_conv");
|
||||
entity.Property(e => e.ShipSite).HasColumnName("ship_site").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.SyncReqd).HasColumnName("sync_reqd").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.CoOrigSite).HasColumnName("co_orig_site").HasMaxLength(16).IsRequired(false);
|
||||
entity.Property(e => e.CustPo).HasColumnName("cust_po").HasMaxLength(44).IsRequired(false);
|
||||
entity.Property(e => e.RmaNum).HasColumnName("rma_num").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.RmaLine).HasColumnName("rma_line").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.ProjectedDate).HasColumnName("projected_date").IsRequired(false);
|
||||
entity.Property(e => e.Consolidate).HasColumnName("consolidate").HasColumnType("tinyint");
|
||||
entity.Property(e => e.InvFreq).HasColumnName("inv_freq").HasMaxLength(2).IsRequired(false);
|
||||
entity.Property(e => e.Summarize).HasColumnName("summarize").HasColumnType("tinyint");
|
||||
entity.Property(e => e.NoteExistsFlag).HasColumnName("NoteExistsFlag").HasColumnType("tinyint");
|
||||
entity.Property(e => e.RecordDate).HasColumnName("RecordDate");
|
||||
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").HasColumnType("uniqueidentifier");
|
||||
entity.Property(e => e.Description).HasColumnName("description").HasMaxLength(80).IsRequired(false);
|
||||
entity.Property(e => e.ConfigId).HasColumnName("config_id").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.CreatedBy).HasColumnName("CreatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.UpdatedBy).HasColumnName("UpdatedBy").HasMaxLength(60);
|
||||
entity.Property(e => e.CreateDate).HasColumnName("CreateDate");
|
||||
entity.Property(e => e.InWorkflow).HasColumnName("InWorkflow").HasColumnType("tinyint");
|
||||
entity.Property(e => e.TransNat2).HasColumnName("trans_nat_2").HasMaxLength(4).IsRequired(false);
|
||||
entity.Property(e => e.SupplQtyConvFactor).HasColumnName("suppl_qty_conv_factor");
|
||||
entity.Property(e => e.PrintKitComponents).HasColumnName("print_kit_components").HasColumnType("tinyint");
|
||||
entity.Property(e => e.ExternalReservationRef).HasColumnName("external_reservation_ref").HasMaxLength(160).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcct).HasColumnName("non_inv_acct").HasMaxLength(24).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit1).HasColumnName("non_inv_acct_unit1").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit2).HasColumnName("non_inv_acct_unit2").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit3).HasColumnName("non_inv_acct_unit3").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.NonInvAcctUnit4).HasColumnName("non_inv_acct_unit4").HasMaxLength(8).IsRequired(false);
|
||||
entity.Property(e => e.DaysShippedBeforeDueDateTolerance).HasColumnName("days_shipped_before_due_date_tolerance").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.DaysShippedAfterDueDateTolerance).HasColumnName("days_shipped_after_due_date_tolerance").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.ShippedOverOrderedQtyTolerance).HasColumnName("shipped_over_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.ShippedUnderOrderedQtyTolerance).HasColumnName("shipped_under_ordered_qty_tolerance").IsRequired(false);
|
||||
entity.Property(e => e.Priority).HasColumnName("priority").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.InvoiceHold).HasColumnName("invoice_hold").HasColumnType("tinyint");
|
||||
entity.Property(e => e.ManufacturerId).HasColumnName("manufacturer_id").HasMaxLength(14).IsRequired(false);
|
||||
entity.Property(e => e.ManufacturerItem).HasColumnName("manufacturer_item").HasMaxLength(60).IsRequired(false);
|
||||
entity.Property(e => e.QtyPicked).HasColumnName("qty_picked");
|
||||
entity.Property(e => e.Uf_ZPL_VATRegisterCode).HasColumnName("uf_ZPL_VATRegisterCode").HasMaxLength(20).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_EdiCoItemRowPointer).HasColumnName("Uf_FKR_EDI_EdiCoItemRowPointer").HasColumnType("uniqueidentifier").IsRequired(false);
|
||||
entity.Property(e => e.Uf_IMP_CoLineOrginal).HasColumnName("Uf_IMP_CoLineOrginal").HasColumnType("smallint").IsRequired(false);
|
||||
entity.Property(e => e.Uf_IMP_QtyOrdered).HasColumnName("Uf_IMP_QtyOrdered").IsRequired(false);
|
||||
entity.Property(e => e.Uf_IMP_QtyOrginal).HasColumnName("Uf_IMP_QtyOrginal").IsRequired(false);
|
||||
entity.Property(e => e.Uf_IMP_SplitCoLine).HasColumnName("Uf_IMP_SplitCoLine").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.Uf_IMP_SplitCoLineChange).HasColumnName("Uf_IMP_SplitCoLineChange").HasColumnType("tinyint").IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_ITEM_DeliveryCallNum).HasColumnName("Uf_FKR_EDI_ITEM_DeliveryCallNum").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_ITEM_RoutingCode).HasColumnName("Uf_FKR_EDI_ITEM_RoutingCode").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_pci_code).HasColumnName("Uf_pci_code").HasMaxLength(1).IsRequired(false);
|
||||
entity.Property(e => e.Uf_LOC_11_UnloadingPoint).HasColumnName("Uf_LOC_11_UnloadingPoint").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_LOC_159_DestinationPoint).HasColumnName("Uf_LOC_159_DestinationPoint").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_Status).HasColumnName("Uf_Status").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_ITEM_PalletCode).HasColumnName("Uf_FKR_EDI_ITEM_PalletCode").HasMaxLength(50).IsRequired(false);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
30
SytelineSaAppEfDataModel/SytelineSaAppEfDataModel.csproj
Normal file
30
SytelineSaAppEfDataModel/SytelineSaAppEfDataModel.csproj
Normal file
@@ -0,0 +1,30 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="appsettings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
5
SytelineSaAppEfDataModel/appsettings.json
Normal file
5
SytelineSaAppEfDataModel/appsettings.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"SytelineSaAppConnection": "Server=192.168.0.7;Database=SL_PRODTEST_SA_APP;User Id=sa;Password=Tetum#2021!;TrustServerCertificate=true"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user