Как я могу проверить перекрытия - PullRequest
0 голосов
/ 16 июня 2020

Как я могу проверить, что новые записи не перекрываются с записями в базе данных ?,

У меня есть записи, которые выглядят так, как показано ниже. Перед добавлением новой записи я хотел бы проверить, что новая запись не 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.");

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...