public SaleTicketView()
        {
            InitializeComponent();

            _ticketBusiness = new TicketBusiness(SystemParam.CurrentUser);
            _ticketPriceConfigurationBusiness     = new TicketPriceConfigurationBusiness();
            _ticketReturnFeeConfigurationBusiness = new TicketReturnFeeConfigurationBusiness();
            _ticketSaleDateBusiness = new TicketSaleDateBusiness();
            _tourBusiness           = new TourBusiness();
            _busBusiness            = new BusBusiness();
            _selectedSeatNumbers    = new List <int>();

            btnSearchSeat.Click   += new EventHandler(btnSearchSeat_Click);
            ucSeatMap.LoadSeatInfo = new SeatMap.LoadSeatInfoDelegate(onSeatMapClick);

            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.GenericView_FormClosed);
        }
        protected string CheckTicketInfo(Ticket ticket)
        {
            StringBuilder errorMessage = new StringBuilder();

            using (ThanhVanTranSysEntities context = new ThanhVanTranSysEntities())
            {
                if (context.Buses.Any(i => i.id == ticket.bus_id) == false)
                {
                    errorMessage.AppendLine(string.Format("Số xe không hợp lệ, mã xe:{0}", ticket.bus_id)).AppendLine("\r\n");
                }
                if ((ticket.seat_number <= Constants.VALUE_SEAT_NUMBER_MAX &&
                     ticket.seat_number >= Constants.VALUE_SEAT_NUMBER_MIN) &&
                    (ticket.seat_class == Constants.SeatClass.A.ToString() ||
                     ticket.seat_class == Constants.SeatClass.B.ToString() ||
                     ticket.seat_class == Constants.SeatClass.S.ToString()) == false)
                {
                    errorMessage.AppendLine(string.Format("Số ghế không hợp lệ, số ghế:{0} - loại:{1}", ticket.seat_number, ticket.seat_class)).AppendLine("\r\n");
                }
                if (ticket.departure_time < DateTime.Now)
                {
                    errorMessage.AppendLine(string.Format("Ngày đi không được nhỏ hơn ngày hiện tại, Ngày đi:{0}", ticket.departure_time)).AppendLine("\r\n");
                }
                if (context.Buses.Any(i => i.id == ticket.bus_id) == false)
                {
                    errorMessage.AppendLine(string.Format("Số xe không tồn tại, mã xe:{0}", ticket.bus_id));
                }

                TicketPriceConfigurationBusiness priceBusiness = new TicketPriceConfigurationBusiness();
                var priceConfig = priceBusiness.GetBySeatClass(ticket.seat_class);
                if (priceConfig.price != ticket.cost)
                {
                    errorMessage.AppendLine(string.Format("{0}Giá vé không phù hợp. Xin thử lại!", Constants.SERVER_ERROR_CODE_CONFIG_DATA_NOT_SYNC));
                }
            }

            return(errorMessage.ToString());
        }