/// <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; } }
/// <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.BookSCC) || (ScannedType == BARTYPE.BookBJVVV)) //выяснить какой штрихкод сейчас считан: читатель или книга { return(2); } ScannedReader = new ReaderVO(PortData); ExpectedBar = ExpectingAction.WaitingConfimation; return(5); } }
internal void Recieve(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP) { DA.UpdateCommand.Parameters.Clear(); DA.UpdateCommand.Parameters.Add("IDISSUED", SqlDbType.Int); DA.UpdateCommand.Parameters["IDISSUED"].Value = ScannedBook.IDISSUED; DA.UpdateCommand.CommandText = "update Reservation_R..ISSUED_ACC set IDSTATUS = 2 where ID = @IDISSUED"; DA.UpdateCommand.Connection.Open(); DA.UpdateCommand.ExecuteNonQuery(); DA.UpdateCommand.Connection.Close(); DA.InsertCommand.Parameters.Clear(); DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDISSUED_ACC", SqlDbType.Int); DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime); DA.InsertCommand.Parameters["IDACTION"].Value = 2; DA.InsertCommand.Parameters["IDUSER"].Value = IDEMP; DA.InsertCommand.Parameters["IDISSUED_ACC"].Value = ScannedBook.IDISSUED; DA.InsertCommand.Parameters["DATEACTION"].Value = DateTime.Now; DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC_ACTIONS (IDACTION,IDEMP,IDISSUED_ACC,DATEACTION) values " + "(@IDACTION,@IDUSER,@IDISSUED_ACC,@DATEACTION)"; DA.InsertCommand.Connection.Open(); DA.InsertCommand.ExecuteNonQuery(); DA.InsertCommand.Connection.Close(); }
/// <summary> /// Возвращаемые значения: /// 0 - успех /// /// /// </summary> /// <param name="ScannedBook"></param> /// <param name="ScannedReader"></param> /// <returns></returns> internal int ISSUE(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP) { DA.InsertCommand.Parameters.Clear(); DA.InsertCommand.Parameters.Add("IDMAIN", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDDATA", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDREADER", SqlDbType.Int); DA.InsertCommand.Parameters.Add("DATE_ISSUE", SqlDbType.DateTime); DA.InsertCommand.Parameters.Add("DATE_RETURN", SqlDbType.DateTime); DA.InsertCommand.Parameters.Add("IDSTATUS", SqlDbType.Int); DA.InsertCommand.Parameters["IDMAIN"].Value = ScannedBook.IDMAIN; DA.InsertCommand.Parameters["IDDATA"].Value = ScannedBook.IDDATA; DA.InsertCommand.Parameters["IDREADER"].Value = ScannedReader.ID; DA.InsertCommand.Parameters["DATE_ISSUE"].Value = DateTime.Now; DA.InsertCommand.Parameters["DATE_RETURN"].Value = DateTime.Now.AddDays(21); DA.InsertCommand.Parameters["IDSTATUS"].Value = 1; DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC (IDMAIN,IDDATA,IDREADER,DATE_ISSUE,DATE_RETURN,IDSTATUS) values " + " (@IDMAIN,@IDDATA,@IDREADER,@DATE_ISSUE,@DATE_RETURN,@IDSTATUS);select scope_identity();"; DA.InsertCommand.Connection.Open(); object scope_id = DA.InsertCommand.ExecuteScalar(); DA.InsertCommand.Parameters.Clear(); DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int); DA.InsertCommand.Parameters.Add("IDISSUED_ACC", SqlDbType.Int); DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime); DA.InsertCommand.Parameters["IDACTION"].Value = 1; DA.InsertCommand.Parameters["IDUSER"].Value = IDEMP; DA.InsertCommand.Parameters["IDISSUED_ACC"].Value = scope_id; DA.InsertCommand.Parameters["DATEACTION"].Value = DateTime.Now; DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC_ACTIONS (IDACTION,IDEMP,IDISSUED_ACC,DATEACTION) values " + "(@IDACTION,@IDUSER,@IDISSUED_ACC,@DATEACTION)"; DA.InsertCommand.ExecuteNonQuery(); DA.InsertCommand.Connection.Close(); return 0; }