public async Task <List <WinLoseByPlatform> > WinLoseByPlatform(WinLoseQuery query)
        {
            using (var db = databaseManager.GetReadOnlyDatabase(query.OperatorId))
            {
                var x = await db.WinLosesByPlatform
                        .Query("REPORTWINLOSEPLATFORM @OperatorId, @GameId, @StartDateInUTC, @EndDateInUTC, @IsDemo, @IsFreeRounds, @CurrencyId", query)
                        .ToListAsync();

                return(x.WithFilters(query));
            }
        }
        public async Task <List <WinLoseBase> > WinLose(WinLoseQuery query)
        {
            using (var db = databaseManager.GetReadOnlyDatabase(query.OperatorId))
            {
                switch (query.FormatFilterType)
                {
                case Enums.FilterDateType.All:
                case Enums.FilterDateType.Daily:
                {
                    var x = await db.WinLoses
                            .Query($"REPORTWINLOSE{query.FormatFilterType} @OperatorId, @GameId, @UserId, @StartDateInUTC, @EndDateInUTC, @IsDemo, @IsFreeRounds, @CurrencyId, @Platform", query)
                            .Select(data => new WinLoseByPeriodAll(data)
                        {
                            Date = query.FormatFilterType == Enums.FilterDateType.All ?
                                   $"{query.StartDate.ToString("dd MMM yyyy")} - {query.EndDate.ToString("dd MMM yyyy")}" : data.Date
                        })
                            .ToListAsync();

                    return(x.WithFilters <WinLoseBase>(query));
                }

                case Enums.FilterDateType.Weekly:
                {
                    var x = await db.WinLosesWeekly
                            .Query($"REPORTWINLOSE{query.FormatFilterType} @OperatorId, @GameId, @UserId, @StartDateInUTC, @EndDateInUTC, @IsDemo, @IsFreeRounds, @CurrencyId, @Platform", query)
                            .ToListAsync();

                    return(x.WithFilters <WinLoseBase>(query));
                }

                case Enums.FilterDateType.Monthly:
                {
                    var x = await db.WinLosesMonthly
                            .Query($"REPORTWINLOSE{query.FormatFilterType} @OperatorId, @GameId, @UserId, @StartDateInUTC, @EndDateInUTC, @IsDemo, @IsFreeRounds, @CurrencyId, @Platform", query)
                            .ToListAsync();

                    return(x.WithFilters <WinLoseBase>(query));
                }

                default:
                    throw new InvalidOperationException();
                }
            }
        }
Esempio n. 3
0
 public async Task <IActionResult> ByCurrency([FromQuery] WinLoseQuery query) =>
 GetResult(await reportsRepository.WinLoseByCurrency(query));
Esempio n. 4
0
 public async Task <IActionResult> ByMerchantDetails([FromQuery] WinLoseQuery query) =>
 GetResult(await reportsRepository.WinLoseByMerchantDetails(query));