public static IState PrintZReport()
        {
            ICashier cashier = cr.CurrentCashier;

            try
            {
                cr.Printer.CheckPrinterStatus();
                ReportMenu.PrintZReport();
            }
            catch (EJException eje)
            {
                return(ElectronicJournalError.Instance(eje));
            }
            catch (CashierAlreadyAssignedException)
            {
                States.Login.SignOutCashier();
                ReportMenu.PrintZReport();
            }

            return(cr.State = States.Login.Instance());
        }
 public override void Report()
 {
     if (EJEXCEPTION is EJFormatException)
     {
         return;
     }
     if (EJEXCEPTION is EJFiscalIdMismatchException)
     {
         return;
     }
     if (!cr.Document.IsEmpty)
     {
         return;
     }
     try
     {
         //This is in try catch b/c Nullref exception occured
         //around ej change time. Exact cause was undetermined
         cr.State = ReportMenu.EJOnly();
     }
     catch (NullReferenceException) { }
 }