private void setLocalDTFields() { // ожидаемое время начала приготовления для автоматического перехода в состояние приготовления _dtCookingStartEstimated = this.CreateDate.AddSeconds(this.DelayedStartTime); // время приготовления _tsCookingEstimated = TimeSpan.FromSeconds(this.EstimatedTime); _strCookingEstimated = AppLib.GetAppStringTS(_tsCookingEstimated); }
private void updateWaitTimer() { TimeSpan ts = (_appOrder.IsExistOrderEstimateDT ? _appOrder.OrderCookingBaseDT - DateTime.Now : DateTime.Now - _appOrder.OrderCookingBaseDT); ts = getRoundedTimeSpan(ts, 1d); _tbWaitTime.Text = AppLib.GetAppStringTS(ts); //Debug.Print(_tbWaitTime.Text); }
private void updateCookingTimer() { if (_cookingEstDate == DateTime.MinValue) { return; } TimeSpan ts = (_cookingEstMinutes == 0 ? DateTime.Now - _cookingEstDate : _cookingEstDate - DateTime.Now); ts = getRoundedTimeSpan(ts, 1d); string tss = AppLib.GetAppStringTS(ts); if (this.tbCookingTimer.Text != tss) { this.tbCookingTimer.Text = tss; } }
// время, отображаемое на панели блюда private string getViewTimerString() { // для ИНГРЕДИЕНТОВ if ((this.ParentUID != null) && (this.ParentUID.Length > 0)) { // отключен флажок НЕЗАВИСИМОСТИ (IsIngredientsIndependent == false) и ВЫКЛЮЧЕН флажок показа таймера ShowTimerOnDependIngr bool b1 = (bool)WpfHelper.GetAppGlobalValue("IsIngredientsIndependent", false), b2 = (bool)WpfHelper.GetAppGlobalValue("ShowTimerOnDependIngr", false); bool isShowTimer = b1 || (!b1 && b2); if (isShowTimer == false) { return(null); } } // текущее значение таймера string timerString = this.WaitingTimerString; // состояние "Ожидание" начала готовки if (this.Status == OrderStatusEnum.WaitingCook) { // если есть "Готовить через" - отображаем время начала автомат.перехода в сост."В процессе" по убыванию if (this.DelayedStartTime != 0) { TimeSpan ts = _dtCookingStartEstimated - DateTime.Now; timerString = AppLib.GetAppStringTS(ts); if (ts.Ticks < 0) { if (this.EstimatedTime > 0) { timerString = _strCookingEstimated; } else { timerString = ""; } } } // если есть время приготовления, то отобразить время приготовления else if (this.EstimatedTime != 0) { timerString = _strCookingEstimated; } else { // по умолчанию отправить timerString = ""; } } // другие состояния else { TimeSpan tsTimerValue = AppLib.GetTSFromString(this.WaitingTimerString); // состояние "В процессе" - отображаем время приготовления по убыванию от планового времени приготовления, // если нет планового времени приготовления, то сразу отрицат.значения if (this.Status == OrderStatusEnum.Cooking) { tsTimerValue = _tsCookingEstimated - (tsTimerValue.Ticks < 0 ? tsTimerValue.Negate() : tsTimerValue); } else { // состояние "Готово/ПодтвГотово" - счетчик по убыванию от ExpectedTake (период, в течение которого официант должен забрать блюдо) if ((!_isUseReadyConfirmed && (this.Status == OrderStatusEnum.Ready)) || (_isUseReadyConfirmed && (this.Status == OrderStatusEnum.ReadyConfirmed))) { if (!_expTakeTS.IsZero()) { tsTimerValue = _expTakeTS - (tsTimerValue.Ticks < 0 ? tsTimerValue.Negate() : tsTimerValue); } } // есть ПодтвГотово, находимся в состоянии Готово и _autoGotoReadyConfirmPeriod не равен 0 - счетчик по убыванию от _autoGotoReadyConfirmPeriod (период, по истечении которого происходит автоматический переход в состояние ПодтвГотово) // && (_savedReadyTS.IsZero() == false) -- зачем? else if (_isUseReadyConfirmed && (!_autoGotoReadyConfirmTS.IsZero()) && (this.Status == OrderStatusEnum.Ready)) { tsTimerValue = _autoGotoReadyConfirmTS - (tsTimerValue - _savedReadyTS); _enableTimerToAutoReadyConfirm = (tsTimerValue.TotalSeconds > 0); } } timerString = AppLib.GetAppStringTS(tsTimerValue); } return(timerString); }