Отслеживание времени проекта - PullRequest
0 голосов
/ 29 мая 2019

Я создаю трекер времени проекта, и мне нужно несколько советов о том, как записывать еженедельные часы.

По сути, у меня есть две таблицы: projectTable и weeklyReportTable с отношением один ко многим.

ProtectTable будет вести учет всех проектов, над которыми работает, наряду с другой информацией, такой как владелец, статус и т. Д. *

weeklyReportTable должен отслеживать еженедельную активность в проекте и может быть толькоодна запись в неделю на проект.Еженедельно пользователи будут регистрировать количество часов и отчет о действиях, произошедших в течение этой недели.

Интерфейс пользователя для обновления статуса проекта будет состоять из панели со списком всех проектов зарегистрированного пользователя вместе с полем ввода.регистрировать часы и активность.Будет виджет, который пользователь может использовать для перемещения вперед и назад, чтобы выбрать неделю, в которую он хочет регистрировать активность.

Вопрос: как лучше всего обеспечить, чтобы в проекте weeklyReportTable была только одна запись в неделю на проект?Если пользователь пытался зарегистрировать активность в проекте в течение недели, которая уже существует, я не хочу создавать новую запись, а скорее обновлять существующую.

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Исходя из вашего ответа выше, это то, что я лично предложил бы.

Если записи еще нет -> Создать еще -> Получить его -> Обновите его

Я сделал нечто подобное в своем собственном автономном приложении, проверьте его по адресу: http://www.prototimer.com

0 голосов
/ 30 мая 2019

если у вас есть дата начала проекта, я предполагаю, что вы захотите создать ее, когда проект будет создан, досрочно, до даты окончания. В противном случае вы можете создать его, когда они нажимают на определенную неделю, но вы можете заблокировать эту часть, чтобы убедиться, что в случае, если два пользователя не смогут щелкнуть ее, что приведет к дублированию значения. Или вы можете написать триггер в предсоздании, чтобы проверить наличие дубликата, но все же я думаю, что вы хотите заблокировать его, так как отношение имеет другую мощность, чем выражается через пользовательский интерфейс. Если у вас есть пользовательская база данных, укажите уникальный индекс для даты + идентификатор проекта, если вы используете одну и ту же дату (понедельник недели), вы должны быть хороши

...