コード例 #1
0
ファイル: Department.cs プロジェクト: corpse56/CirculationACC
        /// <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;

            }
        }
コード例 #2
0
ファイル: Department.cs プロジェクト: malekula/CirculationSCC
        /// <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);
            }
        }
コード例 #3
0
ファイル: DBGeneral.cs プロジェクト: corpse56/CirculationACC
        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();
        }
コード例 #4
0
ファイル: DBGeneral.cs プロジェクト: corpse56/CirculationACC
        /// <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;
        }