/// <summary> /// Возвращаемые значения: /// 0 - Издание принято от читателя /// 1 - Штрихкод не найден ни в базе читателей ни в базе книг /// 2 - ожидался штрихкод читателя, а считан штрихкод издания /// 3 - ожидался штрихкод издания, а считан штрихкод читателя /// 4 - Издание подготовлено к выдаче. ожидаем штрихкод читателя /// 5 - Издание и читатель подготовлены к выдаче /// /// </summary> /// <param name="PortData"></param> public int Circulate(string PortData) { BARTYPE ScannedType; if (ExpectedBar == ExpectingAction.WaitingConfimation)//если ожидается подтверждение выдачи { return(5); } if ((ScannedType = BookOrReader(PortData)) == BARTYPE.NotExist)//существует ли такой штрихкод вообще либо в базе читателей либо в базе изданий { return(1); } if (ExpectedBar == ExpectingAction.WaitingBook) //если сейчас ожидается штрихкод книги { if (ScannedType == BARTYPE.Reader) //выяснить какой штрихкод сейчас считан: читатель или книга { return(3); } this.ScannedBook = new BookVO(PortData); if (ScannedBook.IsIssued()) { return(0); } else { ExpectedBar = ExpectingAction.WaitingReader; return(4); } } else //если сейчас ожидается штрихкод читателя { if ((ScannedType == BARTYPE.BookFCC) || (ScannedType == BARTYPE.BookBJVVV)) //выяснить какой штрихкод сейчас считан: читатель или книга { return(2); } ScannedReader = new ReaderVO(PortData); ExpectedBar = ExpectingAction.WaitingConfimation; return(5); } }
/// <summary> /// Возвращаемые значения: /// 0 - Издание принято от читателя /// 1 - Штрихкод не найден ни в базе читателей ни в базе книг /// 2 - ожидался штрихкод читателя, а считан штрихкод издания /// 3 - ожидался штрихкод издания, а считан штрихкод читателя /// 4 - Издание подготовлено к выдаче. ожидаем штрихкод читателя /// 5 - Издание и читатель подготовлены к выдаче /// /// </summary> /// <param name="PortData"></param> public int Circulate(string PortData) { BARTYPE ScannedType; if (ExpectedBar == 2) { return 5; } if ((ScannedType = BookOrReader(PortData)) == BARTYPE.NotExist)//существует ли такой штрихкод вообще либо в базе читателей либо в базе изданий { return 1; } if (ExpectedBar == 0)//если сейчас ожидается штрихкод книги { if (ScannedType == BARTYPE.Reader) //выяснить какой штрихкод сейчас считан: читатель или книга { return 3; } this.ScannedBook = new BookVO(PortData); if (ScannedBook.IsIssued()) { return 0; } else { ExpectedBar = 1; return 4; } } else //если сейчас ожидается штрихкод читателя { if (ScannedType == BARTYPE.Book) //выяснить какой штрихкод сейчас считан: читатель или книга { return 2; } ScannedReader = new ReaderVO(PortData); ExpectedBar = 2; return 5; } }