private CSSale _buildCSSale(Sale sale) { CSSale csSale = null; maintenanceDAO = new MaintenanceDAO(); int totalItems = 0; SaleInfo saleInfo = new SaleInfo(); saleInfo.seats = new List<Seat>(); SaleItemDAO saleItemDAO = new SaleItemDAO(); Seat currentSeat = new Seat(); foreach (SaleItem saleItem in saleItemDAO.find(sale.SaleID.ToString())) { Console.WriteLine(saleItem.ToString()); if (saleItem.Flags == 4 || saleItem.Flags == 20)//it's a seat! { Seat seat = new Seat(); currentSeat = seat; seat.saleItems = new List<SaleItem>(); seat.number = saleItem.BasePrice; saleInfo.seats.Add(seat); Logger.log.Debug("seat #" + seat.number + " added"); if (saleItem.Flags == 20) currentSeat.ignorePrint = true; } else//it's an item { if (!currentSeat.ignorePrint) { currentSeat.saleItems.Add(saleItem); totalItems++; Logger.log.Debug("item " + saleItem.ItemName + " added to seat #" + currentSeat.number); } } } if (totalItems > 0) { csSale = new CSSale(); csSale.CSSaleID = sale.SaleID; csSale.CheckNo = sale.CheckNumber; csSale.EndDate = DateTime.Now; //replace csSale data _clearCSSale(csSale); _buildCSSaleItem(saleInfo.seats); CSSaleDAO csSaleDAO = new CSSaleDAO(); csSaleDAO.add(csSale); //build CSSale data //1. TOTALS int totalDisc = 0; foreach (Seat seat in saleInfo.seats) { foreach (CSSaleItem csSaleItem in seat.csSaleItems) { //1.1. discounts } } } else { Logger.log.Info("No Items found."); } return csSale; }