private T GetHydratedDTO <T>(RDO objectRdo, ObjectFieldsDepthLevel depthLevel) where T : BaseDto, new() { T dto = objectRdo.ToHydratedDto <T>(); PopulateChoices(dto, objectRdo); switch (depthLevel) { case ObjectFieldsDepthLevel.OnlyParentObject: break; case ObjectFieldsDepthLevel.FirstLevelOnly: PopulateChildrenRecursively <T>(dto, objectRdo, ObjectFieldsDepthLevel.OnlyParentObject); break; case ObjectFieldsDepthLevel.FullyRecursive: PopulateChildrenRecursively <T>(dto, objectRdo, ObjectFieldsDepthLevel.FullyRecursive); break; default: throw new ArgumentOutOfRangeException(nameof(depthLevel)); } return(dto); }
internal T GetDTO <T>(int artifactID, ObjectFieldsDepthLevel depthLevel) where T : BaseDto, new() { RDO objectRdo = GetRdo(artifactID); switch (depthLevel) { case ObjectFieldsDepthLevel.FirstLevelOnly: return(objectRdo.ToHydratedDto <T>()); case ObjectFieldsDepthLevel.FullyRecursive: T dto = objectRdo.ToHydratedDto <T>(); PopulateChildrenRecursively <T>(dto, objectRdo, depthLevel); return(dto); default: return(objectRdo.ToHydratedDto <T>()); } }
public T GetRelativityObject <T>(int artifactId, ObjectFieldsDepthLevel depthLevel) where T : BaseDto, new() { RDO objectRdo = GetRdo(artifactId); T theObject = objectRdo.ToHydratedDto <T>(); if (depthLevel != ObjectFieldsDepthLevel.OnlyParentObject) { PopulateChildrenRecursively <T>(theObject, objectRdo, depthLevel); } return(theObject); }