35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using CPATapi.Server.Interfaces;
|
|
using CPATapi.Server.Models;
|
|
using Dapper;
|
|
|
|
namespace CPATapi.Server.Repository;
|
|
|
|
internal class ZeitConsensRepository(IConfiguration config) : Repository(config), IZeitConsensRepository
|
|
{
|
|
public async Task<IEnumerable<string>> GetUsersAsync()
|
|
{
|
|
await using var con = await OpenAsync("ZeitConsens");
|
|
return await con.QueryAsync<string>("""
|
|
SELECT DISTINCT MA_USER_NAME
|
|
FROM dbo.MA_DATEN
|
|
WHERE MA_USER_NAME IS NOT NULL AND MA_USER_AKTIV = 1
|
|
ORDER BY MA_USER_NAME
|
|
""");
|
|
}
|
|
|
|
public async Task<IEnumerable<Stamp>> GetStampsAsync(string user, DateTime from, DateTime to)
|
|
{
|
|
await using var con = await OpenAsync("ZeitConsens");
|
|
return await con.QueryAsync<Stamp>("""
|
|
SELECT
|
|
MA_NR
|
|
,BU_BU
|
|
FROM dbo.BU
|
|
INNER JOIN dbo.MA_DATEN on MA_NR = BU_MA_NR
|
|
WHERE
|
|
MA_USER_NAME = @user AND
|
|
BU_BU >= @from AND BU_BU < @to
|
|
""", new { user, from, to });
|
|
}
|
|
}
|