О блокировке какого-то документа из БД - PullRequest
0 голосов
/ 07 ноября 2018

У меня вопрос по программированию на C #. Ниже я опишу проблему и надеюсь меня понять. Приложение C # WPF

В моём программном обеспечении могут войти 2 человека с разными аккаунтами. Пользователь1 и Пользователь2. Я хочу, чтобы когда Пользователь1 открывал какой-то документ из БД SQL (Документ с ID = 5) для редактирования, второй Пользователь2 имел возможность только открывать и просматривать документ, но без прав на Редактирование.

Случай: когда пользователь1 уже редактировал документ. с ID = 5 получить проблему с подключением к Интернету или проблему с электричеством, и соединение между SQL и его компьютером будет отменено

КАК программное обеспечение будет знать об этом и разблокировать идентификатор документа = 5, чтобы его можно было редактировать от другого пользователя?

1 Ответ

0 голосов
/ 07 ноября 2018

Почему у вас нет свойства datetime в вашей базе данных 'DocumentLockedAt'. Тогда ваша логика принятия решения о том, заблокирован ли документ, основана на этом поле, а не на двоичном 1/0 (таким образом, вы можете игнорировать блокировки старше 1 часа и т. Д.).

Если вам нужен более точный контроль, вы можете периодически ОБНОВЛЯТЬ «DocumentLockedAt» из клиентского приложения, пока вы знаете, что оно все еще используется.

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