Запросы транзакций Oracle, таймер Asp.net - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть приложение asp.net/C# и бэкэнд как оракул.Мне нужно использовать транзакции.Ниже приведено требование:

У меня есть таблица OrderDetails со столбцами, такими как: "OrderId", "Ordername", "OrderStatus"

Все имена OrderNames отображаются во внешнем интерфейсе как кнопка радио.После проверки радиокнопки статус этого заказа должен измениться на «В процессе», а при нажатии кнопки «Создать заказ» на странице статус должен измениться на «Забронировано».

Но в случае переключателяЕсли флажок снят или окно закрыто, статус должен измениться на «Доступен».

Кроме того, после проверки радиокнопки таймер должен запускаться на входе.Продолжительность таймера должна исходить из другой таблицы бэкэнда.Ордер может храниться «в процессе» только в течение этого времени таймера.

Любые указания на то, как мне добиться этой функциональности.

Заранее спасибо.

1 Ответ

1 голос
/ 27 февраля 2012

Здесь 'базовая схема:

  1. Всякий раз, когда заказ проверяется, вам нужно запустить AJAX-запрос, который вызовет установку заказа в статус незавершенного производства.
  2. Сохранение последнего обновленного столбца в таблице заказов, в котором теперь указывалось бы время, когда заказ перешел в состояние незавершенного производства.
  3. Запрос AJAX от # 1 должен возвращать длительность таймера и время последнего обновления для внешнего интерфейса js, чтобы пользователь мог указывать время. (вам нужно настроить дату-время сервера на время-дату внешнего интерфейса, используя половину времени прохождения туда-обратно)
  4. Если заказ не отмечен, то может быть вызван AJAX-запрос на изменение статуса заказа обратно на Доступно.
  5. Кнопка «Создать заказ» может инициировать запрос AJAX (или традиционную обратную передачу ASP.NET), чтобы пометить статус как зарегистрированный.
  6. Иметь задание базы данных, выполняемое достаточно периодически, чтобы текущие заказы можно было переключать обратно на доступные в зависимости от времени, прошедшего с момента последнего обновления. Вы можете выбрать любой другой вид планирования (например, планировщик Windows) для выполнения той же очистки.
  7. # 6 должен обрабатывать сценарий закрытия окна, но вы всегда можете попытаться вызвать запрос на очистку в другом окне (свернутом) перед закрытием исходного окна.

AJAX в ASP.NET и обновление базы данных Oracle довольно удобны, и вы должны найти много информации / учебных материалов в Интернете. То же самое для транзакций - я бы предложил использовать TransactionScope для упрощения обработки транзакций.

...