Как я могу проверить, что новые записи не перекрываются с записями в базе данных ?,
У меня есть записи, которые выглядят так, как показано ниже. Перед добавлением новой записи я хотел бы проверить, что новая запись не t пересекаются с существующими.
ID ProductCode ProductFrom ProductTo ContactID
1 NULL 800762 800766 55
2 NULL 800767 800789 56
3 800790 NULL NULL 56
4 800791 NULL NULL 55
5 NULL 800792 800796 57
Например, если пользователь пытается ввести 800765, я хотел бы отобразить ошибку проверки, поскольку 800765 находится в диапазоне между 800762 и 800766 и назначен ID = 1
У меня есть следующее код для получения всех записей в базе данных
var validateOverlaps= await ContactsService.GetAllContacts();// get all fields and records
Я пробовал это внутри своего класса действий
bool overlaps = validateOverlaps.Any(p => (p.ProductFrom <= contactToCreate.ProductCode && p.ProductTo>= contactToCreate.ProductCode));
Если это правда, мне нравится отображать следующую проверку
if (overlaps)
ModelState.AddModelError("ProductCode", "product Code range overlaps with another Product Code range.");
Спасибо