Beispiel #1
0
 //验证
 private void ValidateAddBookModel(BookAddModel addModel)
 {
     if (string.IsNullOrEmpty(addModel.BookName))
     {
         throw new ValidateException(401, "请输入书籍名称");
     }
 }
Beispiel #2
0
        public ActionResult AddBook(BookAddModel addModel)
        {
            try
            {
                ValidateAddBookModel(addModel);

                Book model = NewBook();

                model.BookName = addModel.BookName;

                string pdfDir = bookService.GetUploadDir();
                //Directory.CreateDirectory(pdfDir);
                model.BookPath = pdfDir + addModel.File.FileName;

                string saveDir = bookService.GetSWFDir();
                //Directory.CreateDirectory(saveDir);
                model.SwfPath = saveDir + $"{Guid.NewGuid().ToString().Replace("-", "")}.swf";

                model.ConvertStatus = Enum.ConvertStatusEnum.UnStart;
                model.DeleteFlag    = Enum.DeleteFlagEnum.UnDeleted;
                model.UploadTime    = DateTime.Now;

                var bookId = bookService.AddBook(model);
                ViewBag.BookId = bookId;

                SaveFileToDisk(addModel.File, model.BookPath);
                Task.Run(() =>
                {
                    try
                    {
                        bookService.UpdateBookConvertStatus(bookId, ConvertStatusEnum.Converting);
                        ConvertPdfToSWF(model.BookPath, model.SwfPath);
                        bookService.UpdateBookConvertStatus(bookId, ConvertStatusEnum.Finished);
                    }
                    catch (Exception ex)
                    {
                        Logger.Log($"swf:{model.SwfPath} {ex.Message}");
                        bookService.UpdateBookConvertStatus(bookId, ConvertStatusEnum.Failed);
                    }
                });

                //return Json(new { code = 1 });
                ViewBag.Msg = "上传成功";
                return(View());
            }
            catch (ValidateException ex)
            {
                ViewBag.Msg = ex.Message;
                //return Json(new { code = ex.Code, msg = ex.Message });
                return(View());
            }
            catch (Exception ex)
            {
                ViewBag.Msg = ex.Message;
                //return Json(new { code = 0, msg = ex.Message });
                return(View());
            }
        }
        public IActionResult AddBook([FromBody] BookAddModel book)
        {
            var created = _bookService.AddBook(book);

            if (created)
            {
                return(Ok());
            }
            return(BadRequest());
        }
        public ActionResult <Book> AddBook([FromBody] BookAddModel book)
        {
            if (book == null)
            {
                return(BadRequest());
            }

            var newBook = new Book {
                Title = book.Title, Author = book.Author
            };

            db.Add(newBook);
            db.SaveChanges();
            return(Created("", newBook));
        }
        public async Task <ActionResult <BookApiViewModel> > Add(BookAddModel addModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Book result = await _mediator.Send(new AddBookCommand(addModel.Name, (double)addModel.Price));

            if (result is null)
            {
                return(BadRequest());
            }

            BookApiViewModel viewModel = BooksApiMapper.MapToApiModel(result);

            return(Created(Url.RouteUrl("GetBookById", new { id = viewModel.Id }), viewModel));
        }
        public bool AddBook(BookAddModel bookAddModel)
        {
            var date  = Convert.ToDateTime($"{bookAddModel.ReleaseDate}-01-01");
            var owner = _booksDealersRepository.GetUserById(bookAddModel.OwnerId);
            var book  = new Book
            {
                Owner        = owner,
                Status       = bookAddModel.Status,
                Title        = bookAddModel.Title,
                Author       = bookAddModel.Author,
                Category     = bookAddModel.Category,
                ReleaseDate  = date,
                CreationDate = DateTime.Now,
                Description  = bookAddModel.Description,
                Isbn         = bookAddModel.Isbn
            };

            _booksDealersRepository.AddBook(book);
            return(_booksDealersRepository.Save());
        }
Beispiel #7
0
        /// <summary>
        /// search books by book title
        /// </summary>
        /// <param name="searchWord"></param>
        /// <returns></returns>
        public IList <BookAddModel> SearchBook(string searchWord)
        {
            try
            {
                DatabaseConnection databaseConnection         = new DatabaseConnection(this.configuration);
                List <StoredProcedureParameterData> paramList = new List <StoredProcedureParameterData>();
                paramList.Add(new StoredProcedureParameterData("@SearchTitle", searchWord));

                DataTable            table    = databaseConnection.StoredProcedureExecuteReader("SearchBookByTitle", paramList);
                var                  bookData = new BookAddModel();
                IList <BookAddModel> bookList = new List <BookAddModel>();
                foreach (DataRow dataRow in table.Rows)
                {
                    bookData           = new BookAddModel();
                    bookData.Id        = (int)dataRow["Id"];
                    bookData.BooKTitle = dataRow["Book_Title"].ToString();
                    bookData.Author    = dataRow["Author"].ToString();

                    bookData.Language     = dataRow["Language"].ToString();
                    bookData.Category     = dataRow["Category"].ToString();
                    bookData.ISBN         = Convert.ToInt32(dataRow["ISBN_No"]);
                    bookData.Price        = Convert.ToInt32(dataRow["Price"]);
                    bookData.Pages        = Convert.ToInt32(dataRow["Pages"]);
                    bookData.CreatedDate  = Convert.ToDateTime(dataRow["CreatedDate"]);
                    bookData.ModifiedDate = Convert.ToDateTime(dataRow["ModifiedDate"]);
                    bookList.Add(bookData);
                }
                if (bookList != null)
                {
                    return(bookList.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Beispiel #8
0
        /// <summary>
        /// add book
        /// </summary>
        /// <param name="bookShowModel"></param>
        /// <returns></returns>
        public BookAddModel AddBook(BookShowModel bookShowModel)
        {
            try
            {
                DatabaseConnection databaseConnection         = new DatabaseConnection(this.configuration);
                List <StoredProcedureParameterData> paramList = new List <StoredProcedureParameterData>();
                paramList.Add(new StoredProcedureParameterData("@Book_Title", bookShowModel.BooKTitle));
                paramList.Add(new StoredProcedureParameterData("@Author", bookShowModel.Author));
                paramList.Add(new StoredProcedureParameterData("@Language", bookShowModel.Language));
                paramList.Add(new StoredProcedureParameterData("@Category", bookShowModel.Category));
                paramList.Add(new StoredProcedureParameterData("@ISBN_No", bookShowModel.ISBN));
                paramList.Add(new StoredProcedureParameterData("@Price", bookShowModel.Price));
                paramList.Add(new StoredProcedureParameterData("@Pages", bookShowModel.Pages));
                paramList.Add(new StoredProcedureParameterData("@CreatedDate", DateTime.Now));
                paramList.Add(new StoredProcedureParameterData("@ModifiedDate", DateTime.Now));
                DataTable table    = databaseConnection.StoredProcedureExecuteReader("AddBook", paramList);
                var       bookData = new BookAddModel();

                foreach (DataRow dataRow in table.Rows)
                {
                    bookData              = new BookAddModel();
                    bookData.Id           = (int)dataRow["Id"];
                    bookData.BooKTitle    = dataRow["Book_Title"].ToString();
                    bookData.Author       = dataRow["Author"].ToString();
                    bookData.Language     = dataRow["Language"].ToString();
                    bookData.Category     = dataRow["Category"].ToString();
                    bookData.ISBN         = Convert.ToInt32(dataRow["ISBN_No"]);
                    bookData.Price        = Convert.ToInt32(dataRow["Price"]);
                    bookData.Pages        = Convert.ToInt32(dataRow["Pages"]);
                    bookData.CreatedDate  = Convert.ToDateTime(dataRow["CreatedDate"]);
                    bookData.ModifiedDate = Convert.ToDateTime(dataRow["ModifiedDate"]);
                }
                return(bookData);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
Beispiel #9
0
        /// <summary>
        /// update book by book price
        /// </summary>
        /// <param name="updateBookModel"></param>
        /// <returns></returns>
        public BookAddModel UpdateBookPrice(UpdateBookModel updateBookModel)
        {
            try
            {
                DatabaseConnection databaseConnection = new DatabaseConnection(this.configuration);
                SqlConnection      sqlConnection      = databaseConnection.GetConnection();
                SqlCommand         sqlCommand         = databaseConnection.GetCommand("UpdateBookPrice", sqlConnection);
                sqlCommand.Parameters.AddWithValue("@BookId", updateBookModel.BookId);
                sqlCommand.Parameters.AddWithValue("@Price", updateBookModel.Price);
                sqlConnection.Open();
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();

                BookAddModel bookAddModel = new BookAddModel();
                while (sqlDataReader.Read())
                {
                    bookAddModel              = new BookAddModel();
                    bookAddModel.Id           = (int)sqlDataReader["Id"];
                    bookAddModel.BooKTitle    = sqlDataReader["Book_Title"].ToString();
                    bookAddModel.Author       = sqlDataReader["Author"].ToString();
                    bookAddModel.Language     = sqlDataReader["Language"].ToString();
                    bookAddModel.Category     = sqlDataReader["Category"].ToString();
                    bookAddModel.ISBN         = (int)sqlDataReader["ISBN_No"];
                    bookAddModel.Price        = (int)sqlDataReader["Price"];
                    bookAddModel.Pages        = (int)sqlDataReader["Pages"];
                    bookAddModel.CreatedDate  = Convert.ToDateTime(sqlDataReader["CreatedDate"]);
                    bookAddModel.ModifiedDate = DateTime.Now;
                    if (bookAddModel.Id == updateBookModel.BookId)
                    {
                        return(bookAddModel);
                    }
                }
                sqlConnection.Close();
                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Beispiel #10
0
        public string AddBook2(BookAddModel book)
        {
            try
            {
                BookService bookService = new BookService();

                Book newBook = new Book();
                newBook.Author      = book.Author;
                newBook.Description = book.Description;
                newBook.Genre       = book.Genre;
                newBook.Quantity    = book.Quantity;
                newBook.Title       = book.Title;
                newBook.CreatedDate = DateTime.Now;
                bookService.AddBook(newBook);

                return("Book is added successfully");
            }
            catch (Exception ex)
            {
                return($"Failed to add the book. Error: {ex.GetBaseException().Message}");
            }
        }