|
@@ -70,27 +70,174 @@ namespace HotelCalifornia
|
|
|
|
|
|
private void dataClientRoom_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
+ try
|
|
|
+ {
|
|
|
+ DataGrid gd = (DataGrid)sender;
|
|
|
+ DataRowView rowView = gd.SelectedItem as DataRowView;
|
|
|
+ if (rowView != null)
|
|
|
+ {
|
|
|
+ roomcombo.Text = rowView["Number_Room"].ToString();
|
|
|
+ clientcombo.Text = rowView["LastName_Client"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void Add_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void Update_Click(object sender, RoutedEventArgs e)
|
|
|
- {
|
|
|
-
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (clientcombo.Text == "" || roomcombo.Text == "")
|
|
|
+ {
|
|
|
+ MessageBox.Show("Заполните все поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ con.Open();
|
|
|
+ SqlCommand cmd = new SqlCommand("Select * from Room where Number_Room ='" + roomcombo.Text + "'", con);
|
|
|
+ cmd.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter = new SqlDataAdapter();
|
|
|
+ adapter.SelectCommand = cmd;
|
|
|
+ DataSet dataSet = new DataSet();
|
|
|
+ adapter.Fill(dataSet);
|
|
|
+ if (dataSet.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string idroom = dataSet.Tables[0].Rows[0]["ID_Room"].ToString();
|
|
|
+ SqlCommand cmd1 = new SqlCommand("Select * from Client where LastName_Client ='" + clientcombo.Text + "'", con);
|
|
|
+ cmd1.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter1 = new SqlDataAdapter();
|
|
|
+ adapter1.SelectCommand = cmd1;
|
|
|
+ DataSet dataSet1 = new DataSet();
|
|
|
+ adapter1.Fill(dataSet1);
|
|
|
+ if (dataSet1.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string idclient = dataSet1.Tables[0].Rows[0]["ID_Client"].ToString();
|
|
|
+ SqlCommand cmd2 = new SqlCommand("Select * from RoomClient where ID_Client = '"+ idclient.ToString() +"'", con);
|
|
|
+ cmd2.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter2 = new SqlDataAdapter();
|
|
|
+ adapter2.SelectCommand = cmd2;
|
|
|
+ DataSet dataSet2 = new DataSet();
|
|
|
+ adapter2.Fill(dataSet2);
|
|
|
+ if (dataSet2.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ MessageBox.Show("У клиента уже есть комната!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ string reg = "INSERT INTO RoomClient (ID_Room,ID_Client) VALUES('" + idroom.ToString() + "','" + idclient.ToString() + "')";
|
|
|
+ SqlDataAdapter dataAdapter = new SqlDataAdapter(reg, con);
|
|
|
+ dataAdapter.SelectCommand.ExecuteNonQuery();
|
|
|
+ con.Close();
|
|
|
+ showgrid();
|
|
|
+ roomcombo.Text = "";
|
|
|
+ clientcombo.Text = "";
|
|
|
+ MessageBox.Show("Клиент заселен в комнату!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void Delete_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
+ if (roomcombo.Text == "" || clientcombo.Text == "")
|
|
|
+ {
|
|
|
+ MessageBox.Show("Поле не выбрано! Выберите нужное поле!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con.Open();
|
|
|
+ SqlCommand cmd = new SqlCommand("Select * from Room where Number_Room ='" + roomcombo.Text + "'", con);
|
|
|
+ cmd.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter = new SqlDataAdapter();
|
|
|
+ adapter.SelectCommand = cmd;
|
|
|
+ DataSet dataSet = new DataSet();
|
|
|
+ adapter.Fill(dataSet);
|
|
|
+ if (dataSet.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string idroom = dataSet.Tables[0].Rows[0]["ID_Room"].ToString();
|
|
|
+ SqlCommand cmd1 = new SqlCommand("Select * from Client where LastName_Client ='" + clientcombo.Text + "'", con);
|
|
|
+ cmd1.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter1 = new SqlDataAdapter();
|
|
|
+ adapter1.SelectCommand = cmd1;
|
|
|
+ DataSet dataSet1 = new DataSet();
|
|
|
+ adapter1.Fill(dataSet1);
|
|
|
+ if (dataSet1.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string idclient = dataSet1.Tables[0].Rows[0]["ID_Client"].ToString();
|
|
|
+ SqlCommand cmd2 = new SqlCommand("Select * from RoomClient where ID_Client = '" + idclient.ToString() + "' and ID_Room = '" + idroom.ToString() + "'", con);
|
|
|
+ cmd2.CommandType = CommandType.Text;
|
|
|
+ SqlDataAdapter adapter2 = new SqlDataAdapter();
|
|
|
+ adapter2.SelectCommand = cmd2;
|
|
|
+ DataSet dataSet2 = new DataSet();
|
|
|
+ adapter2.Fill(dataSet2);
|
|
|
+ if (dataSet2.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ string sql = "DELETE FROM RoomClient WHERE ID_Room = '" + idroom.ToString() + "' and ID_Client = '"+idclient.ToString()+"'";
|
|
|
+ SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
|
|
|
+ dataAdapter.SelectCommand.ExecuteNonQuery();
|
|
|
+ con.Close();
|
|
|
+ showgrid();
|
|
|
+ roomcombo.Text = "";
|
|
|
+ clientcombo.Text = "";
|
|
|
+ MessageBox.Show("Запись удалена!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ roomcombo.Text = "";
|
|
|
+ clientcombo.Text = "";
|
|
|
+ MessageBox.Show("Такой записи нет!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
fillroomcombo();
|
|
|
+ fillclientcombo();
|
|
|
+ showgrid();
|
|
|
+ }
|
|
|
+
|
|
|
+ void showgrid()
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con.Open();
|
|
|
+ string sql = "SELECT Number_Room, Client.LastName_Client From Room inner join RoomClient on Room.ID_Room = RoomClient.ID_Room inner join Client on RoomClient.ID_Client = Client.ID_Client";
|
|
|
+ SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
|
|
|
+ DataTable data = new DataTable("RoomClient");
|
|
|
+ dataAdapter.Fill(data);
|
|
|
+ dataclientroom.ItemsSource = data.DefaultView;
|
|
|
+ dataAdapter.Update(data);
|
|
|
+ con.Close();
|
|
|
+ dataclientroom.Columns[0].Header = "Номер комнты";
|
|
|
+ dataclientroom.Columns[1].Header = "Фамилия клиента";
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void fillroomcombo()
|
|
@@ -102,7 +249,7 @@ namespace HotelCalifornia
|
|
|
con.Open();
|
|
|
SqlCommand sql = con.CreateCommand();
|
|
|
sql.CommandType = CommandType.Text;
|
|
|
- sql.CommandText = "Select Number_Room from Room";
|
|
|
+ sql.CommandText = "Select Number_Room from Room WHERE Status_Room = 1";
|
|
|
sql.ExecuteNonQuery();
|
|
|
DataTable dt = new DataTable();
|
|
|
SqlDataAdapter da = new SqlDataAdapter(sql);
|
|
@@ -119,5 +266,37 @@ namespace HotelCalifornia
|
|
|
MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
}
|
|
|
}
|
|
|
+ void fillclientcombo()
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ clientcombo.Items.Clear();
|
|
|
+ con.Open();
|
|
|
+ SqlCommand sql = con.CreateCommand();
|
|
|
+ sql.CommandType = CommandType.Text;
|
|
|
+ sql.CommandText = "Select LastName_Client from Client";
|
|
|
+ sql.ExecuteNonQuery();
|
|
|
+ DataTable dt = new DataTable();
|
|
|
+ SqlDataAdapter da = new SqlDataAdapter(sql);
|
|
|
+ da.Fill(dt);
|
|
|
+ foreach (DataRow dr in dt.Rows)
|
|
|
+ {
|
|
|
+ clientcombo.Items.Add(dr["LastName_Client"].ToString());
|
|
|
+ }
|
|
|
+ con.Close();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Refresh_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ showgrid();
|
|
|
+ roomcombo.Text = "";
|
|
|
+ clientcombo.Text = "";
|
|
|
+ }
|
|
|
}
|
|
|
}
|