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()); }
/// <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);