private void buttonDock_Click(object sender, RoutedEventArgs e) { RegisterContextMenu.IsOpen = false; int registerSubId = 0; RegisterDrawer registerDrawer = RegisterDrawer.GetFloating(SessionManager.ActiveEmployee.Id); if (registerDrawer == null) { PosDialogWindow.ShowDialog( Types.Strings.RegisterMenuNotFloating, Types.Strings.Error); return; } if (registerSubId == 0) { DeviceManager.OpenCashDrawer1(); } else if (registerSubId == 1) { DeviceManager.OpenCashDrawer2(); } RegisterManager.DockRegisterDrawer(registerDrawer, registerSubId); OrderEntryCommands.SetupNoOrderCommands(); PosDialogWindow.ShowDialog( Types.Strings.RegisterMenuDrawerIsNowDocked, Types.Strings.Notification); OrderEntryCommands.UpdateTicketDetailCommands(); }
public void PrintRegisterReport(RegisterDrawer drawer) { ActionNotificationControl notification = ActionNotificationControl.Create(MainWindow.Singleton, Types.Strings.RegisterMenuPreparingReport, Types.Strings.Notification); notification.Show(); notification.ParentWindow.Closed += Notification_Closed; ReportManager.PrintRegisterReport(drawer, ParentWindow_Closed); notification.Close(); }
public static void StartRegister() { // No network card or bad network setup if (RegisterId == null) { PosDialogWindow.ShowDialog(MainWindow.Singleton, Strings.CanNotDetermineTheRegisterIDCheckNetworkSetup, Strings.Error); return; } #if !DEMO // Are and physical register drawers even setup? if ((DeviceManager.ActiveCashDrawer1 == null) && (DeviceManager.ActiveCashDrawer2 == null)) { PosDialogWindow.ShowDialog(MainWindow.Singleton, Strings.ThereAreNoPhysicalCashRegisterDrawersSetup, Strings.Error); return; } // Are both register drawers assigned to other employees already? bool drawer1Available, drawer2Available; RegisterManager.CheckAvailable(out drawer1Available, out drawer2Available); if (!drawer1Available && !drawer2Available) { bool bothDrawersSetup = ((DeviceManager.ActiveCashDrawer1 != null) && (DeviceManager.ActiveCashDrawer2 != null)); PosDialogWindow.ShowDialog(MainWindow.Singleton, (bothDrawersSetup ? Strings.BothDrawersAre : Strings.TheRegisterDrawerIs) + Strings.AlreadyBeingUsedBy + (bothDrawersSetup ? Strings.OtherEmployees : Strings.AnotherEmployee), Strings.Error); return; } #endif PosDialogWindow window = RegisterDrawerStartControl.CreateInDefaultWindow(); RegisterDrawerStartControl control = window.DockedControl as RegisterDrawerStartControl; PosDialogWindow.ShowPosDialogWindow(MainWindow.Singleton, window); if (!window.ClosedByUser && (control.StartingAmount != null)) { RegisterManager.ActiveRegisterDrawer = RegisterDrawer.Add(RegisterId.Value, 0, // TODO: Set RegisterSubId to the physical register drawer used SessionManager.ActiveEmployee.Id, control.StartingAmount.Value); // Resetup command buttons OrderEntryCommands.SetupNoOrderCommands(); // Open the register so the drawer can be placed in it OpenCashDrawer(); } }
public static bool DockRegisterDrawer(RegisterDrawer registerDrawer, int registerSubId) { // No network card or bad network setup if (RegisterId == null) { return(false); } RegisterMove registerMove = RegisterMove.GetOpen(SessionManager.ActiveEmployee.Id); registerMove.SetTarget(RegisterId.Value, registerSubId); ActiveRegisterDrawer = registerDrawer; ActiveRegisterDrawer.SetRegisterId(RegisterId.Value, registerSubId); return(true); }
public static void SetActiveRegisterDrawer() { ActiveRegisterDrawer = null; if (RegisterId == null) { return; } foreach (RegisterDrawer drawer in RegisterDrawer.GetOpen(RegisterId.Value)) { if (drawer.EmployeeId == SessionManager.ActiveEmployee.Id) { ActiveRegisterDrawer = drawer; return; } } }
private void buttonCloseOut_Click(object sender, RoutedEventArgs e) { RegisterContextMenu.IsOpen = false; if (PosDialogWindow.ShowDialog( Types.Strings.RegisterMenuConfirmDrawerClose, Types.Strings.Confirmation, DialogButtons.YesNo) != DialogButton.Yes) { return; } RegisterManager.OpenCashDrawer(); RegisterDrawer activeRegisterDrawer = RegisterManager.ActiveRegisterDrawer; RegisterManager.CloseActiveRegisterDrawer(); OrderEntryCommands.UpdateTicketDetailCommands(); PrintRegisterReport(activeRegisterDrawer); }
public static void CheckAvailable(out bool drawer1Available, out bool drawer2Available) { if (RegisterId == null) { drawer1Available = false; drawer2Available = false; return; } drawer1Available = true; drawer2Available = true; foreach (RegisterDrawer drawer in RegisterDrawer.GetOpen(RegisterId.Value)) { if (drawer.RegisterSubId == 0) { drawer1Available = false; } if (drawer.RegisterSubId == 1) { drawer2Available = false; } } }
private static void ResetTransactionalTables() { SettingManager.SetStoreSetting("DailyIdOffset", 0); DayOfOperation.Reset(typeof(DayOfOperation)); EmployeeTimesheet.Reset(typeof(EmployeeTimesheet)); EmployeeTimesheetChangeLog.Reset(typeof(EmployeeTimesheetChangeLog)); Lock.Reset(typeof(Lock)); Party.Reset(typeof(Party)); PartyInvite.Reset(typeof(PartyInvite)); RegisterDeposit.Reset(typeof(RegisterDeposit)); RegisterDrawer.Reset(typeof(RegisterDrawer)); RegisterDrop.Reset(typeof(RegisterDrop)); RegisterNoSale.Reset(typeof(RegisterNoSale)); RegisterPayout.Reset(typeof(RegisterPayout)); Ticket.Reset(typeof(Ticket)); TicketCoupon.Reset(typeof(TicketCoupon)); TicketDiscount.Reset(typeof(TicketDiscount)); TicketItem.Reset(typeof(TicketItem)); TicketItemOption.Reset(typeof(TicketItemOption)); TicketItemReturn.Reset(typeof(TicketItemReturn)); TicketPayment.Reset(typeof(TicketPayment)); TicketRefund.Reset(typeof(TicketRefund)); TicketVoid.Reset(typeof(TicketVoid)); }