Example #1
0
        private static void ToOpenRoom(object sender, RoutedEventArgs e)
        {
            PUButton pUButton = sender as PUButton;
            Grid     gd       = pUButton.Parent as Grid;

            new OpenRoomWindow((gd.DataContext as Room).roomID, out OpenRoomViewModel viewModel, (thispage as RoomStatePage)).ShowDialog();
        }
Example #2
0
        public static FrameworkElement MakeRoomInfoMainCard(Room room, int row, int column, List <RoomStateModel> roomStates, List <Finishtrans> finishtrans, List <Finishbook> finishbooks)
        {
            Border border = new Border();

            border.CornerRadius = new CornerRadius(5, 5, 5, 5);
            border.Margin       = new Thickness(10, 10, 10, 10);
            border.Background   = new SolidColorBrush(Color.FromRgb(220, 220, 220));
            border.Width        = 130;
            border.Height       = 180;
            border.SetValue(Grid.RowProperty, row);       //设置按钮所在Grid控件的行
            border.SetValue(Grid.ColumnProperty, column); //设置按钮所在Grid控件的列
            DockPanel dockPanel = new DockPanel();

            //主要信息界面
            Grid grid = new Grid();

            for (int i = 0; i < 5; i++)
            {
                RowDefinition rowDefinition = new RowDefinition();
                rowDefinition.Height = new GridLength(36);
                grid.RowDefinitions.Add(rowDefinition); //添加行
            }

            //房间号
            Label roomnamelabel = new Label();

            roomnamelabel.SetValue(Grid.RowProperty, 0);
            roomnamelabel.FontSize            = 14;
            roomnamelabel.VerticalAlignment   = VerticalAlignment.Center;
            roomnamelabel.HorizontalAlignment = HorizontalAlignment.Center;
            roomnamelabel.Content             = room.roomname;
            grid.Children.Add(roomnamelabel);



            //房间类型
            Label roomtypelabel = new Label();

            roomtypelabel.SetValue(Grid.RowProperty, 1);
            roomtypelabel.FontFamily                 = new FontFamily("楷书");
            roomtypelabel.FontSize                   = 15;
            roomtypelabel.Height                     = 36;
            roomtypelabel.Width                      = 135;
            roomtypelabel.VerticalAlignment          = VerticalAlignment.Center;
            roomtypelabel.HorizontalAlignment        = HorizontalAlignment.Center;
            roomtypelabel.HorizontalContentAlignment = HorizontalAlignment.Center;
            roomtypelabel.VerticalContentAlignment   = VerticalAlignment.Center;
            roomtypelabel.Content                    = room.roomtype;
            roomtypelabel.BorderThickness            = new Thickness(2);
            string color = "";

            foreach (RoomStateModel rs in roomstates)
            {
                if (rs.Name == StateConfig[room.roomstate])
                {
                    color = rs.Color;
                    break;
                }
            }
            roomtypelabel.Background = ColorsConfig[color];
            if (color == "黑色" || color == "紫色" || color == "棕色" || color == "蓝色")
            {
                roomtypelabel.Foreground = Brushes.White;
            }
            grid.Children.Add(roomtypelabel);

            //修改房间状态按钮
            Image change_roomstate = new Image();

            change_roomstate.SetValue(Grid.RowProperty, 1);
            change_roomstate.Width               = 18;
            change_roomstate.Height              = 18;
            change_roomstate.MouseDown          += changeRoomstate;
            change_roomstate.HorizontalAlignment = HorizontalAlignment.Right;
            change_roomstate.VerticalAlignment   = VerticalAlignment.Center;
            if (color == "黑色" || color == "紫色" || color == "棕色" || color == "蓝色")
            {
                change_roomstate.Source = new BitmapImage(new Uri("/AppData/icon/paint_white.ico", UriKind.RelativeOrAbsolute));
            }
            else
            {
                change_roomstate.Source = new BitmapImage(new Uri("/AppData/icon/paint_black.ico", UriKind.RelativeOrAbsolute));
            }

            grid.Children.Add(change_roomstate);



            //房态
            //Label roomstatelabel = new Label();
            //roomstatelabel.SetValue(Grid.RowProperty, 2);
            //roomstatelabel.FontSize = 14;
            //roomstatelabel.VerticalAlignment = VerticalAlignment.Center;
            //roomstatelabel.HorizontalAlignment = HorizontalAlignment.Center;
            //switch (room.roomstate)
            //{
            //    case 0:
            //        roomstatelabel.Content = "空房";
            //        break;
            //    default:
            //        break;
            //}
            //grid.Children.Add(roomstatelabel);

            //如果为空房
            if (room.roomstate == 0 || room.roomstate == 4)
            {
                if (finishbooks.Count() > 0)
                {
                    Image bookButton = new Image();
                    bookButton.SetValue(Grid.RowProperty, 0);
                    bookButton.HorizontalAlignment = HorizontalAlignment.Right;
                    bookButton.Width       = 20;
                    bookButton.Height      = 20;
                    bookButton.Source      = new BitmapImage(new Uri("/AppData/icon/bookyes_black.ico", UriKind.RelativeOrAbsolute));
                    bookButton.MouseDown  += ShowBookInfo;
                    bookButton.DataContext = finishbooks[0];
                    grid.Children.Add(bookButton);
                }
                else
                {
                    Image bookButton = new Image();
                    bookButton.SetValue(Grid.RowProperty, 0);
                    bookButton.HorizontalAlignment = HorizontalAlignment.Right;
                    bookButton.Width      = 20;
                    bookButton.Height     = 20;
                    bookButton.Source     = new BitmapImage(new Uri("/AppData/icon/book_black.ico", UriKind.RelativeOrAbsolute));
                    bookButton.MouseDown += ToBookRoom;
                    grid.Children.Add(bookButton);
                }

                //日房价
                Label daypricelabel = new Label();
                daypricelabel.SetValue(Grid.RowProperty, 3);
                daypricelabel.Margin   = new Thickness(0, -15, 0, 0);
                daypricelabel.FontSize = 10;
                daypricelabel.Content  = "日单价";
                grid.Children.Add(daypricelabel);


                Label daypricetextbox = new Label();
                daypricetextbox.SetValue(Grid.RowProperty, 3);
                daypricetextbox.FontSize            = 12;
                daypricetextbox.Width               = 60;
                daypricetextbox.Height              = 25;
                daypricetextbox.HorizontalAlignment = HorizontalAlignment.Left;
                daypricetextbox.Content             = room.roomdayprice;
                grid.Children.Add(daypricetextbox);

                //每小时房价
                Label hourpricelabel = new Label();
                hourpricelabel.SetValue(Grid.RowProperty, 3);
                hourpricelabel.Margin   = new Thickness(90, -15, 0, 0);
                hourpricelabel.FontSize = 10;
                hourpricelabel.Content  = "时单价";
                grid.Children.Add(hourpricelabel);

                Label hourpricetextbox = new Label();
                hourpricetextbox.SetValue(Grid.RowProperty, 3);
                hourpricetextbox.FontSize                   = 12;
                hourpricetextbox.Width                      = 60;
                hourpricetextbox.Height                     = 25;
                hourpricetextbox.HorizontalAlignment        = HorizontalAlignment.Right;
                hourpricetextbox.Content                    = room.roomhourprice;
                hourpricetextbox.HorizontalContentAlignment = HorizontalAlignment.Right;
                grid.Children.Add(hourpricetextbox);



                PUButton openroombutton = new PUButton();
                openroombutton.SetValue(Grid.RowProperty, 4);
                openroombutton.Width                      = 80;
                openroombutton.Height                     = 25;
                openroombutton.BorderCornerRadius         = new CornerRadius(5, 5, 5, 5);
                openroombutton.Background                 = Brushes.Gray;
                openroombutton.Margin                     = new Thickness(0, 0, 0, 10);
                openroombutton.VerticalContentAlignment   = VerticalAlignment.Center;
                openroombutton.HorizontalContentAlignment = HorizontalAlignment.Center;
                openroombutton.Content                    = "Open";
                openroombutton.Click                     += ToOpenRoom;
                grid.Children.Add(openroombutton);
            }
            //不为空房
            if ((room.roomstate == 1 || room.roomstate == 2 || room.roomstate == 3) && finishtrans.Count() > 0)
            {
                Label roomopentype = new Label();
                roomopentype.SetValue(Grid.RowProperty, 2);
                roomopentype.Width  = 100;
                roomopentype.Height = 30;
                roomopentype.HorizontalAlignment        = HorizontalAlignment.Center;
                roomopentype.VerticalAlignment          = VerticalAlignment.Center;
                roomopentype.VerticalContentAlignment   = VerticalAlignment.Center;
                roomopentype.HorizontalContentAlignment = HorizontalAlignment.Center;
                roomopentype.Content = finishtrans[0].opentype;
                grid.Children.Add(roomopentype);

                PUButton exitbutton = new PUButton();
                exitbutton.SetValue(Grid.RowProperty, 4);
                exitbutton.Width              = 80;
                exitbutton.Height             = 25;
                exitbutton.BorderCornerRadius = new CornerRadius(5);
                exitbutton.Content            = "退房";
                exitbutton.Click             += exitRoomClick;
                grid.Children.Add(exitbutton);
            }
            dockPanel.Children.Add(grid);
            border.Child     = dockPanel;
            grid.DataContext = room;
            return(border);
        }