public Task <ActionResult> GetOrdersAsync(GetOrdersParameters parameters, [FromServices] IGetOrdersHandler handler, CancellationToken cancellationToken)
        {
            if (handler is null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            return(InvokeGetOrdersAsync(parameters, handler, cancellationToken));
        }
示例#2
0
        public Task <GetOrdersResult> ExecuteAsync(GetOrdersParameters parameters, CancellationToken cancellationToken = default)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            return(InvokeExecuteAsync(parameters, cancellationToken));
        }
示例#3
0
        private async Task <GetOrdersResult> InvokeExecuteAsync(GetOrdersParameters parameters, CancellationToken cancellationToken)
        {
            var allItems = new List <Order>();

            for (var i = 0; i < 347; i++)
            {
                allItems.Add(
                    new Order
                {
                    Id          = Guid.NewGuid(),
                    Description = $"Test order {i + 1}"
                });
            }

            var items = allItems
                        .Skip(parameters.PageIndex)
                        .Take(parameters.PageSize)
                        .ToList();

            Pagination <Order> data;

            if (string.IsNullOrEmpty(parameters.ContinuationToken))
            {
                data = new Pagination <Order>(
                    items,
                    parameters.PageSize,
                    parameters.QueryString,
                    parameters.PageIndex,
                    allItems.Count);
            }
            else
            {
                data = new Pagination <Order>(
                    items,
                    parameters.PageSize,
                    parameters.QueryString,
                    parameters.ContinuationToken);
            }

            return(await Task.FromResult(data));
        }
 private static async Task <ActionResult> InvokeGetOrdersAsync(GetOrdersParameters parameters, IGetOrdersHandler handler, CancellationToken cancellationToken)
 {
     return(await handler.ExecuteAsync(parameters, cancellationToken));
 }
        public Task <GetOrdersResult> ExecuteAsync(GetOrdersParameters parameters, CancellationToken cancellationToken = default)
        {
            var data = new List <Order>
            {
                new Order
                {
                    Id                 = Guid.Parse("77a33260-0001-441f-ba60-b0a833803fab"),
                    Description        = "Hallo11",
                    MyTime             = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyEmail            = "*****@*****.**",
                    MyNullableDateTime = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyDateTime         = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyNumber           = 20.2,
                    MyInteger          = 42,
                    MyBool             = true,
                    MyUri              = new Uri("http://www.dr.dk"),
                    MyByte             = "Hallo110",
                    MyStringList       = null,
                    MyLong             = 42,
                    DeliveryAddress    = new Address
                    {
                        StreetName   = "Hallo1",
                        StreetNumber = "Hallo11",
                        PostalCode   = "Hallo12",
                        CityName     = "Hallo13",
                        MyCountry    = new Country
                        {
                            Name       = "Hallo11",
                            Alpha2Code = "Ha",
                            Alpha3Code = "Hal",
                        },
                    },
                },
                new Order
                {
                    Id                 = Guid.Parse("77a33260-0002-441f-ba60-b0a833803fab"),
                    Description        = "Hallo21",
                    MyTime             = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyEmail            = "*****@*****.**",
                    MyNullableDateTime = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyDateTime         = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyNumber           = 20.2,
                    MyInteger          = 42,
                    MyBool             = true,
                    MyUri              = new Uri("http://www.dr.dk"),
                    MyByte             = "Hallo210",
                    MyStringList       = null,
                    MyLong             = 42,
                    DeliveryAddress    = new Address
                    {
                        StreetName   = "Hallo2",
                        StreetNumber = "Hallo21",
                        PostalCode   = "Hallo22",
                        CityName     = "Hallo23",
                        MyCountry    = new Country
                        {
                            Name       = "Hallo21",
                            Alpha2Code = "Ha",
                            Alpha3Code = "Hal",
                        },
                    },
                },
                new Order
                {
                    Id                 = Guid.Parse("77a33260-0003-441f-ba60-b0a833803fab"),
                    Description        = "Hallo31",
                    MyTime             = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyEmail            = "*****@*****.**",
                    MyNullableDateTime = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyDateTime         = DateTimeOffset.Parse("2020-10-12T21:22:23"),
                    MyNumber           = 20.2,
                    MyInteger          = 42,
                    MyBool             = true,
                    MyUri              = new Uri("http://www.dr.dk"),
                    MyByte             = "Hallo310",
                    MyStringList       = null,
                    MyLong             = 42,
                    DeliveryAddress    = new Address
                    {
                        StreetName   = "Hallo3",
                        StreetNumber = "Hallo31",
                        PostalCode   = "Hallo32",
                        CityName     = "Hallo33",
                        MyCountry    = new Country
                        {
                            Name       = "Hallo31",
                            Alpha2Code = "Ha",
                            Alpha3Code = "Hal",
                        },
                    },
                },
            };

            var paginationData = new Pagination <Order>(data, parameters.PageSize, parameters.QueryString, parameters.ContinuationToken);

            return(Task.FromResult(GetOrdersResult.Ok(paginationData)));
        }
示例#6
0
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
        private async Task <GetOrdersResult> InvokeExecuteAsync(GetOrdersParameters parameters, CancellationToken cancellationToken)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
        {
            throw new System.NotImplementedException();
        }