Есть данные со СКУД
. Это время входа
и время выхода
. Время работы организации с 8 до 17:00
(обед не считаем). Есть переменные - таймаут1 - 25 минут
и таймаут2 - 55 минут
(ниже объясню зачем они). Надо посчитать фактическое время работы. Время работы организации "Рога и копыта" с 08:00 до 17:00
Допустим человек пришел в 8:01
и ушел в 17:40
. Так как он пришел в 8:01
и количество минут 01 < 25(таймаут1)
,то время входа будет 08:00
. Время выхода 17:40
. 40 > 25(таймаут1)
но меньша 55(таймаут2)
- поэтому округляем до 30
(до получаса). Получается что фактическое время работы с 08:00
по 17:30
. Это простейший алгоритм и его перенос в код не составит проблем.
Проблемы возникают если во времени прихода или ухода будут часы.
Допустим если человек пришел в 10:25
и ушел в 16:45
. Как посчитать его фактическое время?
Как-то так
DateTime time = DateTime.Now;
DateTime rounded = time.AddMilliseconds(-time.Millisecond).AddSeconds(-time.Second);
int minutes = rounded.Minute < 25 ? 0 : rounded.Minute > 55 ? 60 : 30;
rounded = rounded.AddMinutes(minutes - rounded.Minute);
Часы сами увеличатся, если мы добавим 60.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть форма (это пример)Как сделать все границы самой формы уже, кроме верхней? Хотелось бы на выходе получить вот так:
Есть база SQLite, с таблицами - Messages и UsersСодержит примерно 100 000 пользователей
Как сделать так, чтобы перемещение формы осуществлялось не только за верхнюю границу, а за любую часть данной формы?