Я хотел бы, чтобы кнопка часов In запускала событие в программе, создающее запись для идентификатора сотрудника, который, как я предполагаю, у вас есть в то время.
Затем, когда нажата кнопка «часы», вы запускаете событие, которое отправляется в вашу базу данных и извлекает первую найденную запись с идентификатором сотрудника, который вы ищете, действительные часы во времени и ноль для времени выхода. . Если программа не найдет что-то, что соответствует всем этим критериям, вам придется обрабатывать это так, как вы хотите (я бы выполнял поиск, когда сотрудник входил в систему или что-то еще, и разрешал им доступ к кнопке часов, только если не было записи присутствует и позволяет им использовать кнопку отключения часов только в том случае, если для их идентификатора была найдена запись).
После того, как у вас есть эта запись в памяти, вы должны установить время выхода часов и вычислить разницу, используя часы во времени, которые были записаны в базу данных ранее.
Я бы использовал хранимую процедуру в базе данных для обработки добавления/обновления/управления записью и выполнения всех вычислений и всего, что вы хотите сделать во время входа/выхода часов внутри самой программы. Но я думаю, что это всего лишь предпочтение в отношении того, где происходит фактическая обработка.
Наиболее очевидная причина этого заключается в том, что программа может быть закрыта в промежутке между входом и выходом без каких-либо потерь. Если вы попытаетесь отслеживать все это в памяти, вы потеряете все свои часы, как только программа будет закрыта по какой-либо причине (закрыта вручную / «Завершить задачу» через диспетчер задач / необработанная ошибка).
person
Mike_OBrien
schedule
27.12.2012