Код: Выделить всё
using (var connection = new NpgsqlConnection(_connectionString))
{
await connection.OpenAsync();
var query = @"
SELECT COUNT(1)
FROM TimeEntries
WHERE EmployeeId = @EmployeeId AND Date::date = @Date";
using (var command = new NpgsqlCommand(query, connection))
{
command.Parameters.AddWithValue("@EmployeeId", timeEntry.EmployeeId);
command.Parameters.AddWithValue("@Date", timeEntry.Date.Date);
var count = (long)await command.ExecuteScalarAsync();
if (count > 0)
{
throw new InvalidOperationException("Pracownik już ma zarejestrowane godziny pracy w tej dacie.");
}
}
Код: Выделить всё
{
"date": "2024-12-29T21:42:58.251Z",
"hoursWorked": 0
}
Проблема в том, что это не работает.
Данные в таблице следующие:
Код: Выделить всё
"id" "employeeid" "date" "hoursworked"
7 2 "2024-12-29" 8.00
Код: Выделить всё
command.Parameters.AddWithValue("@Date", timeEntry.Date.Date);
Код: Выделить всё
SELECT COUNT(1)
FROM TimeEntries
WHERE EmployeeId = 2 AND Date::date = '2024-12-29 00:00:00';
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-and-empl