Esempio n. 1
0
        private List <BookEntryTicketDetail> Get_List_Ticket_Detail_Standardized_Quantity(string[] product, int[] qty)
        {
            List <BookEntryTicketDetail> listticketdetail = new List <BookEntryTicketDetail>();

            for (int i = 0; i < product.Length; i++)
            {
                BookEntryTicketDetail ticketdetail = new BookEntryTicketDetail()
                {
                    BookId = product[i], Count = qty[i]
                };
                listticketdetail.Add(ticketdetail);
            } // tao ra 1 list product tu 2 mang product va quantity
            var newlistticketdetail = listticketdetail.GroupBy(x => x.BookId)
                                      .Select(x => new
            {
                bookid = x.Key,
                count  = x.Sum(y => y.Count)
            }).ToList();

            var listticketdetail_update = newlistticketdetail.Select(x => new BookEntryTicketDetail {
                BookId = x.bookid, Count = x.count
            }).ToList();

            return(listticketdetail_update);
        }
Esempio n. 2
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));
            }
        }