Beispiel #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            var seanceList = new List <Seance>();

            foreach (DataGridViewRow r in dgSeances.Rows)
            {
                var idValue = r.Cells[cId.Name].Value;
                if (idValue != null && !string.IsNullOrEmpty(idValue.ToString()))
                {
                    var id     = int.Parse(idValue.ToString());
                    var seance = seances.GetSeance(id);
                    if (seance == null)
                    {
                        seance = new Seance();
                    }

                    seance.ID    = id;
                    seance.Room  = rooms.GetRoomByName(r.Cells[cRoom.Name].Value.ToString());
                    seance.Film  = films.GetFilmByName(r.Cells[cFilm.Name].Value.ToString());
                    seance.Price = int.Parse(r.Cells[cPrice.Name].Value.ToString());
                    seance.Time  = r.Cells[cTime.Name].Value.ToString();
                    seance.Date  = DateTime.Parse(r.Cells[cDate.Name].Value.ToString());
                    if (seance.Room != null && seance.Film != null)
                    {
                        seance.BusySeats = new bool[seance.Room.RowCnt, seance.Room.ColCnt];
                        seanceList.Add(seance);
                    }
                }
            }

            seances.SetSeances(seanceList);
            seances.Save();
        }
Beispiel #2
0
        protected Seance CreateSeance(string line, Films films, Rooms rooms)
        {
            var split = line.Split(new[] { '\t' }, StringSplitOptions.RemoveEmptyEntries);

            if (split.Length > 5)
            {
                var seance = new Seance();
                seance.ID = int.Parse(split[0]);
                var room = rooms.GetRoom(int.Parse(split[1]));
                var film = films.GetFilm(int.Parse(split[2]));
                seance.Room  = room;
                seance.Film  = film;
                seance.Price = int.Parse(split[3]);
                seance.Time  = split[4];
                seance.Date  = DateTime.Parse(split[5]);

                seance.BusySeats = new bool[seance.Room.RowCnt, seance.Room.ColCnt];

                if (split.Length > 6)
                {
                    InitBusySeats(seance, split[6]);
                }

                return(seance);
            }

            return(null);
        }
Beispiel #3
0
        protected void InitBusySeats(Seance seance, string busySeatsStr)
        {
            var split = busySeatsStr.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var s in split)
            {
                var seatSplit = s.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                if (seatSplit.Length == 2)
                {
                    var row = int.Parse(seatSplit[0]) - 1;
                    var col = int.Parse(seatSplit[1]) - 1;
                    if ((row >= 0 && row < seance.Room.RowCnt) && (col >= 0 && col < seance.Room.ColCnt))
                    {
                        seance.BusySeats[row, col] = true;
                    }
                }
            }
        }
Beispiel #4
0
        public void Init(Seance seance, Rooms rooms, Films films)
        {
            this.seance  = seance;
            this.rooms   = rooms;
            this.films   = films;
            tbDate.Value = seance.Date;
            tbPrice.Text = seance.Price.ToString();
            tbTime.Text  = seance.Time;

            cbRooms.DataSource = rooms.GetList();
            cbFilms.DataSource = films.GetFilms();

            if (seance.Room != null)
            {
                cbRooms.SelectedItem = seance.Room;
            }

            if (seance.Film != null)
            {
                cbFilms.SelectedItem = seance.Film;
            }
        }
Beispiel #5
0
        private string CreateBusySeatsStr(Seance seance)
        {
            var busySeatsStr = string.Empty;

            for (var r = 0; r < seance.Room.RowCnt; r++)
            {
                for (var c = 0; c < seance.Room.ColCnt; c++)
                {
                    if (seance.BusySeats[r, c] == true)
                    {
                        if (!string.IsNullOrEmpty(busySeatsStr))
                        {
                            busySeatsStr += ",";
                        }

                        busySeatsStr += string.Format("{0}:{1}", r + 1, c + 1);
                    }
                }
            }

            return(busySeatsStr);
        }
Beispiel #6
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            var id = 1;

            if (dgSeances.Rows.Count > 0)
            {
                var r       = dgSeances.Rows[dgSeances.Rows.Count - 1];
                var idValue = r.Cells[cId.Name].Value;
                id = int.Parse(idValue.ToString()) + 1;
            }

            var seance = new Seance();

            seance.ID   = id;
            seance.Date = DateTime.Now;

            var seanceForm = new ChangeSeanceForm();

            seanceForm.Init(seance, rooms, films);
            if (seanceForm.ShowDialog() == DialogResult.OK)
            {
                AddSeanceToGrid(seance);
            }
        }
Beispiel #7
0
        private void DisplaySeance(Seance seance)
        {
            currentSeance = seance;
            var room = seance.Room;
            if (btnArray != null)
            {
                foreach (Button btn in btnArray)
                {
                    panelRoom.Controls.Remove(btn);
                }
            }

            btnArray = new Button[room.RowCnt, room.ColCnt];
            panelRoom.Visible = false;
            for (int row = 0; row < room.RowCnt; row++)
            {
                for (int col = 0; col < room.ColCnt; col++)
                {
                    DisplaySeat(row, col, room.Seats[row, col]);
                }
            }

            panelRoom.Visible = true;
        }
Beispiel #8
0
        private void AddSeanceToGrid(Seance seance)
        {
            var rowId = dgSeances.Rows.Add(seance.ID, seance.Room.Name, seance.Film.Name, seance.Price, seance.Time, seance.Date.ToString("dd-MM-yyyy"));

            dgSeances.Rows[rowId].Tag = seance;
        }