private void SelectSeat(MapShape shape, TheatreSeatInfo seatInfo)
        {
            this.selectedSeats.Add(seatInfo);

            shape.StrokeThickness = 1;
            shape.Stroke = ColorizationHelper.SelectedBrush;

            this.ViewModel.IsBuyButtonEnabled = this.selectedSeats.Count > 0;
        }
        private void UnselectSeat(MapShape shape, TheatreSeatInfo seatInfo)
        {
            this.selectedSeats.Remove(seatInfo);

            shape.StrokeThickness = 0;
            shape.Stroke = null;
            shape.HighlightFill = null;

            this.ViewModel.IsBuyButtonEnabled = this.selectedSeats.Count > 0;
        }
        protected override IEnumerable ParseData(TextReader dataReader)
        {
            List<TheatreSeatInfo> data = new List<TheatreSeatInfo>();
            string line;

            while ((line = dataReader.ReadLine()) != null)
            {
                string[] lineData = line.Split(',');
                int id = int.Parse(lineData[0], CultureInfo.InvariantCulture);
                string position = lineData[1];
                string row = lineData[2];
                int number = int.Parse(lineData[3], CultureInfo.InvariantCulture);
                double price = double.Parse(lineData[4], CultureInfo.InvariantCulture);
                SeatAvailability status = (SeatAvailability)Enum.Parse(typeof(SeatAvailability), lineData[5], true);

                TheatreSeatInfo seatInfo = new TheatreSeatInfo(id, position, row, number, price, status);

                data.Add(seatInfo);
            }

            return data;
        }