Skip to content

Commit e35af99

Browse files
committed
Status in TicketSearch nach Auswahl wird jetzt korrekt angezeigt
1 parent 0819f21 commit e35af99

File tree

9 files changed

+37
-21
lines changed

9 files changed

+37
-21
lines changed

WorklogManagement.API/Tickets/Ticket.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ internal static Ticket Map(DB.Ticket ticket)
3232
return new()
3333
{
3434
Id = ticket.Id,
35-
Ref = ticket.Ref is null ? null : new() { Id = ticket.Ref.Id, Title = ticket.Ref.Title },
35+
Ref = ticket.Ref is not null
36+
? new() { Id = ticket.Ref.Id, Title = ticket.Ref.Title, Status = (TicketStatus)ticket.Ref.TicketStatusId }
37+
: null,
3638
Title = ticket.Title,
3739
Description = ticket.Description,
3840
Status = (TicketStatus)ticket.TicketStatusId,

WorklogManagement.API/Worklogs/Worklog.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
22
using WorklogManagement.Data.Context;
3+
using WorklogManagement.Shared.Enums;
34
using DB = WorklogManagement.Data.Models;
45
using DTO = WorklogManagement.Shared.Models;
56

@@ -29,8 +30,12 @@ internal static Worklog Map(DB.Worklog worklog)
2930
{
3031
Id = worklog.Id,
3132
Date = worklog.Date,
32-
TicketId = worklog.TicketId,
33-
TicketTitle = worklog.Ticket.Title,
33+
Ticket = new()
34+
{
35+
Id = worklog.TicketId,
36+
Title = worklog.Ticket.Title,
37+
Status = (TicketStatus)worklog.Ticket.TicketStatusId
38+
},
3439
Description = worklog.Description,
3540
TimeSpent = worklog.TimeSpent,
3641
Attachments = [.. worklog.WorklogAttachments.Select(WorklogAttachment.Map)]
@@ -46,7 +51,7 @@ internal async Task SaveAsync(WorklogManagementContext context)
4651
worklog = new()
4752
{
4853
Date = Date,
49-
TicketId = TicketId,
54+
TicketId = Ticket.Id,
5055
Description = Description,
5156
TimeSpent = TimeSpent
5257
};
@@ -60,7 +65,7 @@ internal async Task SaveAsync(WorklogManagementContext context)
6065
else
6166
{
6267
worklog.Date = Date;
63-
worklog.TicketId = TicketId;
68+
worklog.TicketId = Ticket.Id;
6469
worklog.Description = Description;
6570
worklog.TimeSpent = TimeSpent;
6671

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
using WorklogManagement.Shared.Enums;
2+
13
namespace WorklogManagement.Shared.Models;
24

35
public record RefTicket
46
{
57
public required int Id { get; init; }
68
public required string Title { get; init; }
9+
public required TicketStatus Status { get; init; }
710
}

WorklogManagement.Shared/Models/Worklog.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace WorklogManagement.Shared.Models;
1+
namespace WorklogManagement.Shared.Models;
22

33
public record Worklog : IDataModel
44
{
@@ -12,9 +12,7 @@ public record Worklog : IDataModel
1212

1313
// TODO: uri ticket
1414

15-
public required int TicketId { get; init; }
16-
17-
public required string TicketTitle { get; init; }
15+
public required RefTicket Ticket { get; init; }
1816

1917
public string? Description { get; init; }
2018

WorklogManagement.UI/Components/Pages/TicketForm/TicketFormViewModel.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ public IEnumerable<Ticket> SubTickets
8282

8383
public Ticket? Ref
8484
{
85-
get => _ticket.Ref is not null ? new Ticket { Id = _ticket.Ref.Id, Title = _ticket.Ref.Title } : null;
86-
set => _ = SaveTicketAsync(_ticket with { Ref = value is not null ? new RefTicket { Id = value.Id, Title = value.Title } : null });
85+
get => _ticket.Ref is not null ? new Ticket { Id = _ticket.Ref.Id, Title = _ticket.Ref.Title, Status = _ticket.Ref.Status } : null;
86+
set => _ = SaveTicketAsync(_ticket with { Ref = value is not null ? new RefTicket { Id = value.Id, Title = value.Title, Status = value.Status } : null });
8787
}
8888

8989
public string? Description
@@ -164,8 +164,12 @@ public async Task<bool> SaveWorklogAsync(Worklog? worklog = null)
164164
worklog ??= new Worklog
165165
{
166166
Date = DateOnly.FromDateTime(DateTimeOffset.Now.Date),
167-
TicketId = _ticket.Id,
168-
TicketTitle = _ticket.Title,
167+
Ticket = new()
168+
{
169+
Id = _ticket.Id,
170+
Title = _ticket.Title,
171+
Status = _ticket.Status,
172+
},
169173
TimeSpent = TimeSpan.Zero,
170174
};
171175

WorklogManagement.UI/Components/Pages/Tracking/TrackingEntry.razor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ private DateOnly Date
2525

2626
private Ticket Ticket
2727
{
28-
get => new() { Id = Worklog.TicketId, Title = Worklog.TicketTitle };
29-
set => _ = UpdateWorklogAsync(Worklog with { TicketId = value.Id, TicketTitle = value.Title });
28+
get => new() { Id = Worklog.Ticket.Id, Title = Worklog.Ticket.Title, Status = Worklog.Ticket.Status };
29+
set => _ = UpdateWorklogAsync(Worklog with { Ticket = new() { Id = value.Id, Title = value.Title, Status = value.Status } });
3030
}
3131

3232
private TimeSpan TimeSpent

WorklogManagement.UI/Components/Pages/Tracking/TrackingViewModel.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,12 @@ public async Task<bool> SaveWorklogAsync(Worklog? worklog = null)
115115
worklog = new()
116116
{
117117
Date = SelectedDate,
118-
TicketId = defaultTicket.Id,
119-
TicketTitle = defaultTicket.Title,
118+
Ticket = new()
119+
{
120+
Id = defaultTicket.Id,
121+
Title = defaultTicket.Title,
122+
Status = defaultTicket.Status,
123+
},
120124
TimeSpent = TimeSpan.Zero,
121125
};
122126
}

WorklogManagement.UI/Components/Shared/TicketNewDialog.razor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public partial class TicketNewDialog
2323

2424
private Ticket? RefTicketSearch
2525
{
26-
get => Ref is not null ? new Ticket { Id = Ref.Id, Title = Ref.Title } : null;
27-
set => Ref = value is not null ? new RefTicket { Id = value.Id, Title = value.Title } : null;
26+
get => Ref is not null ? new Ticket { Id = Ref.Id, Title = Ref.Title, Status = Ref.Status } : null;
27+
set => Ref = value is not null ? new RefTicket { Id = value.Id, Title = value.Title, Status = value.Status } : null;
2828
}
2929

3030
private string? Description { get; set; }

WorklogManagement.UI/WorklogManagement.UI.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<PackageReference Include="Elastic.Serilog.Sinks" Version="9.0.0" />
1010
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.2" />
1111
<PackageReference Include="OneOf" Version="3.0.271" />
12-
<PackageReference Include="Radzen.Blazor" Version="8.7.5" />
12+
<PackageReference Include="Radzen.Blazor" Version="9.0.0" />
1313
<PackageReference Include="Serilog" Version="4.3.0" />
1414
<PackageReference Include="Serilog.Enrichers.UtcTime" Version="1.0.0" />
1515
<PackageReference Include="Serilog.Expressions" Version="5.0.0" />

0 commit comments

Comments
 (0)