Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var client            = DIContainer.Resolve <IOrderViewClient>();
            var initialPageNumber = 1;
            var initialQuantity   = 1;
            // First request to get total count of records.
            var data = client.GetOrders(SiteContext.CurrentSiteName, initialPageNumber, initialQuantity).Result;

            if (data?.Success ?? false)
            {
                if ((data.Payload.Orders?.Count() ?? 0) > 0)
                {
                    // Second request to get all records.
                    data = client.GetOrders(SiteContext.CurrentSiteName, initialPageNumber, data.Payload.TotalCount).Result;

                    if (data?.Success ?? false)
                    {
                        var customers = BaseAbstractInfoProvider.GetInfosByIds(CustomerInfo.OBJECT_TYPE,
                                                                               data.Payload.Orders.Select(o => o.CustomerId));

                        // Unigrid accept only DataSet as source type.
                        grdOrders.DataSource = ToDataSet(
                            data.Payload.Orders.Select(o =>
                        {
                            var customer = customers[o.CustomerId] as CustomerInfo;
                            return(new
                            {
                                o.Id,
                                o.Status,
                                o.TotalPrice,
                                o.CreateDate,
                                CustomerName = customer != null ?
                                               $"{customer.CustomerFirstName} {customer.CustomerLastName}"
                                                        : string.Empty
                            });
                        }));
                    }
                }
            }

            if (!(data?.Success ?? false))
            {
                var exc = new InvalidOperationException(data?.ErrorMessages);
                EventLogProvider.LogException("OrdersList - Load", "EXCEPTION", exc);
            }
        }