Ejemplo n.º 1
0
        private async Task WriteMultiRefContentsAsync(object references, HttpContext httpContext, ODataRequest req)
        {
            if (references == null)
            {
                return;
            }

            var node      = references as Node;
            var projector = Projector.Create(req, true);

            if (node != null)
            {
                var contents = new List <ODataEntity>
                {
                    CreateFieldDictionary(Content.Create(node), projector, httpContext)
                };
                //TODO: ODATA: multiref item: get available types from reference property
                await WriteMultipleContentAsync(httpContext, contents, 1)
                .ConfigureAwait(false);
            }
            else
            {
                if (references is IEnumerable enumerable)
                {
                    var skipped   = 0;
                    var allcount  = 0;
                    var count     = 0;
                    var realcount = 0;
                    var contents  = new List <ODataEntity>();
                    if (req.HasFilter)
                    {
                        var filtered = new FilteredEnumerable(enumerable, (LambdaExpression)req.Filter, req.Top, req.Skip);
                        foreach (Node item in filtered)
                        {
                            contents.Add(CreateFieldDictionary(Content.Create(item), projector, httpContext));
                        }
                        allcount  = filtered.AllCount;
                        realcount = contents.Count;
                    }
                    else
                    {
                        foreach (Node item in enumerable)
                        {
                            allcount++;
                            if (skipped++ < req.Skip)
                            {
                                continue;
                            }
                            if (req.Top == 0 || count++ < req.Top)
                            {
                                contents.Add(CreateFieldDictionary(Content.Create(item), projector, httpContext));
                                realcount++;
                            }
                        }
                    }
                    await WriteMultipleContentAsync(httpContext, contents, req.InlineCount == InlineCount.AllPages?allcount : realcount)
                    .ConfigureAwait(false);
                }
            }
        }
Ejemplo n.º 2
0
        private void WriteMultiRefContents(object references, PortalContext portalContext, ODataRequest req)
        {
            if (references == null)
            {
                return;
            }

            var node      = references as Node;
            var projector = Projector.Create(req, true);

            if (node != null)
            {
                var contents = new List <Dictionary <string, object> >
                {
                    CreateFieldDictionary(Content.Create(node), projector)
                };
                //TODO: ODATA: multiref item: get available types from reference property
                WriteMultipleContent(portalContext, contents, 1);
            }
            else
            {
                if (references is IEnumerable enumerable)
                {
                    var skipped   = 0;
                    var allcount  = 0;
                    var count     = 0;
                    var realcount = 0;
                    var contents  = new List <Dictionary <string, object> >();
                    if (req.HasFilter)
                    {
                        var filtered = new FilteredEnumerable(enumerable, (LambdaExpression)req.Filter, req.Top, req.Skip);
                        foreach (Node item in filtered)
                        {
                            contents.Add(CreateFieldDictionary(Content.Create(item), projector));
                        }
                        allcount  = filtered.AllCount;
                        realcount = contents.Count;
                    }
                    else
                    {
                        foreach (Node item in enumerable)
                        {
                            allcount++;
                            if (skipped++ < req.Skip)
                            {
                                continue;
                            }
                            if (req.Top == 0 || count++ < req.Top)
                            {
                                contents.Add(CreateFieldDictionary(Content.Create(item), projector));
                                realcount++;
                            }
                        }
                    }
                    WriteMultipleContent(portalContext, contents, req.InlineCount == InlineCount.AllPages ? allcount : realcount);
                }
            }
        }
Ejemplo n.º 3
0
 public MutchupListPage()
 {
     InitializeComponent();
     matchups = new FilteredEnumerable <Matchup>(NBAContext.Instance
                                                 .Matchup
                                                 .OrderBy(s => s.Status)
                                                 .ToList());
     gameDatePicker.SelectedDate      = new DateTime(2017, 3, 30);
     nearestDateContainer.DataContext = GetMatchNearestMatchup(matchups);
 }
Ejemplo n.º 4
0
 public ManageTeamsPage()
 {
     InitializeComponent();
     FilteredTeams = new FilteredEnumerable <Team>(NBAContext.Instance.Team.ToList());
     conferenceComboBox.ItemsSource   = WithAllStringFirst(NBAContext.Instance.Conference.ToList());
     divisionComboBox.ItemsSource     = WithAllStringFirst(NBAContext.Instance.Division.ToList());
     conferenceComboBox.SelectedIndex = 0;
     divisionComboBox.SelectedIndex   = 0;
     DataContext = FilteredTeams;
 }
Ejemplo n.º 5
0
        private void WriteMultiRefContents(object references, PortalContext portalContext, ODataRequest req) //UNDONE: x: Rename: WriteMultiRefContents
        {
            var resp = portalContext.OwnerHttpContext.Response;

            if (references != null)
            {
                Node node      = references as Node;
                var  projector = Projector.Create(req, true);
                if (node != null)
                {
                    var contents = new List <Dictionary <string, object> >();
                    contents.Add(CreateFieldDictionary(Content.Create(node), portalContext, projector)); //TODO: ODATA: multiref item: get available types from reference property
                    WriteMultipleContent(portalContext, contents, 1);
                }
                else
                {
                    var enumerable = references as System.Collections.IEnumerable;
                    if (enumerable != null)
                    {
                        var skipped   = 0;
                        var allcount  = 0;
                        var count     = 0;
                        var realcount = 0;
                        var contents  = new List <Dictionary <string, object> >();
                        if (req.HasFilter)
                        {
                            var filtered = new FilteredEnumerable(enumerable, (System.Linq.Expressions.LambdaExpression)req.Filter, req.Top, req.Skip);
                            foreach (Node item in filtered)
                            {
                                contents.Add(CreateFieldDictionary(Content.Create(item), portalContext, projector));
                            }
                            allcount  = filtered.AllCount;
                            realcount = contents.Count;
                        }
                        else
                        {
                            foreach (Node item in enumerable)
                            {
                                allcount++;
                                if (skipped++ < req.Skip)
                                {
                                    continue;
                                }
                                if (req.Top == 0 || count++ < req.Top)
                                {
                                    contents.Add(CreateFieldDictionary(Content.Create(item), portalContext, projector));
                                    realcount++;
                                }
                            }
                        }
                        WriteMultipleContent(portalContext, contents, req.InlineCount == InlineCount.AllPages ? allcount : realcount);
                    }
                }
            }
        }