Пример #1
0
        private void InsertReplay(DsReplayDto replay, List <string> playerNames)
        {
            var dbReplay = new Dsreplay(replay);

            dbReplay.Dsplayers.Where(x => playerNames.Contains(x.Name)).ToList().ForEach(x => x.isPlayer = true);
            ReplayFilter.SetDefaultFilter(new List <Dsreplay>()
            {
                dbReplay
            });
            DbService.SetMid(dbReplay);
            insertService.AddReplay(dbReplay);
        }
Пример #2
0
    public async Task <DateTime?> Produce(IFormFile file, string nameHash)
    {
        List <DsReplayDto> replays;

        using (var stream = new MemoryStream((int)file.Length))
        {
            await file.CopyToAsync(stream);

            replays = await Decompress(stream);
        }

        if (replays.Any())
        {
            var dsreplays = replays.Select(s => new Dsreplay(s)).ToList();
            dsreplays.SelectMany(s => s.Dsplayers).Where(x => x.Name == "player").ToList().ForEach(f => { f.Name = nameHash; f.isPlayer = true; });
            ReplayFilter.SetDefaultFilter(dsreplays);
            Produce(dsreplays);
            return(dsreplays.First().Gametime);
        }
        return(null);
    }
Пример #3
0
    public async Task <DateTime?> Produce(string gzipbase64String, string nameHash)
    {
        try
        {
            var replays = JsonSerializer.Deserialize <List <DsReplayDto> >(await DSData.UnzipAsync(gzipbase64String)).OrderByDescending(o => o.GAMETIME);

            if (replays.Any())
            {
                var dsreplays = replays.Select(s => new Dsreplay(s)).ToList();
                dsreplays.SelectMany(s => s.Dsplayers).Where(x => x.Name == "player").ToList().ForEach(f => { f.Name = nameHash; f.isPlayer = true; });
                ReplayFilter.SetDefaultFilter(dsreplays);
                Produce(dsreplays);
                return(dsreplays.First().Gametime);
            }
        }
        catch (Exception ex)
        {
            logger.LogError($"failed producing data: {ex.Message}");
        }
        return(null);
    }