diff --git a/FaKrosnoApi/Program.cs b/FaKrosnoApi/Program.cs index 3682e73..84bad12 100644 --- a/FaKrosnoApi/Program.cs +++ b/FaKrosnoApi/Program.cs @@ -60,7 +60,7 @@ var app = builder.Build(); //if (app.Environment.IsDevelopment()) //{ app.UseOpenApi(); // Serwuje dokument OpenAPI - app.UseSwaggerUi(); // Dodaje interfejs u縴tkownika Swagger + app.UseSwaggerUi(); // Dodaje interfejs u锟統tkownika Swagger //} app.UseHttpsRedirection(); diff --git a/FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs b/FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs index 77a03dc..b8769bb 100644 --- a/FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs +++ b/FaKrosnoEfDataModel/Dtos/ScheduleOrderDto.cs @@ -15,6 +15,8 @@ namespace FaKrosnoEfDataModel.Dtos public int DocNumber { get; set; } public string? DocType { get; set; } + public string? RecipientCode => Recipient.RecipientCode; + public string? PurchaserCode => Recipient.Purchaser?.PurchaserCode; public RecipientDto Recipient { get; set; } public IList ScheduleOrderDetails { get; set; } diff --git a/OrdersManagement/Components/Layout/MainLayout.razor b/OrdersManagement/Components/Layout/MainLayout.razor index b94cf77..151fc89 100644 --- a/OrdersManagement/Components/Layout/MainLayout.razor +++ b/OrdersManagement/Components/Layout/MainLayout.razor @@ -3,9 +3,9 @@
-
@@ -21,26 +21,26 @@
@code { - Sidebar sidebar; - IEnumerable navItems; + Sidebar? _sidebar; + IEnumerable? _navItems; private async Task SidebarDataProvider(SidebarDataProviderRequest request) { - if (navItems is null) - navItems = GetNavItems(); + _navItems ??= GetNavItems(); - return await Task.FromResult(request.ApplyTo(navItems)); + return await Task.FromResult(request.ApplyTo(_navItems)); } - private IEnumerable GetNavItems() + private IEnumerable? GetNavItems() { - navItems = new List + _navItems = new List { 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"} + new NavItem { Id = "2", Href = "/EdiCustomerOrders", IconName = IconName.Database, Text = "Zam贸wienia klienta EDI"}, + new NavItem { Id = "3", Href = "/CustomerOrders", IconName = IconName.Database, Text = "Zam贸wienia klienta"} }; - return navItems; + return _navItems; } } diff --git a/OrdersManagement/Components/Pages/CustomerOrders.razor b/OrdersManagement/Components/Pages/CustomerOrders.razor new file mode 100644 index 0000000..5d80652 --- /dev/null +++ b/OrdersManagement/Components/Pages/CustomerOrders.razor @@ -0,0 +1,86 @@ +@page "/CustomerOrders" +@inject CustomerOrderService CustomerOrderService +@inject NavigationManager NavigationManager +@using SytelineSaAppEfDataModel.Dtos +@using FaKrosnoApi.Dtos +@using OrdersManagement.Dtos +@inherits LayoutComponentBase + +
+

Zam贸wienia Klienta

+
+
+
+ + + + + @context.CoNum + + + @context.CustNum + + + @context.CustSeq + + + @context.CreateDate + + + @context.Uf_FKR_EDI_Gate + + + @context.Uf_FKR_EDI_RecipientCode + + + @context.Uf_FKR_EDI_SellerCode + + + @context.Uf_FKR_EDI_SenderCode + + + @context.Uf_FKR_EDI_BuyerCode + + + +
+ +@code { + Grid? _grid; + private IEnumerable? _customerOrders; + + private CustomerOrderDto? _selectedCustomerOrder; + + private async Task> CustomerOrdersDataProvider(GridDataProviderRequest request) + { + _customerOrders = await CustomerOrderService.GetCustomerOrdersAsync() ?? new List(); + _customerOrders = _customerOrders.OrderByDescending(x => x.CreateDate).ToList(); + + StateHasChanged(); + + return await Task.FromResult(request.ApplyTo(_customerOrders)); + } + + private void OnRowDoubleClick(GridRowEventArgs obj) + { + string customerOrderId = obj.Item.CoNum; + + NavigationManager.NavigateTo($"/CustomerOrder/{customerOrderId}"); + } + + private void SelectedItemsChanged(HashSet obj) + { + _selectedCustomerOrder = obj.FirstOrDefault() ?? null; + } +} \ No newline at end of file diff --git a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor index 4730f95..8045a93 100644 --- a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor +++ b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor @@ -1,4 +1,4 @@ -锘緻page "/edicustomerorder/{CustomerOrderId}" +锘緻page "/EdiCustomerOrder/{CustomerOrderId}" @inject EdiCustomerOrderService EdiCustomerOrderService @using SytelineSaAppEfDataModel.Dtos diff --git a/OrdersManagement/Components/Pages/EdiCustomerOrders.razor b/OrdersManagement/Components/Pages/EdiCustomerOrders.razor index 604f4a6..d2b3087 100644 --- a/OrdersManagement/Components/Pages/EdiCustomerOrders.razor +++ b/OrdersManagement/Components/Pages/EdiCustomerOrders.razor @@ -1,4 +1,4 @@ -锘緻page "/edicustomerorders" +锘緻page "/EdiCustomerOrders" @inject EdiCustomerOrderService EdiCustomerOrderService @inject NavigationManager NavigationManager @@ -8,7 +8,7 @@ @inherits LayoutComponentBase
-

EdiCustomerOrders

+

Zam贸wienia Klienta EDI


@@ -41,16 +41,16 @@ SelectedItemsChanged="SelectedItemsChanged"> - + @context.CustomerOrderNumber - + @context.CustomerNumber - + @context.CustomerSequence - + @context.CreateDate @@ -93,12 +93,6 @@ private bool _isVisible; private bool _filter; - // protected override async Task OnInitializedAsync() - // { - // _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List(); - // _ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList(); - // } - private async Task> EdiCustomerOrdersDataProvider(GridDataProviderRequest request) { _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List(); @@ -118,7 +112,7 @@ { string customerOrderId = obj.Item.CustomerOrderNumber; - NavigationManager.NavigateTo($"/edicustomerorder/{customerOrderId}"); + NavigationManager.NavigateTo($"/EdiCustomerOrder/{customerOrderId}"); } private async void SendOrderToSyteLine() diff --git a/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor b/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor index 6611610..6b6f9a7 100644 --- a/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor +++ b/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor @@ -1,4 +1,4 @@ -锘緻page "/details/{ScheduleOrderId:int}" +锘緻page "/ScheduleOrderDetails/{ScheduleOrderId:int}" @inject ScheduleOrderDetailsService ScheduleOrderDetailsService diff --git a/OrdersManagement/Components/Pages/ScheduleOrders.razor b/OrdersManagement/Components/Pages/ScheduleOrders.razor index 0f121c2..8a0fc8f 100644 --- a/OrdersManagement/Components/Pages/ScheduleOrders.razor +++ b/OrdersManagement/Components/Pages/ScheduleOrders.razor @@ -19,7 +19,7 @@ OnRowDoubleClick="OnRowDoubleClick"> - + @context.ID @@ -28,11 +28,11 @@ @context.PONum - - @context.Recipient.RecipientCode + + @context.RecipientCode - - @context.Recipient.Purchaser.PurchaserCode + + @context.PurchaserCode @context.LastUpdateDate @@ -57,6 +57,6 @@ { int scheduleOrderId = obj.Item.ID; - NavigationManager.NavigateTo($"/details/{scheduleOrderId}"); + NavigationManager.NavigateTo($"/ScheduleOrderDetails/{scheduleOrderId}"); } } diff --git a/OrdersManagement/Program.cs b/OrdersManagement/Program.cs index 3445df7..0fec3f3 100644 --- a/OrdersManagement/Program.cs +++ b/OrdersManagement/Program.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Routing.Constraints; using OrdersManagement.Components; using OrdersManagement.Services; - var builder = WebApplication.CreateBuilder(args); +var builder = WebApplication.CreateBuilder(args); builder.Services.AddBlazorBootstrap(); @@ -16,6 +16,7 @@ builder.Services.AddRazorComponents() builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); var app = builder.Build(); @@ -35,5 +36,4 @@ app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); -app.Run(); - +app.Run(); \ No newline at end of file diff --git a/OrdersManagement/Services/CustomerOrderService.cs b/OrdersManagement/Services/CustomerOrderService.cs new file mode 100644 index 0000000..4dfe79e --- /dev/null +++ b/OrdersManagement/Services/CustomerOrderService.cs @@ -0,0 +1,17 @@ +using SytelineSaAppEfDataModel.Dtos; + +namespace OrdersManagement.Services; + +public class CustomerOrderService(HttpClient httpClient) +{ + public async Task?> GetCustomerOrdersAsync() + { + return await httpClient.GetFromJsonAsync>("api/CustomerOrders"); + } + + public async Task GetCustomerOrderAsync(string customerOrderNumber) + { + return await httpClient.GetFromJsonAsync( + $"api/CustomerOrders/by-order-number/?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}"); + } +} \ No newline at end of file diff --git a/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs b/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs index c0d130e..0eeb3e3 100644 --- a/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs +++ b/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs @@ -13,8 +13,7 @@ namespace SytelineSaAppEfDataModel.Services { public async Task> GetAll() { - return await context.CustomerOrders.Select(x => mapper.Map(x)) - .OrderByDescending(x => x.CreateDate).ToListAsync(); + return await context.CustomerOrders.Select(x => mapper.Map(x)).ToListAsync(); } public async Task GetByOrderNumber(string orderNumber) diff --git a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs index 85daf4a..8f543f2 100644 --- a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs +++ b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs @@ -529,7 +529,7 @@ namespace SytelineSaAppEfDataModel 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.CustSeq).HasColumnName("cust_seq").HasColumnType("int"); 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);