public ActionResult BookDetail(long id) { BookModel bookModel = new BookModel(); BookInfo bookInfo = this.IBookInfoDataProvider.GetBookInfoByID(id); bookModel = BookModel.GetViewModel(bookInfo, this.LoginUser()); return View(bookModel); }
public ProcessRecord GetEntity(long id, UserInfo user, out BorrowAndReturnRecordInfo borrowAndReturnRecordInfo, out BookDetailInfo bookDetailInfo, out BookModel bookModel) { IBookDetailInfoDataProvider iBookDetailInfoDataProvider = new BookDetailInfoDataProvider(); IBookInfoDataProvider iBookInfoDataProvider = new BookInfoDataProvider(); ProcessRecord processInfo = new ProcessRecord(); borrowAndReturnRecordInfo = new BorrowAndReturnRecordInfo(); bookDetailInfo = iBookDetailInfoDataProvider.GetAvaliableBookDetailInfoByBookInfoID(id); BookInfo bookInfo = iBookInfoDataProvider.GetBookInfoByID(bookDetailInfo.BookInfo.ID); borrowAndReturnRecordInfo.BookDetailInfo = bookDetailInfo; borrowAndReturnRecordInfo.UserInfo = user; borrowAndReturnRecordInfo.Status = RentRecordStatus.Pending; borrowAndReturnRecordInfo.Borrow_Date = borrowAndReturnRecordInfo.CreateTime; borrowAndReturnRecordInfo.Forcast_Date = borrowAndReturnRecordInfo.CreateTime; borrowAndReturnRecordInfo.Return_Date = borrowAndReturnRecordInfo.CreateTime; processInfo.UserInfo = user; processInfo.BorrowAndReturnRecordInfo = borrowAndReturnRecordInfo; processInfo.Status = RentRecordStatus.Pending; bookDetailInfo.Status = BookStatus.Rent; bookModel = BookModel.GetViewModel(bookInfo, user); bookInfo.Avaliable_Inventory = bookInfo.Avaliable_Inventory - 1; bookModel.Avaliable_Inventory = bookInfo.Avaliable_Inventory.ToString(); return processInfo; }
public static BookModel GetViewModel(BookInfo bookInfo, UserInfo userInfo) { BookModel model = new BookModel(); model.ID = bookInfo.ID; model.BookName = bookInfo.BookName; model.ISBN = bookInfo.ISBN; if (bookInfo.PublisherInfo != null) { model.PublisherName = bookInfo.PublisherInfo.PublisherName; model.PublisherNameValue = bookInfo.PublisherInfo.ID.ToString(); model.PublisherDisplayDescription = bookInfo.PublisherInfo.PublisherIntroduction; } model.Publish_Date = bookInfo.Publish_Date.ToString(UntityContent.IOSDateTemplate); model.Avaliable_Inventory = Convert.ToInt32(bookInfo.Avaliable_Inventory).ToString(); model.Max_Inventory = Convert.ToInt32(bookInfo.Max_Inventory).ToString(); model.Price_Inventory = bookInfo.Price_Inventory.ToString("F"); string categoryNameValue = string.Empty; model.CatagoryName = GetCategoryName(bookInfo, out categoryNameValue); model.CatagoryNameValue = categoryNameValue; string displayName = string.Empty; string authorNameValue = string.Empty; model.AuthorName = GetAuthorName(bookInfo, out displayName, out authorNameValue); model.AuthorDisplayName = displayName; model.AuthorNameValue = authorNameValue; model.IsAvaliable = bookInfo.Avaliable_Inventory > 0 ? true : false; ISupportORAgainstInfoDataProvider dataProvider = new SupportORAgainstInfoDataProvider(); model.IsAvaliableForSupport = dataProvider.GetCountByUser(bookInfo, userInfo) >= 1 ? false : true; model.Supports = dataProvider.GetCountByStatus(bookInfo, SupportAgainstStatus.Support).ToString(); model.Objections = dataProvider.GetCountByStatus(bookInfo, SupportAgainstStatus.Against).ToString(); return model; }
public string RequstBook(string q) { try { int id = Convert.ToInt32(q); BookInfo bookInfo = this.IBookInfoDataProvider.GetBookInfoByID(id); BookDetailInfo bookDetailInfo = this.IBookDetailInfoDataProvider.GetAvaliableBookDetailInfoByBookInfoID(id); if (bookDetailInfo == null) { Exception ex = new Exception("There is no avaliable Book!"); throw (ex); } else { BookToRentModel model = new BookToRentModel(); BorrowAndReturnRecordInfo borrowAndReturnRecordInfo = new BorrowAndReturnRecordInfo(); BookModel bookModel = new BookModel(); ProcessRecord processRecord = model.GetEntity(id, this.LoginUser(), out borrowAndReturnRecordInfo, out bookDetailInfo, out bookModel); this.IBorrowAndReturnRecordInfoDataProvider.Add(borrowAndReturnRecordInfo); this.IProcessRecordDataProvider.Add(processRecord); this.IBookDetailInfoDataProvider.Update(bookDetailInfo); this.IBookInfoDataProvider.Update(bookModel.GetEntity()); } } catch (Exception ex) { return ex.Message; } return "true"; }