Exemple #1
0
        public LinksHeader CreateLinks(string id, PaginationMetadata pagination, string routeName)
        {
            var _operationLinks = new OperationLinks()
            {
                Single = new SingleOperationLinks()
                {
                    Get  = _urlHelper.Link(GetSingleRouteName, new { id }),
                    Post = _urlHelper.Link(PostSingleRouteName, new { })
                },
                Multiple = new MultipleOperationLinks()
                {
                    Get = _urlHelper.Link(GetMultipleRouteName, new { })
                }
            };
            RelationLinks _relationLinks = null;

            if (id != null)
            {
                _relationLinks = new RelationLinks()
                {
                    Children = new RelatedChildLinks()
                    {
                        Events = _urlHelper.Link(EventsController.GetMultipleRouteName, new { incidentId = id })
                    }
                };
            }

            return(new LinksHeader(null, pagination, _urlHelper, routeName, _operationLinks, _relationLinks));
        }
Exemple #2
0
        public ILinksHeader CreatePaginatedLinks(string routeName, PaginationMetadata pagination)
        {
            ThrowIf.NullOrWhiteSpace(routeName, nameof(routeName));
            var routeValues = new { };
            var route       = UrlHelper.Link(routeName, routeValues);

            var           operationLinks = GetOperationLinks(routeValues);
            RelationLinks relationLinks  = null;

            return(new PaginatedLinksHeader(route, operationLinks, relationLinks, pagination));
        }
Exemple #3
0
        public ILinksHeader CreatePaginatedLinks(string routeName, PaginationMetadata pagination, EventFilters filter, long incidentId = default(long))
        {
            ThrowIf.NullOrWhiteSpace(routeName, nameof(routeName));
            var routeValues = (incidentId == default(long))
                ? (object)new { }
                : new { incidentId = incidentId.ToPathTokenString() };
            var route = UrlHelper.Link(routeName, routeValues);

            var           operationLinks = GetOperationLinks(routeValues);
            RelationLinks relationLinks  = null;

            return(new PaginatedLinksHeader(route, operationLinks, relationLinks, pagination, filter));
        }
Exemple #4
0
        public ILinksHeader CreateLinks(long incidentId)
        {
            var routeValues    = new { incidentId = incidentId.ToPathTokenString() };
            var operationLinks = GetOperationLinks(routeValues);
            var relationLinks  = new RelationLinks()
            {
                Children = new IncidentChildLinks()
                {
                    Events = UrlHelper.Link(EventRoutesByIncident.GetMultiple, routeValues)
                }
            };

            return(new CrudLinksHeader(operationLinks, relationLinks));
        }
Exemple #5
0
        public ILinksHeader CreateLinks(long incidentId, long eventId)
        {
            var routeValues = new
            {
                incidentId = incidentId.ToPathTokenString(),
                eventId    = eventId.ToPathTokenString()
            };

            var operationLinks = GetOperationLinks(routeValues);
            var relationLinks  = new RelationLinks()
            {
                Parent = new EventParentLinks()
                {
                    Incident = UrlHelper.Link(IncidentRoutes.GetSingle, new { incidentId })
                }
            };

            return(new CrudLinksHeader(operationLinks, relationLinks));
        }
Exemple #6
0
        public LinksHeader CreateLinks(string id, string incidentId, EventFilters filter, PaginationMetadata pagination, string routeName)
        {
            var _operationLinks = new OperationLinks()
            {
                Single = new SingleOperationLinks()
                {
                    Get  = _urlHelper.Link(GetSingleRouteName, new { id }),
                    Post = _urlHelper.Link(PostSingleRouteName, new { })
                },
                Multiple = new MultipleOperationLinks()
                {
                    Get = _urlHelper.Link(GetMultipleRouteName, new { })
                }
            };
            var _relationLinks = new RelationLinks()
            {
                Parent = new RelatedParentLinks()
                {
                    Incident = _urlHelper.Link(IncidentsController.GetSingleRouteName, new { id = incidentId })
                }
            };

            return(new LinksHeader(filter, pagination, _urlHelper, routeName, _operationLinks, _relationLinks));
        }