예제 #1
0
 void Start()
 {
     bookCollider = GetComponent <BoxCollider>();
     model        = GetComponentsInChildren <MeshRenderer>();
     bookLight    = GetComponentInChildren <Light>();
     instance     = this;
 }
예제 #2
0
        public List <object> GivingBook(
            GiveBookViewModel model,
            string userId,
            string selectedBookId,
            string selectedUserId)
        {
            var           chackInputData = this.ChackInputData(selectedUserId, selectedBookId);
            List <object> result         = new List <object>();
            var           allUsers       = this.userService.GetUsers(model.AllUsers);
            var           allBooks       = this.allBooksServices.GetBooks(model.AllBooks, userId);
            var           returnModel    = new GiveBookViewModel()
            {
                AllBooks = allBooks,
                AllUsers = allUsers,
            };

            if (string.IsNullOrEmpty(chackInputData))
            {
                var selectedUser = this.SelectingUser(selectedUserId);
                var selectedBook = this.SelectingBook(selectedBookId);

                var book            = this.context.Books.FirstOrDefault(b => b.Id == selectedBookId);
                var user            = this.context.Users.FirstOrDefault(u => u.Id == selectedUserId);
                var chackGettetBook = this.ChackGivenBook(book);
                if (string.IsNullOrEmpty(chackGettetBook))
                {
                    GetBook getBook = new GetBook()
                    {
                        Book   = book,
                        BookId = selectedBookId,
                        User   = user,
                        UserId = selectedUserId,
                    };
                    this.context.GetBooks.Add(getBook);
                    this.context.SaveChanges();

                    var libraryMessage = this.context.Users.FirstOrDefault(u => u.Id == userId);
                    var message        = $"Успешно взета книга от {libraryMessage.LibararyName} - {libraryMessage.Email}!";
                    this.messageService.AddMessageAtDB(selectedUserId, message);

                    message = $"Успешно дадена книгана на {user.FirstName} {user.LastName} - {user.Email}!";
                    this.messageService.AddMessageAtDB(userId, message);
                    result.Add(message);
                    returnModel.SelectedBook = selectedBook;
                    returnModel.SelectedUser = selectedUser;
                }
                else
                {
                    result.Add(chackGettetBook);
                }
            }
            else
            {
                result.Add(chackInputData);
            }

            result.Add(returnModel);
            return(result);
        }
예제 #3
0
        public void Test1()
        {
            var book1 = new GetBook("Book 1");
            var book2 = new GetBook("Book 2");

            Assert.Equal("Book 1", book1.Name);
            Assert.Equal("Book 2", book2.Name);
        }
예제 #4
0
        public GetBookShould()
        {
            _bookServiceMock = new Mock <IBookService>();
            _loggerMock      = new Mock <ILogger <GetBook> >();
            _httpRequestMock = new Mock <HttpRequest>();

            _func = new GetBook(
                _bookServiceMock.Object,
                _loggerMock.Object);
        }
예제 #5
0
        public IEnumerable <Book> SearchBooks([FromUri] GetBook book)
        {
            using (var db = new LibraryContext())
            {
                var query = db.Books
                            .Include(i => i.Author)
                            .Include(i => i.Genre);

                var parsedQuery = Query.ParseBook(book, query);

                return(parsedQuery.ToList());
            }
        }
예제 #6
0
        private string ChackGivenBook(Book book)
        {
            GetBook chackGettetBook = this.context.GetBooks
                                      .FirstOrDefault(gb => gb.DeletedOn == null &&
                                                      gb.ReturnedOn == null &&
                                                      gb.BookId == book.Id);

            if (chackGettetBook != null)
            {
                return("Книгата е дадена на друг потребител!");
            }

            return(null);
        }
예제 #7
0
        private string ChackGivenBook(Book book)
        {
            GetBook chackGettetBook = this.context.GetBooks
                                      .FirstOrDefault(gb => gb.DeletedOn == null &&
                                                      gb.ReturnedOn == null &&
                                                      gb.BookId == book.Id);

            if (chackGettetBook != null)
            {
                return("Книгата е взета от читател за четене!");
            }

            return(null);
        }
예제 #8
0
 public Book GetBook(GetBook model)
 {
     try
     {
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@Id", model.Id);
         Book list = SqlMapper.Query <Book>(con, "sp_GetBook", param: parameters, commandType: CommandType.StoredProcedure).FirstOrDefault();
         return(list);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public async Task <IActionResult> Get(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest());
            }

            var command = new GetBook(id, UserId);
            var result  = await Mediator.Send(command);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
예제 #10
0
        private void btnAddBook_Click(object sender, EventArgs e)
        {
            try
            {
                if (int.Parse(dgvStockInfo.CurrentRow.Cells[7].Value.ToString()) - int.Parse(txtNum.Text) < 0)
                {
                    MessageBox.Show("输入的数量大于库存数量");
                }
                else
                {
                    GetBook gb = new GetBook();
                    gb.GetBookNum     = int.Parse(txtNum.Text);
                    gb.ISBN           = txtISBN.Text;
                    gb.Signer         = txtSigner.Text;
                    gb.SignerPhone    = txtSignerPhone.Text;
                    gb.SignerIdentity = cmbIdentity.Text;

                    if (cmbIdentity.SelectedItem.ToString() == "学生代表")
                    {
                        StudentClass student = common.GetAllCollegeInfo_Class(cmbStudentClass.Text); //以下拉框班级的文本值作参数调用方法GetAllCollegeInfo_Class()并赋值给实体类
                        gb.MajorInfoID    = student.MajorInfoID;                                     //获取实体类StudentClass中的专业编号赋值给实体类PlanBook中的专业编号
                        gb.StudentClassID = student.StudentClassID;                                  //获取实体类StudentClass中的学院编号赋值给实体类PlanBook中的学院编号

                        gb.SchoolTermID = cmbSchoolTerm.SelectedIndex;                               //获取下拉框学年学期的索引值并赋值给实体类PlanBook里面的SchoolTermID字段
                        gb.CollegeID    = cmbCollege.SelectedIndex;                                  //获取下拉框学院名称的索引值并赋值给实体类PlanBook里面的CollegeID字段
                    }
                    else
                    {
                        gb.CollegeID      = 0;
                        gb.SchoolTermID   = 0;
                        gb.StudentClassID = 0;
                    }
                    bllgb.UpdateGetBook(gb);
                    DgvInfo();
                    text();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("请检查输入的值的类型是否正确");
                //throw;
            }
        }
예제 #11
0
        public void UpdateGetBook(GetBook gb)
        {
            SqlTransaction sqltran;

            using (SqlConnection conn = new SqlConnection(DBHelpers.Connection))
            {
                conn.Open();
                string     sql1 = "";
                string     sql2 = "update BookStock set ArriveQuantity=ArriveQuantity-@GetBookNum2 where PlanBookID=(select PlanBookID from PlanBook where ISBN=@ISBN2) ";
                SqlCommand scm  = new SqlCommand();
                scm.Connection  = conn;
                sqltran         = conn.BeginTransaction();
                scm.Transaction = sqltran;


                scm.Parameters.AddWithValue("@ISBN", gb.ISBN);
                scm.Parameters.AddWithValue("@GetBookNum", gb.GetBookNum);
                scm.Parameters.AddWithValue("@Signer", gb.Signer);
                scm.Parameters.AddWithValue("@SigerIdentity", gb.SignerIdentity);
                scm.Parameters.AddWithValue("@SigerPhone", gb.SignerPhone);
                if (gb.CollegeID == 0)
                {
                    sql1 = "insert into GetBook(PlanBookID,GetBookNum,Signer,SignerIdentity,SignerPhone) select 'PlanBookID'=(select PlanBookID from PlanBook where ISBN=@ISBN),@GetBookNum,@Signer,@SigerIdentity,@SigerPhone";
                }
                else
                {
                    sql1 = "insert into GetBook(PlanBookID,GetBookNum,Signer,SignerIdentity,SignerPhone,CollegeID,StudentClassID,SchoolTermID) select 'PlanBookID'=(select PlanBookID from PlanBook where ISBN=@ISBN),@GetBookNum,@Signer,@SigerIdentity,@SigerPhone,@CollegeID,@StudentClassID,@SchoolTermID";
                    scm.Parameters.AddWithValue("@CollegeID", gb.CollegeID);
                    scm.Parameters.AddWithValue("@StudentClassID", gb.StudentClassID);
                    scm.Parameters.AddWithValue("@SchoolTermID", gb.SchoolTermID);
                }
                scm.CommandText = sql1;
                scm.ExecuteNonQuery();

                scm.CommandText = sql2;
                scm.Parameters.AddWithValue("@GetBookNum2", gb.GetBookNum);
                scm.Parameters.AddWithValue("@ISBN2", gb.ISBN);
                scm.ExecuteNonQuery();

                sqltran.Commit();
            }
        }
예제 #12
0
        static public IQueryable <Book> ParseBook(GetBook book, IQueryable <Book> query)
        {
            if (book != null)
            {
                if (!String.IsNullOrEmpty(book.BookTitle))
                {
                    query = query.Where(w => w.Title.Contains(book.BookTitle));
                }

                if (!String.IsNullOrEmpty(book.BookAuthor))
                {
                    query = query.Where(w => w.Author.Name.Contains(book.BookAuthor));
                }

                if (!String.IsNullOrEmpty(book.BookGenre))
                {
                    query = query.Where(w => w.Genre.DisplayName.Contains(book.BookGenre));
                }
            }

            return(query);
        }
예제 #13
0
 public void UpdateGetBook(GetBook gb)
 {
     dalgb.UpdateGetBook(gb);
 }
예제 #14
0
 public IActionResult Book(GetBook model)
 {
     return(View(_bookRepository.GetBook(model)));
 }
 public async Task <Book> Handle(GetBook request, CancellationToken cancellationToken) =>
 await BookEntityHandler.Get(request.Id);