Beispiel #1
0
        public object Options(DiscoverCurrencies request)
        {
            IAppHost host = GetAppHost();

            var currencyLinks = Currency.FindAll()
                                .OrderBy(c => c.AlphabeticCode, StringComparer.OrdinalIgnoreCase)
                                .Where(c => !c.IsObsolete)
                                .Select(c => host.Link("currency", new Messages.Currency {
                IsoCode = c.IsoCode
            }, "GET"));

            var response = new DiscoveryResponse
            {
                _links = new[]
                {
                    host.Self(request),
                    host.Self(new Messages.Currencies(), "GET")
                }
                .Concat(currencyLinks)
                .Concat(new[] { host.Link("format", new Messages.MultiFormat {
                        Quantities = new [] { new FormatableQuantity() }
                    }, "POST") })
                .ToArray()
            };

            return(response);
        }
Beispiel #2
0
        public object Options(DiscoverMultiFormat request)
        {
            IAppHost host     = GetAppHost();
            var      response = new DiscoveryResponse
            {
                _links = new[]
                {
                    host.Self(request),
                    host.Self(new Messages.MultiFormat {
                        Quantities = new [] { new FormatableQuantity() }
                    }, "POST"),
                    host.Parent(new Messages.Currencies(), "GET")
                }
            };

            return(response);
        }
Beispiel #3
0
        public object Options(DiscoverFormat request)
        {
            IAppHost host     = GetAppHost();
            var      response = new DiscoveryResponse
            {
                _links = new[]
                {
                    host.Self(request),
                    host.Self(new Messages.Format {
                        IsoCode = request.IsoCode, Amount = request.Amount
                    }, "GET"),
                    host.Parent(new Messages.Currency {
                        IsoCode = request.IsoCode
                    }, "GET")
                }
            };

            return(response);
        }
Beispiel #4
0
        public object Options(DiscoverRoot request)
        {
            IAppHost host = GetAppHost();

            var response = new DiscoveryResponse
            {
                _links = new[]
                {
                    host.Self(request),
                    host.Link("currencies", new Messages.Currencies(), "GET")
                }
            };

            return(response);
        }