Пример #1
0
        private async Task <int> LoadPhong(string sql)
        {
            PanelNoiDung.Hide();
            string TypeSapXep = "";

            switch (ComboboxSapXep.Text)
            {
            case "Số phòng":
                TypeSapXep = "SOPHONG";
                break;

            case "Loại phòng":
                TypeSapXep = "LOAIPHONG";
                break;

            case "Trạng thái":
                TypeSapXep = "TRANGTHAI";
                break;

            default:
                TypeSapXep = "SOPHONG";
                break;
            }
            sql = sql + " ORDER BY " + TypeSapXep + " ASC ";
            PanelNoiDung.Controls.Clear();
            SqlConnection conn = new SqlConnection(DataSource.connectionString);

            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            int        i   = 0;

            using (DbDataReader reader = cmd.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Phong us1 = new Phong();
                        us1.Location = new Point(i % 3 * 250, i / 3 * 110);
                        us1.Size     = new Size(240, 100);
                        //Set mau cho usercontrol
                        switch (Convert.ToInt64(reader.GetValue(2)))
                        {
                        case 1:     // Phong Trong80
                            us1.panel1.BackColor = Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(160)))), ((int)(((byte)(71)))));
                            us1.BackColor        = Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(245)))), ((int)(((byte)(233)))));
                            us1.TrangThai.Show();
                            us1.TrangThai.BringToFront();
                            us1.panel1.Name = reader.GetString(0);
                            break;

                        case 2:     //Thông tin phòng đã nhận trong ngày 255, 204, 230 255, 51, 153
                            us1.panel1.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(51)))), ((int)(((byte)(153)))));
                            us1.BackColor        = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(204)))), ((int)(((byte)(230)))));

                            SetMauPhong(ref us1);
                            us1.panel1.Name = reader.GetString(0);

                            break;

                        case 3:     //Thông tin phòng quá hạn ngày hôm trước ko đến 255, 102, 0
                            us1.panel1.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(102)))), ((int)(((byte)(0)))));
                            us1.BackColor        = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(204)))));
                            SetMauPhong(ref us1);
                            us1.panel1.Name = reader.GetString(0);


                            break;

                        case 4:     //Thông tin phòng sẽ đặt trong ngày hôm nay rgb(77, 121, 255)

                            us1.panel1.BackColor = Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(71)))), ((int)(((byte)(179)))));
                            us1.BackColor        = Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
                            SetMauPhong(ref us1);
                            us1.panel1.Name = reader.GetString(0);


                            break;

                        case 5:     //Phòng bận 217, 179, 140)
                            us1.panel1.BackColor = Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
                            us1.BackColor        = Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(179)))), ((int)(((byte)(140)))));
                            SetMauPhong(ref us1);
                            us1.panel1.Name = reader.GetString(0);
                            break;
                        }
                        PanelNoiDung.Controls.Add(us1);
                        us1.SoPhong.Text   = reader.GetString(0);
                        us1.LoaiPhong.Text = reader.GetString(1);
                        try
                        {
                            if (Convert.ToInt64(reader.GetValue(2)) != 1)
                            {
                                us1.txtNgDen.Text  = reader.GetDateTime(3).ToString("dd/MM" + "," + "hh:mm");
                                us1.txtNgDi.Text   = reader.GetDateTime(4).ToString("dd/MM" + "," + "hh:mm");
                                us1.txtHoTen.Text  = reader.GetString(5);
                                us1.txtTGNhan.Text = reader.GetString(6).ToString();
                            }
                        }

                        catch
                        {
                        }
                        i++;
                    }
                }
                reader.Close();
            }
            conn.Close();
            return(1);
        }