Beispiel #1
0
 public IActionResult Create(BookEntryTicket ticket)
 {
     if (ticket == null)
     {
         ticket = new BookEntryTicket();
     }
     Add_SelectList_For_ViewBag();
     return(View(ticket));
 }
Beispiel #2
0
        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.");
                    }
                }
            }
        }
Beispiel #3
0
        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));
            }
        }