private void btnCommit_Click(object sender, EventArgs e) { //Preparing data List <BorrowBookDetail> objListDetail = new List <BorrowBookDetail>(); //Traversing DataGridView for (int i = 0; i < dgvReturn.Rows.Count; i++) { if (Convert.ToBoolean(dgvReturn.Rows[i].Cells[7].Value) == true) { //Instantiate an Object BorrowBookDetail objDetail = new BorrowBookDetail(); objDetail.DetailId = objBorrowBookDetailServices.GetDetailId(borrowId, dgvReturn.Rows[i].Cells[1].Value.ToString()); objDetail.BorrowId = borrowId; objDetail.BookId = dgvReturn.Rows[i].Cells[1].Value.ToString(); objDetail.LastReturnDate = Convert.ToDateTime(dgvReturn.Rows[i].Cells[3].Value); objDetail.IsOverdue = Convert.ToBoolean(dgvReturn.Rows[i].Cells[4].Value); objDetail.IsLost = Convert.ToBoolean(dgvReturn.Rows[i].Cells[5].Value); //Add to List objListDetail.Add(objDetail); } } if (objListDetail == null) { MessageBox.Show("There are no books to submit!", "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Submit try { if (objBorrowBookDetailServices.CommitReturnBook(objListDetail, Program.currentUser.LoginId, objMember)) { //Updating user information LoadNumInfo(); //This return of the book=0 lblCurrentReturnBookNumber.Text = "0"; //In turn, delete the submitted for (int i = 0; i < dgvReturn.Rows.Count; i++) { if (Convert.ToBoolean(dgvReturn.Rows[i].Cells[7].Value) == true) { dgvReturn.Rows.RemoveAt(i); } } //Replacement fee lblBookCompensation.Text = "0.00"; lblPoundage.Text = "0.00"; lblOverdueAmount.Text = "0.00"; lblTotalMoney.Text = "0.00"; //Notice Successful! MessageBox.Show("Successful submission of return information!", "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show("Abnormal submission of books! Specific reasons:" + ex.Message, "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
//Open detail form private void btnMoneyDetail_Click(object sender, EventArgs e) { if (dgvReturn.Rows.Count == 0) { MessageBox.Show("No book information returned", "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Get current book information Book objBook = objBookServices.GetBookById(dgvReturn.CurrentRow.Cells[1].Value.ToString()); //Encapsulated BookDetail Information BorrowBookDetail objDetai = new BorrowBookDetail { LastReturnDate = Convert.ToDateTime(dgvReturn.CurrentRow.Cells[3].Value), IsOverdue = Convert.ToBoolean(dgvReturn.CurrentRow.Cells[4].Value), IsLost = Convert.ToBoolean(dgvReturn.CurrentRow.Cells[5].Value), }; if (objFrmReturnMoneyDetail == null) { objFrmReturnMoneyDetail = new frmReturnMoneyDetail(objBook, objDetai); objFrmReturnMoneyDetail.Show(); } else { objFrmReturnMoneyDetail.Activate(); objFrmReturnMoneyDetail.WindowState = FormWindowState.Normal; } }
//Load fee detail private void LoadMoneyDetail(BorrowBookDetail objDetail) { lblLastReturnDate.Text = objDetail.LastReturnDate.ToShortDateString(); lblCurrentDate.Text = DateTime.Now.ToShortDateString(); if (objDetail.IsOverdue == false) { lblOverdueDays.Text = "0"; } else { DateTime today = DateTime.Now; DateTime lastReturnDate = objDetail.LastReturnDate; TimeSpan days = today.Subtract(lastReturnDate); lblOverdueDays.Text = days.Days.ToString(); lblTotalAmount.Text = (Convert.ToDouble(lblOverdueDays.Text) * Convert.ToDouble(lblAmountPerDay.Text)).ToString("0.00"); } //Handling fee if (objDetail.IsOverdue || objDetail.IsLost) { lblPoundage.Text = "5.00"; } //Loss of compensation if (objDetail.IsLost) { lblLostBookCompensation.Text = lblBookPrice.Text; } //Total Price: lblTotalMoney.Text = (Convert.ToDouble(lblTotalAmount.Text) + Convert.ToDouble(lblPoundage.Text) + Convert.ToDouble(lblLostBookCompensation.Text)).ToString("0.00"); }
public frmReturnMoneyDetail(Book objBook, BorrowBookDetail objDetail) : this() { //Load book information LoadBookInfo(objBook); //Load fee information LoadMoneyDetail(objDetail); }
// xậy dựng action đặt hàng public ActionResult DatHang(Customer customer) { if (Session["GioHang"] == null) { return(RedirectToAction("Index", "Home")); } Customer cus = new Customer(); if (Session["user"] == null) { // thêm khách hàng đối với khách hàng vãng lai(chưa có tài khoản) cus = customer; db.Customers.Add(cus); db.SaveChanges(); } // thêm đơn hàng List <ItemGioHang> lstGH = LayGioHang(); BorrowBook ddh = new BorrowBook(); //ddh.CustomerID = int.Parse(cus.CustomerID.ToString()); ddh.CustomerID = int.Parse(Session["CusId"].ToString()); ddh.BorrowDay = DateTime.Now; //ddh.TinhTrangGiaoHang = false; //ddh.DaThanhToan = false; //ddh.DaHuy = false; //ddh.DaXoa = false; //ddh.OderTotal = item.Total; ddh.OderTotal = TongTien(); db.BorrowBooks.Add(ddh); db.SaveChanges(); //} // thêm chi tiết đơn đặt hàng //List<ItemGioHang> lstGH = LayGioHang(); foreach (var item in lstGH) { BorrowBookDetail ctdh = new BorrowBookDetail(); ctdh.BorrowBookID = ddh.BorrowBookID; ctdh.BookID = item.BookID; //ctdh.TenSanPham = item.TenSanPham; //ctdh.Quantity = item.Quantity; ctdh.Price = item.Price; db.BorrowBookDetails.Add(ctdh); } Session["GioHang"] = null; db.SaveChanges(); return(View("ThongBao1")); }
public async Task <IActionResult> CreateBorrowBook(BorrowBook borrow) { var date = DateTime.Today.Month; var timesBorrow = _context.BorrowBooks.Where(x => x.UserId == borrow.UserId && x.BorrowDate.Month == date); if (timesBorrow.Count() > 2) { return(BadRequest("Ban da het lan muon trong thang")); } var items = 0; foreach (var i in timesBorrow) { var val = _context.BorrowBookDetails.Where(x => x.BorrowBookId == i.BorrowBookId).Sum(x => x.Quantity); items += val; } if (items >= 5) { return(BadRequest("Bạn đã hết số lần mượn trong tháng")); } if (borrow.BorrowBookDetails != null && borrow.BorrowBookDetails.Any()) { var borrowed = borrow.BorrowBookDetails.Sum(x => x.Quantity); if (borrowed > 5) { return(BadRequest("Ban chi duoc muon it hon 5 quyen")); } if ((borrowed + items) > 5) { return(BadRequest("Ban chi dc muon it hon" + (5 - borrowed))); } var newborrow = new BorrowBook { BorrowDate = borrow.BorrowDate, Status = borrow.Status, UserId = borrow.UserId }; _context.BorrowBooks.Add(newborrow); _context.SaveChanges(); var id = newborrow.BorrowBookId; foreach (var itemdetail in borrow.BorrowBookDetails) { var detail = new BorrowBookDetail { BorrowBookId = id, BookId = itemdetail.BookId, Quantity = itemdetail.Quantity }; _context.BorrowBookDetails.Add(detail); } await _context.SaveChangesAsync(); return(Ok("Successed!")); } return(BadRequest("Danh sach muon trong")); }
public async Task AddBorrowBookDetail(List <BorrowBookDetailDto> input) { List <string> errorList = new List <string>(); DateTime today = DateTime.Now; //Add id BorrowBook var borrowBook = new BorrowBook { DateBorrow = today }; await _borrowBookRepository.InsertAsync(borrowBook); int allTotal = 0; var items = _bookLibraryRepository.GetAll(); //Add borrow book detail foreach (var borrowBookDetail in input) { var addBorrowBookDetail = new BorrowBookDetail { Qty = borrowBookDetail.Qty, BookId = borrowBookDetail.BookId, LibraryId = borrowBookDetail.LibraryId, PriceBorrow = borrowBookDetail.PriceBorrow, Total = borrowBookDetail.Qty * borrowBookDetail.PriceBorrow, BorrowBookId = borrowBook.Id }; allTotal = allTotal + (borrowBookDetail.Qty * borrowBookDetail.PriceBorrow); BorrowBookDetailValiadtor validator = new BorrowBookDetailValiadtor(); ValidationResult validationResult = validator.Validate(addBorrowBookDetail); if (!validationResult.IsValid) { foreach (var error in validationResult.Errors) { errorList.Add(string.Format("Error: {0}", error.ErrorMessage)); } string errorString = string.Join(" ", errorList.ToArray()); throw new UserFriendlyException(errorString); } await _borrowBookDetailRepository.InsertAsync(addBorrowBookDetail); var book = items.Where(s => s.BookId == borrowBookDetail.BookId && s.LibraryId == borrowBookDetail.LibraryId) .FirstOrDefault(); if (borrowBookDetail.Qty > book.Stock) { throw new UserFriendlyException(string.Format("{0} have {1} in stock", book.Book.Name, book.Stock)); } else { book.Stock = book.Stock - addBorrowBookDetail.Qty; await _bookLibraryRepository.UpdateAsync(book); } } //Update BorrowBook TimeSpan aInterval = new System.TimeSpan(5, 0, 0, 0); DateTime newTime = today.Add(aInterval); borrowBook.Total = allTotal; borrowBook.Status = "Đang xử lý"; borrowBook.DateRepay = newTime; borrowBook.UserId = AbpSession.UserId.Value; await _borrowBookRepository.InsertAsync(borrowBook); }