void Assign(Introduction introduction, IntroductionResource introductionResource) { introduction.Id = introductionResource.Id; if (introductionResource.Title != null) { introduction.Title = introductionResource.Title; } if ((introductionResource.MapPositions != null) && introduction.MapPositions == null) { introduction.MapPositions = new List <MapPosition>(); foreach (MapPositionResource mapPositionResource in introductionResource.MapPositions) { MapPosition newMapPosition = Convert(mapPositionResource); introduction.MapPositions.Add(newMapPosition); newMapPosition.Introduction = introduction; } } if ((introductionResource.DisplayObjects != null) && introduction.DisplayObjects == null) { introduction.DisplayObjects = new List <DisplayObject>(); foreach (DisplayObjectResource displayObjectResource in introductionResource.DisplayObjects) { DisplayObject newDisplayObject = Convert(displayObjectResource); introduction.DisplayObjects.Add(newDisplayObject); newDisplayObject.Introduction = introduction; } } }
public Introduction Convert(IntroductionResource introductionResource) { var existingIntroduction = CreatedIntroductions.Where(obj => obj.Id == introductionResource.Id).FirstOrDefault(); if (existingIntroduction != null) { Assign(existingIntroduction, introductionResource); return(existingIntroduction); } else { var newIntroduction = new Introduction(); CreatedIntroductions.Add(newIntroduction); Assign(newIntroduction, introductionResource); return(newIntroduction); } }