blob: 46c62e106a2c3265dcdd84ab18729cfaf7cbb03a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
namespace IOL.GreatOffice.Api.Data.Database;
public class TimeEntry : BaseWithOwner
{
public TimeEntry() { }
public TimeEntry(Guid userId) : base(userId) { }
public DateTime Start { get; set; }
public DateTime Stop { get; set; }
public string Description { get; set; }
public ICollection<TimeLabel> Labels { get; set; }
public TimeCategory Category { get; set; }
public TimeEntryDto AsDto => new(this);
public class TimeEntryDto
{
public TimeEntryDto() { }
public TimeEntryDto(TimeEntry sourceEntry = default) {
if (sourceEntry == default) {
return;
}
Id = sourceEntry.Id;
ModifiedAt = sourceEntry.ModifiedAt;
Stop = sourceEntry.Stop;
Start = sourceEntry.Start;
Description = sourceEntry.Description;
if (sourceEntry.Labels != default) {
Labels = sourceEntry.Labels
.Select(t => t.AsDto)
.ToList();
}
Category = sourceEntry.Category.AsDto;
}
public Guid? Id { get; set; }
public DateTime? ModifiedAt { get; set; }
public DateTime Start { get; set; }
public DateTime Stop { get; set; }
public string Description { get; set; }
public List<TimeLabel.TimeLabelDto> Labels { get; set; }
public TimeCategory.TimeCategoryDto Category { get; set; }
}
}
|