public async Task <IActionResult> GetPL()
    {
        IEnumerable <VerifiedEntry> allVerifiedEntries = await _repo.GetAllVerifiedEntries();

        if (allVerifiedEntries == null || !allVerifiedEntries.Any())
        {
            return(Ok(new List <PLVirtualLeagueEntry>()));
        }

        allVerifiedEntries = allVerifiedEntries.Where(v => v.VerifiedEntryType == VerifiedEntryType.FootballerInPL);

        var plVerifiedEntries = await _plRepo.GetAllVerifiedPLEntries();


        var lastGwOrder    = allVerifiedEntries.OrderByDescending(e => e.EntryStats.LastGwTotalPoints).ThenBy(o => o.EntryStats.OverallRank).ToList();
        var currentGwOrder = allVerifiedEntries.OrderByDescending(e => e.EntryStats.CurrentGwTotalPoints).ThenBy(o => o.EntryStats.OverallRank).ToList();

        var viewModels       = new List <PLVirtualLeagueEntry>();
        var lastGameweekRank = 0;

        foreach (var item in lastGwOrder)
        {
            var currentRank    = currentGwOrder.FindIndex(x => x.EntryId == item.EntryId);
            var currentGwItem  = currentGwOrder[currentRank];
            var movement       = currentRank - lastGameweekRank;
            var currentPLEntry = plVerifiedEntries.First(c => c.EntryId == item.EntryId);
            viewModels.Add(ApiModelBuilder.BuildPLVirtualLeagueEntry(currentPLEntry, currentGwItem) with {
                Movement = movement
            });
Example #2
0
        protected override void OnApiModelCreating(ApiModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Order>()
            .HasNavigation(o => o.Lines);

            modelBuilder.Entity <OrderLine>()
            .HasNavigation(ol => ol.Product);

            modelBuilder.Entity <Product>()
            .Ignore(p => p.InventoryStockId);
        }
Example #3
0
    public async Task <IActionResult> GetRegular(int entryId)
    {
        var verifiedEntry = await _repo.GetVerifiedEntry(entryId);

        if (verifiedEntry == null)
        {
            return(NotFound());
        }

        return(Ok(ApiModelBuilder.BuildRegularEntry(verifiedEntry)));
    }
        protected override void OnApiModelCreating(ApiModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Order>()
            .HasNavigation(o => o.Lines);

            modelBuilder.Entity <OrderLine>()
            .HasNavigation(ol => ol.Product);

            modelBuilder.Entity <Product>()
            .Ignore(p => p.Stock)
            .Ignore(p => p.WholesalePrice);
        }
        protected override void OnApiModelCreating(ApiModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Order>()
            .HasNavigation(o => o.Lines);

            modelBuilder.Entity <OrderLine>()
            .HasNavigation(ol => ol.Product);

            modelBuilder.Entity <Product>();

            modelBuilder.Entity <User>()
            .Ignore(u => u.Password);
        }
Example #6
0
    public async Task <IActionResult> GetPL(int entryId)
    {
        var plVerifiedEntry = await _plRepo.GetVerifiedPLEntry(entryId);

        if (plVerifiedEntry == null)
        {
            return(NotFound());
        }

        var verifiedEntry = await _repo.GetVerifiedEntry(entryId);

        if (verifiedEntry == null)
        {
            return(NotFound());
        }

        return(Ok(ApiModelBuilder.BuildPLEntry(verifiedEntry, plVerifiedEntry)));
    }