internal void AddAttendance(string barcode, BJUserInfo bjUser) { ReaderInfo reader = ReaderInfo.GetReaderByBar(barcode); int readerId = (reader == null) ? -1 : reader.NumberReader; dbWrapper.AddAttendance(barcode, bjUser.Id, bjUser.SelectedUserStatus.UnifiedLocationCode, readerId); }
internal BARType CheckBAR(string data) { BJBookInfo book = BJBookInfo.GetBookInfoByBAR(data); if (book != null) { return(BARType.Book); } ReaderInfo reader = ReaderInfo.GetReaderByBar(data); if (reader != null) { return(BARType.Reader); } return(BARType.NotExist); }
/// <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 = BJBookInfo.GetBookInfoByBAR(PortData); ScannedExemplar = (BJExemplarInfo)ScannedBook.Exemplars.Find(x => ((BJExemplarInfo)x).Bar == PortData); if (ci.IsIssuedToReader(ScannedExemplar)) { return(0); } else { ExpectedBar = ExpectingAction.WaitingReader; return(4); } } else //если сейчас ожидается штрихкод читателя { if (ScannedType == BARType.Book) //выяснить какой штрихкод сейчас считан: читатель или книга { return(2); } ScannedReader = ReaderInfo.GetReaderByBar(PortData);// new ReaderVO(PortData); ExpectedBar = ExpectingAction.WaitingConfimation; return(5); } }