public IActionResult Create(BookEntryTicket ticket) { if (ticket == null) { ticket = new BookEntryTicket(); } Add_SelectList_For_ViewBag(); return(View(ticket)); }
private void check_rule_1(BookEntryTicket ticket) { var rule = _db.Rules.Find("QD1"); if (rule.UseThisRule == true) { foreach (var item in ticket.BookEntryTicketDetail) { if (_db.Books.Find(item.BookId).Quantity >= rule.Max) // chỉ nhập khi đạt số lượng tối thiểu { throw new Exception("Cuốn sách có tên \" " + item.Book.Name + " \" vi phạm quy định số một" + ",chỉ nhập sách khi số lượng tồn kho còn dưới " + rule.Max + "quyển."); } if (item.Count < rule.Min) // chỉ nhập khi đạt số lượng tối thiểu { throw new Exception("Cuốn sách có tên \" " + item.Book.Name + " \" vi phạm quy định số một" + ", số lượng sách nhập vào ít nhất là" + rule.Min + "quyển."); } } } }
public IActionResult Create(string[] product, int[] qty, string[] category) { BookEntryTicket ticket = new BookEntryTicket(); if (product.Contains(null) || qty.Contains(0)) { ModelState.AddModelError("", "Vui lòng chọn sách và nhập số lượng đầy đủ"); Add_SelectList_For_ViewBag(); return(View(ticket)); } try { List <BookEntryTicketDetail> ticketDetails = new List <BookEntryTicketDetail>(); var listticketdetail_update = Get_List_Ticket_Detail_Standardized_Quantity(product, qty); for (int i = 0; i < listticketdetail_update.Count; i++) { var obj = new BookEntryTicketDetail { BookEntryTicketId = ticket.Id, BookId = listticketdetail_update[i].BookId, Count = listticketdetail_update[i].Count, Book = _db.Books.AsNoTracking().Include(x => x.Category).FirstOrDefault(x => x.Id == product[i]), }; obj.Book.Category.Books = null; ticketDetails.Add(obj); } ticket.BookEntryTicketDetail = ticketDetails; ticket.Id = Guid.NewGuid().ToString(); ticket.DateEntry = DateTime.Now; check_rule_1(ticket); HttpContext.Session.SetObject("ticket", ticket); return(RedirectToAction("TicketDemo")); } catch (Exception e) { ModelState.AddModelError("", e.Message); Add_SelectList_For_ViewBag(); return(View(ticket)); } }