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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#6
0
        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);
        }