|
@@ -20,13 +20,20 @@ namespace Hotel_Course_Project
|
|
|
/// </summary>
|
|
|
public partial class OrderChangeOrAddPage : Page
|
|
|
{
|
|
|
+ Staff _hostel;
|
|
|
public OrderChangeOrAddPage(Order order, Staff hostel)
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
+ DataContext = order;
|
|
|
+ _hostel = hostel;
|
|
|
+ if (DataContext == null)
|
|
|
+ {
|
|
|
SOrderDateStart.Text = DateTime.Now.Date.ToString();
|
|
|
SOrderDateEnd.DisplayDateStart = DateTime.Now.AddDays(1);
|
|
|
SOrderDateEnd.DisplayDateEnd = DateTime.Now.AddMonths(12);
|
|
|
PaySP.Visibility = Visibility.Collapsed;
|
|
|
+ AddOrChangeBtn.Visibility = Visibility.Collapsed;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void SClientBtn_Click(object sender, RoutedEventArgs e)
|
|
@@ -78,20 +85,69 @@ namespace Hotel_Course_Project
|
|
|
{
|
|
|
MessageBox.Show("ВЫберите конец периода съёма комнаты");
|
|
|
}
|
|
|
+ else if(SRoom.Text == string.Empty)
|
|
|
+ {
|
|
|
+ MessageBox.Show("Комната не выбрана");
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
-
|
|
|
+ DateTime dateEnd = (DateTime)SOrderDateEnd.SelectedDate;
|
|
|
+ int dateDiff = dateEnd.Subtract(DateTime.Parse(SOrderDateStart.Text.ToString())).Days+1;
|
|
|
+ PayAddOnOrderWindow payAddOnOrder = new PayAddOnOrderWindow(dateDiff, (decimal)Helper.SelectedRoomOnOrder.CostPerDay);
|
|
|
+ payAddOnOrder.ShowDialog();
|
|
|
+ if(payAddOnOrder.DialogResult == true)
|
|
|
+ {
|
|
|
+ PayMakeBtn.Visibility = Visibility.Hidden;
|
|
|
+ PaySP.Visibility = Visibility.Visible;
|
|
|
+ SPayEndSum.Text = DataBase.db.Pay.SingleOrDefault(item => item.Id == Helper.idNewPay).EndSum.ToString();
|
|
|
+ SPayType.Text = DataBase.db.Pay.SingleOrDefault(item => item.Id == Helper.idNewPay).PayType.Name.ToString();
|
|
|
+ SClientBtn.Visibility = Visibility.Collapsed;
|
|
|
+ SRoomBtn.Visibility = Visibility.Collapsed;
|
|
|
+ SOrderDateEnd.IsEnabled = false;
|
|
|
+ CancelOrderBtn.Content = "Отменить";
|
|
|
+ AddOrChangeBtn.Visibility = Visibility.Visible;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PayMakeBtn.Visibility = Visibility.Visible;
|
|
|
+ PaySP.Visibility = Visibility.Hidden;
|
|
|
+ SPayEndSum.Text = string.Empty;
|
|
|
+ SPayType.Text = string.Empty;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void AddOrChangeBtn_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
+ Order order = new Order()
|
|
|
+ {
|
|
|
+ Id_Client = Helper.SelectedClientOnOrder.Id,
|
|
|
+ Id_Staff = _hostel.Id,
|
|
|
+ Id_OrderStatus = 2,
|
|
|
+ Id_Pay = Helper.idNewPay,
|
|
|
+ DateStart = DateTime.Parse(SOrderDateStart.Text.ToString()),
|
|
|
+ DateEnd = (DateTime)SOrderDateEnd.SelectedDate,
|
|
|
+ Id_Room = Helper.SelectedRoomOnOrder.Id
|
|
|
+ };
|
|
|
+ DataBase.db.Order.Add(order);
|
|
|
+ var lastId = DataBase.db.Order.OrderByDescending(item => item.Id).FirstOrDefault().Id;
|
|
|
+ DataBase.db.SaveChanges();
|
|
|
+ MessageBox.Show("Заказ добавлен");
|
|
|
+ PChanger.MainFrame.GoBack();
|
|
|
}
|
|
|
|
|
|
private void CancelOrderBtn_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
+ if(PayMakeBtn.Visibility == Visibility.Hidden)
|
|
|
+ {
|
|
|
+ DataBase.db.Pay.Remove(Helper.pay);
|
|
|
+ DataBase.db.SaveChanges();
|
|
|
+ PChanger.MainFrame.GoBack();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PChanger.MainFrame.GoBack();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|