From 0a04979bc60f8d5fec5c2f7026d66213a5089c86 Mon Sep 17 00:00:00 2001 From: Aloento <11802769+Aloento@users.noreply.github.com> Date: Wed, 13 Nov 2024 16:24:18 +0100 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BB=A3=E7=A0=81=E4=BB=A5?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=E5=92=8C?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 `` 替换为 ``。 - 在 `ServiceItem.razor.cs` 文件中,添加了 `using Microsoft.EntityFrameworkCore;` 引用。 - 将 `private EventType status { get; set; }` 更改为 `private EventType type { get; set; }`。 - 将 `OnParametersSetAsync` 方法改为异步方法,并使用 `await` 关键字。 - 修改了查询逻辑,使用 `OrderByDescending` 和 `FirstOrDefaultAsync` 替代 `MaxBy` 方法。 - 删除了 `return Task.CompletedTask;`。 --- Components/Home/ServiceItem.razor | 4 ++-- Components/Home/ServiceItem.razor.cs | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Components/Home/ServiceItem.razor b/Components/Home/ServiceItem.razor index 7fe591f..e14b943 100644 --- a/Components/Home/ServiceItem.razor +++ b/Components/Home/ServiceItem.razor @@ -17,12 +17,12 @@ { @if (id is null) { - + } else { - + } } diff --git a/Components/Home/ServiceItem.razor.cs b/Components/Home/ServiceItem.razor.cs index 069c573..af4e113 100644 --- a/Components/Home/ServiceItem.razor.cs +++ b/Components/Home/ServiceItem.razor.cs @@ -3,6 +3,7 @@ using System.Diagnostics.CodeAnalysis; using Event; using Microsoft.AspNetCore.Components; +using Microsoft.EntityFrameworkCore; using Services; public partial class ServiceItem { @@ -11,25 +12,26 @@ public partial class ServiceItem { [EditorRequired] public RegionService? RegionService { get; set; } - private EventType status { get; set; } + private EventType type { get; set; } private bool future { get; set; } private int? id { get; set; } - protected override Task OnParametersSetAsync() { - var res = this.RegionService.Events + protected override async Task OnParametersSetAsync() { + var res = await this.db.EventRegionService + .Where(x => x.RegionServiceId == this.RegionService.Id) + .Select(x => x.Event) .Where(x => (x.Type == EventType.Maintenance || x.End == null) && x.Status != EventStatus.Completed && x.Status != EventStatus.Resolved && x.Status != EventStatus.Cancelled) - .MaxBy(x => x.Type); + .OrderByDescending(x => x.Type) + .FirstOrDefaultAsync(); this.id = res?.Id; - this.status = res?.Type ?? default; + this.type = res?.Type ?? default; this.future = res?.Start.ToUniversalTime() > DateTime.UtcNow; - - return Task.CompletedTask; } }