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(); } } }
public async Task <IActionResult> ByCurrency([FromQuery] WinLoseQuery query) => GetResult(await reportsRepository.WinLoseByCurrency(query));
public async Task <IActionResult> ByMerchantDetails([FromQuery] WinLoseQuery query) => GetResult(await reportsRepository.WinLoseByMerchantDetails(query));