Example #1
0
        private void LoadPhones()
        {
            using (var ctx = new PhoneStoreManageEntities())
            {
                var query = from p in ctx.DienThoais
                            select new
                {
                    TenHang        = p.MauDienThoai.HangDienThoai.TenHDT,
                    MaMauDienThoai = p.MauDienThoai.MaMDT,
                    TenDienThoai   = p.MauDienThoai.TenDT,
                    MaDienThoai    = p.MaDT,
                    p.Mau,
                    p.SoLuong,
                    Gia       = p.GiaBan,
                    KhuyenMai = p.MauDienThoai.KM
                };

                if (cbbBrand.SelectedIndex > -1)
                {
                    query = from q in query
                            where
                            q.TenHang == cbbBrand.SelectedItem.ToString()
                            select q;
                }

                if (cbbColors.SelectedIndex > -1)
                {
                    query = from q in query
                            where
                            q.Mau == cbbColors.SelectedItem.ToString()
                            select q;
                }

                var result = from q in query
                             select new
                {
                    q.MaDienThoai,
                    q.TenDienThoai,
                    q.Mau,
                    q.SoLuong,
                    q.Gia,
                    q.KhuyenMai
                };

                if (txtSearchPhone.Text == "")
                {
                    dgvPhones.DataSource = result.ToList();
                }
                else
                {
                    var proc = ctx.pro_SearchPhones(txtSearchPhone.Text);
                    var res  = from pr in proc
                               join q in query on pr.MaDT equals q.MaDienThoai
                               select new
                    {
                        MaDienThoai  = pr.MaDT,
                        TenDienThoai = pr.TenDT,
                        pr.Mau,
                        pr.SoLuong,
                        Gia       = pr.GiaBan,
                        KhuyenMai = pr.KM
                    };

                    dgvPhones.DataSource = res.ToList();
                }

                dgvPhones.Columns[0].Visible    = false;
                dgvPhones.Columns[5].Visible    = false;
                dgvPhones.Columns[1].HeaderText = "Tên điện thoại";
                dgvPhones.Columns[2].HeaderText = "Màu";
                dgvPhones.Columns[3].HeaderText = "Số lượng";
                dgvPhones.Columns[4].HeaderText = "Giá";
                dgvPhones.Columns[1].FillWeight = 150;
                dgvPhones.Columns[2].FillWeight = 50;
                dgvPhones.Columns[3].FillWeight = 70;
                dgvPhones.Columns[4].FillWeight = 70;
                dgvPhones.Refresh();
            }
        }