protected internal bool isValid(int currentPageNumber, bool thisIsFirstPage, bool isEmptyPage) { bool okOnPagePosition = true; switch (getPagePosition()) { case PagePosition.FIRST: if (!thisIsFirstPage) { okOnPagePosition = false; } break; case PagePosition.LAST: FonetDriver.ActiveDriver.FireFonetInfo("Last page position not known"); okOnPagePosition = true; break; case PagePosition.REST: if (thisIsFirstPage) { okOnPagePosition = false; } break; case PagePosition.ANY: okOnPagePosition = true; break; } bool okOnOddOrEven = true; int ooe = getOddOrEven(); bool isOddPage = ((currentPageNumber % 2) == 1) ? true : false; if ((OddOrEven.ODD == ooe) && !isOddPage) { okOnOddOrEven = false; } if ((OddOrEven.EVEN == ooe) && isOddPage) { okOnOddOrEven = false; } bool okOnBlankOrNotBlank = true; BlankOrNotBlank bnb = getBlankOrNotBlank(); if ((BlankOrNotBlank.BLANK == bnb) && !isEmptyPage) { okOnBlankOrNotBlank = false; } else if ((BlankOrNotBlank.NOT_BLANK == bnb) && isEmptyPage) { okOnBlankOrNotBlank = false; } return(okOnOddOrEven && okOnPagePosition && okOnBlankOrNotBlank); }
protected internal void setBlankOrNotBlank(BlankOrNotBlank blankOrNotBlank) { this.blankOrNotBlank = blankOrNotBlank; }