private void label1_DragDrop(object sender, DragEventArgs e)
        {
            Booking b = (Booking)e.Data.GetData(typeof(Booking));

            bookings.Remove(b);
            SaveObjects?.Invoke(bookings, bookingsPath);
            displayList();
        }
        private void btn_delete_room_Click(object sender, EventArgs e)
        {
            if (dgv_bookings.SelectedRows.Count == 1)
            {
                DataGridViewRow selectedRow = dgv_bookings.SelectedRows[0];
                Booking         booking     = (Booking)selectedRow.Tag;

                bookings.Remove(booking);
                SaveObjects?.Invoke(bookings, bookingsPath);
                MessageBox.Show("Rezervare stearsa cu succes!");
                displayList();
            }
        }
예제 #3
0
        private void scadePretCu100ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataGridViewCell selectedCol = dgv_showRooms.SelectedCells[0];

            if (dgv_showRooms.SelectedCells.Count == 1)
            {
                DataGridViewRow selectedRow = selectedCol.OwningRow;
                Room            room        = (Room)selectedRow.Tag;

                room = room + (-100);
                SaveObjects?.Invoke(rooms, roomsPath);
                displayList();
            }
        }
        private void stergeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataGridViewCell cell = dgv_bookings.SelectedCells[0];

            if (dgv_bookings.SelectedCells.Count == 1)
            {
                DataGridViewRow selectedRow = cell.OwningRow;
                Booking         booking     = (Booking)selectedRow.Tag;

                bookings.Remove(booking);
                SaveObjects?.Invoke(bookings, bookingsPath);
                MessageBox.Show("Rezervare stearsa cu succes!");
                displayList();
            }
        }
예제 #5
0
        private void stergeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataGridViewCell selectedCol = dgv_showRooms.SelectedCells[0];

            if (dgv_showRooms.SelectedCells.Count == 1)
            {
                DataGridViewRow selectedRow = selectedCol.OwningRow;
                Room            room        = (Room)selectedRow.Tag;

                bookings.RemoveAll((b) => b.RoomId == room.Id);
                SaveObjects?.Invoke(bookings, bookingsPath);


                rooms.Remove(room);
                SaveObjects?.Invoke(rooms, roomsPath);

                MessageBox.Show("Camera stersa cu succes!");
                displayList();
            }
        }
예제 #6
0
        private void btn_delete_room_Click(object sender, EventArgs e)
        {
            if (dgv_showRooms.SelectedRows.Count == 1)
            {
                DataGridViewRow selectedRow = dgv_showRooms.SelectedRows[0];
                Room            room        = (Room)selectedRow.Tag;

                bookings.RemoveAll((b) => b.RoomId == room.Id);
                SaveObjects?.Invoke(bookings, bookingsPath);


                rooms.Remove(room);
                SaveObjects?.Invoke(rooms, roomsPath);

                MessageBox.Show("Camera stersa cu succes!");
                displayList();
            }
            else
            {
                MessageBox.Show("Prea multe linii selectate!");
            }
        }
예제 #7
0
        private void Btn_Edit_Booking_Click(object sender, EventArgs e)
        {
            int            userIndex = this.Select_user.SelectedIndex;
            DateTime       startDate = this.select_checkIn.Value.Date;
            DateTime       endDate   = this.select_checkOut.Value.Date;
            int            roomIndex = this.select_camera.SelectedIndex;
            bool           isValid   = true;
            List <Booking> temp      = new List <Booking>();

            temp = bookings.FindAll(b => b.CompareTo(booking) == 0);

            if (userIndex == -1)
            {
                isValid = false;
                MessageBox.Show("Nu ati selectat clientul!\n");
            }

            else if ((startDate - DateTime.Now.Date).Days < 0)
            {
                isValid = false;
                MessageBox.Show("Data de checkin nu poate fi mai mica decat data de astazi!\n");
            }

            else if ((startDate - endDate).Days >= 0)
            {
                isValid = false;
                MessageBox.Show("Data de checkout trebuie sa fie mai mare decat data de checkin!\n");
            }

            else if (roomIndex == -1)
            {
                isValid = false;
                MessageBox.Show("Nu ati selectat camera!\n");
            }

            else if (temp.FindAll((b) => b.RoomId.ToString() == this.select_camera.Text).Any(b => (b.EndDate - startDate).Days > 0))
            {
                isValid = false;
                MessageBox.Show("Camera este deja rezervata in acea perioada!\n");
            }

            if (isValid)
            {
                try
                {
                    try
                    {
                        string connStr = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = DB.accdb";
                        using (var conn = new OleDbConnection(connStr))
                            using (var myCommand = conn.CreateCommand())
                            {
                                Item selected = this.Select_user.SelectedItem as Item;
                                User user     = users.Find((u) => u.Cnp == selected.cnp);
                                Room room     = rooms.Find((r) => r.Id.ToString() == this.select_camera.SelectedItem.ToString());

                                var oldCnp        = booking.UserCNP;
                                var oldStartDate  = booking.StartDate;
                                var oldRoomNumber = booking.RoomId;

                                booking.UserCNP   = user.Cnp;
                                booking.RoomId    = room.Id;
                                booking.StartDate = startDate;
                                booking.EndDate   = endDate;

                                SaveObjects?.Invoke(bookings, bookingsPath);

                                string query = "Update bookings SET userCNP = @userCNP, roomId = @roomId, startdDate = @startDate, endDate = @endDate where userCNP = @oldCnp and roomId= @oldRoomNumber and startDate = @oldStartDate;";
                                myCommand.CommandText = query;

                                myCommand.Parameters.AddWithValue("@userCNP", user.Cnp);
                                myCommand.Parameters.AddWithValue("@roomId", room.Id);
                                myCommand.Parameters.AddWithValue("@startDate", startDate);
                                myCommand.Parameters.AddWithValue("@endDate", endDate);
                                myCommand.Parameters.AddWithValue("@oldCnp", oldCnp);
                                myCommand.Parameters.AddWithValue("@oldRoomNumber", oldRoomNumber);
                                myCommand.Parameters.AddWithValue("@oldStartDate", oldStartDate);
                                conn.Open();
                                myCommand.ExecuteNonQuery();

                                MessageBox.Show("Datele clientului au fost editate cu succes! Toate rezervarile au fost reatribuite!");
                                this.Dispose();
                            }
                    }
                    catch (Exception ex)
                    {
                        //MessageBox.Show(ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
예제 #8
0
        private void Btn_FinishEdit_Room_Click(object sender, EventArgs e)
        {
            int    number     = -1;
            double price      = -1;
            int    capacitate = -1;
            bool   isValid    = true;

            if (!Int32.TryParse(this.tb_numar.Text, out number))
            {
                isValid = false;
                MessageBox.Show("Numar invalid!");
            }

            if (rooms.Any(r => r.Id == number && r.CompareTo(room) != 0))
            {
                isValid = false;
                MessageBox.Show("Exista o camera cu acest numar!", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            if (!Double.TryParse(this.tb_pret.Text, out price))
            {
                isValid = false;
                MessageBox.Show("Pret invalid!");
            }

            if (!Int32.TryParse(this.Select_capacitate.Text, out capacitate))
            {
                isValid = false;
                MessageBox.Show("Capacitate invalida!");
            }

            if (capacitate > 3)
            {
                isValid = false;
                MessageBox.Show("Capacitate invalida!");
            }

            if (isValid)
            {
                try
                {
                    List <Booking> tempBookings;
                    tempBookings = bookings.FindAll((b) => b.RoomId == room.Id);

                    room.Id        = number;
                    room.Price     = price;
                    room.Capacity  = capacitate;
                    room.IsPremium = this.CB_camera_premium.Checked;

                    SaveObjects?.Invoke(rooms, roomsPath);

                    foreach (Booking booking in bookings)
                    {
                        if (tempBookings.Contains(booking))
                        {
                            booking.RoomId = room.Id;
                        }
                    }
                    SaveObjects?.Invoke(bookings, bookingsPath);

                    MessageBox.Show("Camera editata cu succes! Toate rezervarile au fost reatribuite!");
                    this.Dispose();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }