private void OnChangeRollCommand() { IsEnabled = false; IsShowErrorMessage = false; var rollInfoViewModelA = ObserveWrapperHelper.GetInstance().Resolve <RollInfoViewModel>(); rollInfoViewModelA.Mode = RollInfoViewModelMode.ChangeRoll; rollInfoViewModelA.CurrentRollInfo = CurrentRollInfo; rollInfoViewModelA.Show(); rollInfoViewModelA.Closed += delegate(object senderA, RollInfoEventArgs argsA) { IsEnabled = true; if (argsA == null) { Log.Fatal("Информация о смене и бабине не определена! (Смена ленты билетов)"); throw new NullReferenceException("Информация о смене и бабине не определена!"); } if (argsA.IsCancel) { Log.Debug("Отмена смены ленты билетов"); return; } var isChange = !Equals(CurrentRollInfo, argsA.RollInfo); CurrentRollInfo = argsA.RollInfo ?? CurrentRollInfo; ChangeRollInfoToLog(CurrentRollInfo, isChange); OnPropertyChanged(() => CurrentTicketNumber); OnPropertyChanged(() => CurrentTicketSeries); OnPropertyChanged(() => TicketsLeft); }; }
private void OnWriteOffTicketsCommand() { IsEnabled = false; var ticketWriteOffViewModel = ObserveWrapperHelper.GetInstance().Resolve <TicketWriteOffViewModel>(); ticketWriteOffViewModel.Show(CurrentRollInfo); ticketWriteOffViewModel.Closed += delegate(object sender, WriteOffEventArgs args) { IsEnabled = true; if (args == null || args.ChequeRows.IsNullOrEmpty()) { Log.Debug("Отмена списания порченых билетов."); return; } var writeOffCheque = new Cheque { MoneyType = (short)PaymentTypes.WriteOff, OpenDate = DateTime.Now, CloseDate = DateTime.Now, Rows = args.ChequeRows.ToArray(), Shift = CurrentShift }; SendChequeToServer(writeOffCheque); OnPropertyChanged(() => CurrentTicketNumber); OnPropertyChanged(() => TicketsLeft); }; }
private void NeedChangeRoll() { IsEnabled = false; var rollInfoViewModelA = ObserveWrapperHelper.GetInstance().Resolve <RollInfoViewModel>(); rollInfoViewModelA.Mode = RollInfoViewModelMode.NeedNewRoll; rollInfoViewModelA.CurrentRollInfo = CurrentRollInfo; rollInfoViewModelA.Show(); rollInfoViewModelA.Closed += delegate(object sender, RollInfoEventArgs args) { IsEnabled = true; if (args.IsNull() || args.RollInfo.IsNull()) { Log.Fatal("Информация о смене и бабине не определена! (Необходимая смена ленты билетов)"); throw new NullReferenceException("Информация о смене и бабине не определена!"); } CurrentRollInfo = args.RollInfo; ChangeRollInfoToLog(CurrentRollInfo, true); OnPropertyChanged(() => CurrentTicketNumber); OnPropertyChanged(() => CurrentTicketSeries); OnPropertyChanged(() => TicketsLeft); PrintTickets(PrinterName); }; }
private void OnCloseShiftCommand() { IsEnabled = false; var rollInfoViewModel = ObserveWrapperHelper.GetInstance().Resolve <RollInfoViewModel>(); rollInfoViewModel.Mode = RollInfoViewModelMode.CloseShift; rollInfoViewModel.CurrentRollInfo = CurrentRollInfo; rollInfoViewModel.Show(); rollInfoViewModel.Closed += delegate(object sender, RollInfoEventArgs args) { IsEnabled = true; if (args == null) { return; } if (args.IsCancel) { Log.Debug("Отмена закрытия смены"); return; } ChangeRollInfoToLog(CurrentRollInfo, null); var closeDate = CurrentShift.CloseDate == new DateTime() ? DateTime.Now : CurrentShift.CloseDate; Log.Debug("Смена закрыта {0} – {1} {2}", CurrentShift.OpenDate, closeDate, CurrentShift.CashierName); var loginViewModel = ObserveWrapperHelper.GetInstance().Resolve <LoginViewModel>(); loginViewModel.Show(); ApplicationStaticHelper.IsValidExit = true; Close(); Dispose(); }; }
private void ResolvePaymentViewModel() { IsShowErrorMessage = false; #if !DEBUG || PRINT_DEBUG if (!PrinterDeviceHelper.IsPlug(PrinterName)) { var message = "Принтер {0} не подключен!".F(PrinterName); Log.Debug(message); RightErrorMessage = message; IsShowErrorMessage = true; return; } #endif IsEnabled = false; var paymentViewModel = ObserveWrapperHelper.GetInstance().Resolve <PaymentViewModel>(); paymentViewModel.Total = Total; paymentViewModel.Show(); paymentViewModel.PaymentReached += delegate(object sender, PaymentEventArgs args) { IsEnabled = true; if (!args.PaymentType.HasValue) { return; } _cheque.MoneyType = (short)args.PaymentType.Value; Log.Debug("Чек оплачен {0}.", args.PaymentType.Value.DescriptionOf()); _chequeRows = new List <ChequeRow>(); PrintCashVoucherToLog(_cashVoucherToPrint); PrintTickets(PrinterName); }; }
protected override void OnSettingsCommand() { IsEnabled = false; var settingsVM = ObserveWrapperHelper.GetInstance().Resolve <SettingsViewModel>(); settingsVM.Show(); settingsVM.CloseEventHandler += delegate { IsEnabled = true; }; }
private void OnReversalCommand() { IsEnabled = false; var reversalTicketViewModel = ObserveWrapperHelper.GetInstance().Resolve <ReversalTicketViewModel>(); reversalTicketViewModel.Show(); reversalTicketViewModel.Closed += delegate { IsEnabled = true; }; }
private void OnStartup(object sender, StartupEventArgs e) { Console.Out.WriteLine("Render Tier: {0}", Tier); SingleInstanceHelper.Make(); var sb = new StringBuilder(); sb.AppendLine(); sb.AppendFormat("Запущена касса версии {0}", Assembly.GetExecutingAssembly().GetName().Version); Log.Info(sb); Loader(StaticHelper.IoCcontainer); var o = ObserveWrapperHelper.GetInstance(); var relationsViewToViewModel = new Dictionary <Type, Type> { { o.GetWrappedType <LoginViewModel>(true), typeof(LoginView) }, { o.GetWrappedType <MainViewModel>(true), typeof(MainView) }, { o.GetWrappedType <PaymentViewModel>(true), typeof(PaymentView) }, { o.GetWrappedType <RollInfoViewModel>(true), typeof(RollInfoView) }, { o.GetWrappedType <InformationViewModel>(true), typeof(InformationView) }, { o.GetWrappedType <SettingsViewModel>(true), typeof(SettingsView) }, { o.GetWrappedType <TicketWriteOffViewModel>(true), typeof(TicketWriteOffView) }, { o.GetWrappedType <ReversalTicketViewModel>(true), typeof(ReversalTicketView) } }; ViewManager.RegisterViewViewModelRelations(relationsViewToViewModel); ViewModelManager.ActiveViewModels.CollectionChanged += ViewManager.OnViewModelsCoolectionChanged; #if LOGIN_DEBUG && PRINT_DEBUG Log.Warn("Запущено в режиме полной отладки!"); #elif LOGIN_DEBUG Log.Warn("Запущено в режиме отладки авторизации!"); #elif PRINT_DEBUG Log.Warn("Запущено в режиме отладки печати!"); #elif DEBUG Log.Warn("Запущено в режиме отладки!"); #else Log.Info("Запущено в продуктивном режиме."); #endif #if DEBUG && !LOGIN_DEBUG var startupWindowSeed = o.Resolve <MainViewModel>(); startupWindowSeed.OpenSession(); #else var startupWindowSeed = o.Resolve <LoginViewModel>(); startupWindowSeed.Show(); #endif }
protected override void OnSettingsCommand() { IsEnabled = false; var settingsVM = ObserveWrapperHelper.GetInstance().Resolve <SettingsViewModel>(); settingsVM.Show(); settingsVM.CloseEventHandler += delegate(object sender, ResultEventArgs args) { IsEnabled = true; if (args == null) { return; } if (args.Result == Result.Yes) { OnLoadedCommand(); } }; }
private void OnChangeRollCommand() { var rollInfoViewModelA = ObserveWrapperHelper.GetInstance().Resolve <RollInfoViewModel>(); rollInfoViewModelA.Mode = RollInfoViewModelMode.ChangeRoll; rollInfoViewModelA.CurrentRollInfo = CurrentRollInfo; rollInfoViewModelA.Show(); rollInfoViewModelA.Closed += delegate(object senderA, RollInfoEventArgs argsA) { if (argsA == null) { Log.Fatal("Информация о смене и бабине не определена! (Автоматический запрос на смену)"); throw new NullReferenceException("Информация о смене и бабине не определена!"); } _rollInfoEventArgs = argsA; Close(); Dispose(); }; }
public void OpenSession() { ApplicationStaticHelper.IsValidExit = true; IsEnabled = false; //Отправляем ранее не отправленные на сервер SendChequeToServer(null); //TODO: Переопределить Show Show(); var rollInfoViewModel = ObserveWrapperHelper.GetInstance().Resolve <RollInfoViewModel>(); rollInfoViewModel.Mode = RollInfoViewModelMode.OpenShift; rollInfoViewModel.Show(); rollInfoViewModel.Closed += delegate(object sender, RollInfoEventArgs args) { IsEnabled = true; if (args.IsNull() || args.IsCancel || args.RollInfo.IsNull()) { Log.Debug("Отмена открытия сессии"); var loginViewModel = ObserveWrapperHelper.GetInstance().Resolve <LoginViewModel>(); loginViewModel.Show(); Close(); Dispose(); return; } ApplicationStaticHelper.IsValidExit = false; CurrentRollInfo = args.RollInfo; CurrentShift = args.Shift; OnPropertyChanged(() => CurrentTicketNumber); OnPropertyChanged(() => CurrentTicketSeries); OnPropertyChanged(() => TicketsLeft); ChangeRollInfoToLog(CurrentRollInfo, false); FillCollectionServices(); Log.Debug("Смена открыта {0} {1}", CurrentShift.OpenDate, CurrentShift.CashierName); }; }
private void OnEnterCommand() { IsShowErrorMessage = false; BaseAPIStore.Logon(User.Login, Password); try { BaseAPI.isShiftOpen(); var mainViewModel = ObserveWrapperHelper.GetInstance().Resolve <MainViewModel>(); mainViewModel.PosTitle = PosTitle; mainViewModel.User = User.UserDisplayName; mainViewModel.OpenSession(); Close(); Dispose(); } catch (Exception e) { Log.Fatal(e); ErrorMessage = "Не верный логин или пароль!"; IsShowErrorMessage = true; } }
private void OnCalculateCommand() { _cashVoucherToPrint = (CashVoucher <ICashVoucherItem>)ResultCashVoucher.SourceCollection; var ticketsNeed = Math.Abs(TicketsLeft - _cashVoucherToPrint.Sum(item => item.Count)); if (ticketsNeed < 0) { IsEnabled = false; var informationViewModel = ObserveWrapperHelper.GetInstance().Resolve <InformationViewModel>(); informationViewModel.Count = ticketsNeed; informationViewModel.CurrentRollInfo = CurrentRollInfo; informationViewModel.Show(); informationViewModel.Closed += delegate(object senderD, RollInfoEventArgs args) { IsEnabled = true; if (args.IsNull()) { Log.Fatal("Информация о смене и бабине не определена! (Автоматический запрос на смену)"); throw new NullReferenceException("Информация о смене и бабине не определена!"); } if (!args.IsCancel) { ChangeRollInfoToLog(args.RollInfo, true); CurrentRollInfo = args.RollInfo; } else { Log.Debug("Отмена автоматического запроса на смену билетов"); } ResolvePaymentViewModel(); }; } else { ResolvePaymentViewModel(); } }