2016-10-24 1 views
0

Ich habe eine Klasse:Karte ein Objekt zu einem Objekt mit einer Unterliste

public class LearnerEvent 
{ 
    public string SubjectField { get; set; } 

    public string GradeField { get; set; } 

    public DateTime AchievementAwardDateField { get; set; } 

    public string QualificationTypeField { get; set; } 
} 

Ich möchte dies zu einer DTO zur Karte:

public class LearnerEventDto 
{ 
    public List<LearnerEventInfoDto> LearnerEventInfo { get; set; } 

    public string QualificationTypeField { get; set; } 
} 

, die eine Unter dto hat:

public class LearnerEventInfoDto 
{ 
    public string SubjectField { get; set; } 

    public string GradeField { get; set; } 

    public DateTime AchievementAwardDateField { get; set; } 
} 

Der Zweck ist, damit ich die Objekte in Gruppen z. Gruppierung nach Art des Preises

Ich weiß, ich muss wahrscheinlich einen benutzerdefinierten Mapper (mit Auto-Mapper) schreiben, aber ich bin einfach nicht sicher, wie es geht.

Antwort

0

Das gewünschte Mapping würde bedeuten, dass jedes InfoDTO-Objekt in dieser Liste den gleichen QualificationType haben muss, was bedeutet, dass Sie Ihre LearnerEvents bereits auf einen bestimmten Typ gefiltert haben. Es sollte nicht notwendig sein, den QualificationType in eine "DTO-Liste" zu schreiben.

Ich vermute, dass Sie mit einem DTO arbeiten, weil Sie die LearnerEvent-Klasse nicht verteilen möchten oder weil Sie bestimmte Informationen filtern möchten, die Sie in Ihrem Beispiel nicht gezeigt haben, also was ich tun würde erstellt die LernerEventDTOs mit den Feldern aus dem LernerEvent, die Sie übertragen möchten, legen Sie sie in eine Liste und senden Sie sie an den gewünschten Ort.

Die andere Seite kann den QualificationType ermitteln, indem sie auf einem beliebigen Element nachschaut und die Items sollen sowieso den gleichen QualificationType haben.

+0

Ich hatte ursprünglich die Art, wie Sie vorschlagen, aber mein Manager sagte, er will die ganze Sortierung getan werden, bevor es zurück zum Frontend kommt. – user312687

+0

durch Sortieren ich meine Gruppierung nach Qualifikation – user312687

+0

Aber sie sind bereits gruppiert. Wenn Sie den QualificationType in das ListDTO schreiben, muss jedes ListItemDTO in diesem ListDTO den genauen QualificationType aufweisen oder der Vertrag ist ungültig. Daher haben Sie Ihre Veranstaltungen bereits gruppiert. – wickermoon

Verwandte Themen