public override CharacterAttributeRowResource Enrich(ICharacterAttributeRow content, bool expand = false) { var resource = EntityToDtoMapper.Map <CharacterAttributeRowResource>(content); var characterLink = CreateNameBasedLink <CharacterLink>(content.Owner, nameof(CharacterController.GetSingleCharacterByName), "Character"); var selfLink = CreateIdBasedLink <SelfLink>(content.InstanceId, nameof(CharacterAttributeController.GetCharacterAttributeById), "CharacterAttribute"); resource.AddLink(selfLink); resource.AddLink(characterLink); var relatedLinks = new RelatedLinks(); if (content.OwnerId <= 58) { relatedLinks.Smash4 = new ExpandoObject(); relatedLinks.Smash4.Character = characterLink.Href.ReplaceUltimateWithSmash4(); } relatedLinks.Ultimate = new ExpandoObject(); relatedLinks.Ultimate.Character = characterLink.Href.ReplaceSmash4WithUltimate(); new RelatedLinkSelfLinkAttacher().AddSelf(relatedLinks, content.Game, selfLink); resource.AddRelated(relatedLinks); return(resource); }
public override CharacterAttributeNameResource Enrich(ICharacterAttributeName content, UrlHelper urlHelper) { var resource = EntityToDtoMapper.Map <CharacterAttributeNameResource>(content); var allAttributesForNameLink = CreateNameBasedLink <CharacterAttributesLink>(content.Name, urlHelper, nameof(CharacterAttributeController.GetAllCharacterAttributesWithName)); resource.AddLink(allAttributesForNameLink); return(resource); }
public override CharacterAttributeNameResource Enrich(ICharacterAttributeName content, bool expand = false) { var resource = EntityToDtoMapper.Map <CharacterAttributeNameResource>(content); var allAttributesForNameLink = CreateNameBasedLink <CharacterAttributesLink>(content.Name, nameof(CharacterAttributeController.GetAllCharacterAttributesWithName), " CharacterAttribute"); resource.AddLink(allAttributesForNameLink); var relatedLinks = new RelatedLinks(); return(resource); }
public override CharacterAttributeRowResource Enrich(ICharacterAttributeRow content, UrlHelper urlHelper) { var resource = EntityToDtoMapper.Map <CharacterAttributeRowResource>(content); var characterlink = CreateNameBasedLink <CharacterLink>(content.Owner, urlHelper, nameof(CharacterController.GetSingleCharacterByName)); var selfLink = CreateIdBasedLink <SelfLink>(content.InstanceId, urlHelper, nameof(CharacterAttributeController.GetCharacterAttributeById)); resource.AddLink(selfLink); resource.AddLink(characterlink); return(resource); }
public override UniqueDataResource Enrich(IUniqueData content, UrlHelper urlHelper) { var resource = EntityToDtoMapper.Map <UniqueDataResource>(content); var characterLink = CreateNameBasedLink <CharacterLink>(content.Owner, urlHelper, nameof(CharacterController.GetSingleCharacterByName)); var selfLink = CreateIdBasedLink <SelfLink>(content.InstanceId, urlHelper, nameof(UniqueDataController.GetAllUniquePropertiesById)); resource.AddLink(selfLink); resource.AddLink(characterLink); return(resource); }
public override CharacterResource Enrich(ICharacter content, UrlHelper urlHelper) { var resource = EntityToDtoMapper.Map <CharacterResource>(content); var movesLink = CreateNameBasedLink <MovesLink>(content.Name, urlHelper, nameof(CharacterController.GetAllMovesForCharacterWhereName)); var characterAttributesLink = CreateNameBasedLink <CharacterAttributesLink>(content.Name, urlHelper, nameof(CharacterController.GetAttributesForCharacterByName)); var movementsLink = CreateNameBasedLink <MovementsLink>(content.Name, urlHelper, nameof(CharacterController.GetAllMovementsForCharacterWhereName)); var selfLink = CreateNameBasedLink <SelfLink>(content.Name, urlHelper, nameof(CharacterController.GetSingleCharacterByName)); resource.AddLink(selfLink); resource.AddLink(movesLink); resource.AddLink(characterAttributesLink); resource.AddLink(movementsLink); return(resource); }
public override dynamic Enrich(IUniqueData content, bool expand = false) { var resource = EntityToDtoMapper.Map <UniqueDataResource>(content); var characterLink = CreateNameBasedLink <CharacterLink>(content.Owner, nameof(CharacterController.GetSingleCharacterByName), "Character"); var selfLink = CreateIdBasedLink <SelfLink>(content.InstanceId, nameof(UniqueDataController.GetAllUniquePropertiesById), "UniqueData"); var resd = new ExpandoObject() as IDictionary <string, object>; var props = content.GetType().GetProperties().ToList(); props.ForEach(prop => { var value = prop.GetValue(content); resd.Add(prop.Name, value); }); var links = new List <Link>(); links.Add(selfLink); links.Add(characterLink); resd.Add("Links", links); resource.AddLink(selfLink); resource.AddLink(characterLink); var relatedLinks = new RelatedLinks(); if (content.OwnerId <= 58) { relatedLinks.Smash4 = new ExpandoObject(); relatedLinks.Smash4.Character = characterLink.Href.ReplaceUltimateWithSmash4(); } relatedLinks.Ultimate = new ExpandoObject(); relatedLinks.Ultimate.Character = characterLink.Href.ReplaceSmash4WithUltimate(); new RelatedLinkSelfLinkAttacher().AddSelf(relatedLinks, content.Game, selfLink); resd.Add("Related", relatedLinks); //resource.AddRelated(relatedLinks); return(resd); //return resource; }
public override CharacterResource Enrich(ICharacter content, bool expand = false) { var resource = EntityToDtoMapper.Map <CharacterResource>(content); var movesLink = CreateNameBasedLink <MovesLink>(content.Name, nameof(CharacterController.GetAllMovesForCharacterWhereName), "Character"); var characterAttributesLink = CreateNameBasedLink <CharacterAttributesLink>(content.Name, nameof(CharacterController.GetAttributesForCharacterByName), "Character"); var movementsLink = CreateNameBasedLink <MovementsLink>(content.Name, nameof(CharacterController.GetAllMovementsForCharacterWhereName), "Character"); var selfLink = CreateNameBasedLink <SelfLink>(content.Name, nameof(CharacterController.GetSingleCharacterByName), "Character"); var uniquePropertiesLink = CreateNameBasedLink <UniquePropertiesLink>(content.Name, nameof(CharacterController.GetUniquePropertiesForCharacterByName), "Character"); resource.AddLink(selfLink); resource.AddLink(movesLink); resource.AddLink(characterAttributesLink); resource.AddLink(movementsLink); resource.AddLink(uniquePropertiesLink); //new hateoas stuff var relatedLinks = new RelatedLinks(); if (content.OwnerId <= 58) { relatedLinks.Smash4 = new ExpandoObject(); relatedLinks.Smash4.Self = selfLink.Href.ReplaceUltimateWithSmash4(); relatedLinks.Smash4.Moves = movesLink.Href.ReplaceUltimateWithSmash4(); relatedLinks.Smash4.Movements = movementsLink.Href.ReplaceUltimateWithSmash4(); relatedLinks.Smash4.Attributes = characterAttributesLink.Href.ReplaceUltimateWithSmash4(); relatedLinks.Smash4.UniqueProperties = uniquePropertiesLink.Href.ReplaceUltimateWithSmash4(); } relatedLinks.Ultimate = new ExpandoObject(); relatedLinks.Ultimate.Self = selfLink.Href.ReplaceSmash4WithUltimate(); relatedLinks.Ultimate.Moves = movesLink.Href.ReplaceSmash4WithUltimate(); relatedLinks.Ultimate.Movements = movementsLink.Href.ReplaceSmash4WithUltimate(); relatedLinks.Ultimate.Attributes = characterAttributesLink.Href.ReplaceSmash4WithUltimate(); relatedLinks.Ultimate.UniqueProperties = uniquePropertiesLink.Href.ReplaceSmash4WithUltimate(); resource.AddRelated(relatedLinks); return(resource); }