private static void ChangeRollInfoToLog(RollInfo r, bool?isChange) { if (r.IsNull()) { Log.Warn("Лента билетов не определена!"); return; } var sb = new StringBuilder(); string firstPart; if (isChange.HasValue) { firstPart = isChange.Value ? "Произошла смена ленты билетов" : "Текущая лента билетов"; } else { firstPart = "Информация о ленте билетов на момент закрытия смены"; } sb.AppendLine(firstPart); sb.AppendLine("{0} {1} {2}".F(r.Series, r.NextTicket, r.Color.Color)); sb.AppendFormat("Состояние: {0}; Осталось билетов: {1};", ApplicationStaticHelper.IsCurrentRollDeactivated ? "Деактивирована" : "Активирована", r.TicketsLeft); Log.Debug(sb); }
private void OnMainCommand() { IsShowErrorMessage = false; try { switch (Mode) { case RollInfoViewModelMode.OpenShift: _rollInfo = BaseAPI.activateTicketRoll(FirstTicketSeries, FirstTicketNumber, RollColor.Default); ApplicationStaticHelper.IsCurrentRollDeactivated = false; _shift = BaseAPI.isShiftOpen() ? BaseAPI.getCurrentShift() : BaseAPI.openShift(); break; case RollInfoViewModelMode.CloseShift: if (!DeactivateRoll()) { return; } if (BaseAPI.isShiftOpen()) { BaseAPI.closeShift(BaseAPI.getCurrentShift()); ApplicationStaticHelper.ShiftCloseDate = DateTime.Now; } if (BaseAPI.isShiftOpen()) { ErrorMessage = "Закрыть смену ({0} {1}) не получилось! Режим {2}.".F(BaseAPI.getCurrentShift().CashierName, BaseAPI.getCurrentShift().OpenDate, Mode); Log.Warn(ErrorMessage); IsShowErrorMessage = true; return; } _rollInfo = null; _shift = null; break; case RollInfoViewModelMode.NeedNewRoll: if (!CloseRoll()) { return; } _rollInfo = BaseAPI.activateTicketRoll(FirstTicketSeries, FirstTicketNumber, RollColor.Default); ApplicationStaticHelper.IsCurrentRollDeactivated = false; _shift = BaseAPI.getCurrentShift(); break; case RollInfoViewModelMode.ChangeRoll: if (!DeactivateRoll()) { return; } _rollInfo = BaseAPI.activateTicketRoll(FirstTicketSeries, FirstTicketNumber, RollColor.Default); ApplicationStaticHelper.IsCurrentRollDeactivated = false; _shift = BaseAPI.getCurrentShift(); break; default: throw new ArgumentOutOfRangeException(); } } catch (Exception e) { Log.Debug("{0} Вызвало исключение:", Mode); Log.Fatal(e); //throw; ErrorMessage = "Произошло исключение: {0}".F(e.Message); IsShowErrorMessage = true; return; } if (_rollInfo.IsNull() && Mode != RollInfoViewModelMode.CloseShift /*&& Mode != RollInfoViewModelMode.ChangeRollDeactivate*/) { ErrorMessage = String.Format("Бабина с параметрами {0} {1} не существует! Режим {2}.", FirstTicketSeries, FirstTicketNumber, Mode); Log.Warn(ErrorMessage); IsShowErrorMessage = true; return; } if (_shift.IsNull() && Mode != RollInfoViewModelMode.CloseShift) { ErrorMessage = String.Format("Смена не определена!"); Log.Warn(ErrorMessage); IsShowErrorMessage = true; return; } Close(); Dispose(); }