Exemple #1
0
        public override StatusReport GetStatus(StatusTypesEnum type)
        {
            ReturnCodeEnum ret;

            GenericStatusResquestEnum r;

            switch (type)
            {
            case StatusTypesEnum.PrinterStatus:
                r = GenericStatusResquestEnum.Status;
                break;

            case StatusTypesEnum.OfflineStatus:
                r = GenericStatusResquestEnum.OffLineStatus;
                break;

            case StatusTypesEnum.ErrorStatus:
                return(StatusReport.Invalid());

            case StatusTypesEnum.PaperStatus:
                r = GenericStatusResquestEnum.PaperRollStatus;
                break;

            case StatusTypesEnum.MovementStatus:
                return(StatusReport.Invalid());;

            case StatusTypesEnum.FullStatus:
                r = GenericStatusResquestEnum.FullStatus;
                break;

            default:
                // Tipo de status desconhecido
                return(StatusReport.Invalid());
            }

            var rts = new StatusReport();

            if (r == GenericStatusResquestEnum.FullStatus)
            {
                ret = internalGetStatus(GenericStatusResquestEnum.Status, rts);
                ret = ret != ReturnCodeEnum.Success ? ret : internalGetStatus(GenericStatusResquestEnum.PaperRollStatus, rts);
                ret = ret != ReturnCodeEnum.Success ? ret : internalGetStatus(GenericStatusResquestEnum.OffLineStatus, rts);

                // Not supported PP-82
                //ret = ret != ReturnCode.Success ? ret : internalGetStatus(PhoenixStatusRequests.ErrorStatus, rts);
            }
            else
            {
                ret = internalGetStatus(r, rts);
            }

            // Retorna o objeto de status nulo em erro
            return(ret == ReturnCodeEnum.Success ? rts : StatusReport.Invalid());
        }
Exemple #2
0
 /// <inheritdoc />
 /// <summary>
 /// Retorna o relatório de status especifico para esta impressora
 /// </summary>
 /// <param name="type">Tipo de consulta de status</param>
 /// <returns>Relatório de Status</returns>
 public abstract StatusReport GetStatus(StatusTypesEnum type);