public MainWindow()
{
InitializeComponent();
hienthi();
hienthicb();
}
QlbenhNhanContext db = new QlbenhNhanContext();
// 4 references
private void hienthi()
{
var query = from x in db.BenhNhans.AsNoTracking()
orderby x.SongayNv
select new
{
x.Mabn,
x.Hoten,
x.SongayNv,
x.Diachi,
x.Makhoa,
Vienphi = x.SongayNv * 6000
};
dtg.ItemsSource = query.ToList();
}
// 1 reference
private void hienthicb()
{
var query = db.KhoaKhams.AsNoTracking().ToList();
cb.ItemsSource = query;
cb.DisplayMemberPath = "Makhoa";
cb.SelectedValuePath = "Tenkhoa";
cb.SelectedIndex = 0;
}
// 1 reference
private void them(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if(query != null)
{
MessageBox.Show("ma san pham da ton tai", "thong bao");
return;
}
if(!int.TryParse(txtsongay.Text, out var n) || n <= 0)
{
MessageBox.Show("so ngay nam vien phai lon hon 0", "thong bao");
return ;
}
BenhNhan moi = new BenhNhan();
moi.Mabn = txtma.Text;
moi.Hoten = txtten.Text;
moi.Diachi = txtdiachi.Text;
moi.SongayNv = int.Parse(txtsongay.Text);
KhoaKham a = (KhoaKham)cb.SelectedItem;
moi.Makhoa = a.Makhoa;
db.BenhNhans.Add(moi);
db.SaveChanges();
hienthi();
MessageBox.Show("them thanh cong", "thong bao");
}
// 1 reference
private void sua(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if (query == null)
{
MessageBox.Show("khong ton tai san pham", "thong bao");
return;
}
if (!int.TryParse(txtsongay.Text, out var n) || n <= 0)
{
MessageBox.Show("so ngay nam vien phai lon hon 0", "thong bao");
return;
}
query.Hoten = txtten.Text;
query.Diachi = txtdiachi.Text;
query.SongayNv = int.Parse(txtsongay.Text);
KhoaKham a = (KhoaKham)cb.SelectedItem;
query.Makhoa = a.Makhoa;
db.SaveChanges();
hienthi();
MessageBox.Show("sua thanh cong", "thong bao");
}
// 1 reference
private void xoa(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if (query == null)
{
MessageBox.Show("khong ton tai san pham", "thong bao");
return;
}
MessageBoxResult kq = MessageBox.Show("ban co chac chan muon xoa khong", "thong bao", MessageBoxButton.YesNo);
if(kq == MessageBoxResult.Yes)
{
db.BenhNhans.Remove(query);
db.SaveChanges();
hienthi() ;
MessageBox.Show("xoa thanh cong", "thong bao");
}
}
//Chọn dòng trong DataGrid
private void dgvSanPham_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
if (dgvSanPham.SelectedItem != null)
{
try
{
Type t = dgvSanPham.SelectedItem.GetType();
PropertyInfo[] p = t.GetProperties();
txtMa.Text = p[0].GetValue(dgvSanPham.SelectedValue).ToString();
txtTen.Text = p[1].GetValue(dgvSanPham.SelectedValue).ToString();
cboLoai.SelectedValue = p[2].GetValue(dgvSanPham.SelectedValue).ToString();
txtSoLuong.Text = p[3].GetValue(dgvSanPham.SelectedValue).ToString();
txtDonGia.Text = p[4].GetValue(dgvSanPham.SelectedValue).ToString();
}
catch (Exception ex)
{
MessageBox.Show("Có lỗi khi chọn hàng" + ex.Message, "Thông báo");
}
}
}
===== MainWindow - Code bệnh nhân =====
// 0 references
public MainWindow()
{
InitializeComponent();
hienthi();
hienthicb();
}
QlbenhNhanContext db = new QlbenhNhanContext();
// 4 references
private void hienthi()
{
var query = from x in db.BenhNhans.AsNoTracking()
orderby x.SongayNv
select new
{
x.Mabn,
x.Hoten,
x.SongayNv,
x.Diachi,
x.Makhoa,
Vienphi = x.SongayNv * 6000
};
dtg.ItemsSource = query.ToList();
}
// 1 reference
private void hienthicb()
{
var query = db.KhoaKhams.AsNoTracking().ToList();
cb.ItemsSource = query;
cb.DisplayMemberPath = "Makhoa";
cb.SelectedValuePath = "Tenkhoa";
cb.SelectedIndex = 0;
}
// 1 reference
private void them(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if(query != null)
{
MessageBox.Show("ma san pham da ton tai", "thong bao");
return;
}
if(!int.TryParse(txtsongay.Text, out var n) || n <= 0)
{
MessageBox.Show("so ngay nam vien phai lon hon 0", "thong bao");
return ;
}
BenhNhan moi = new BenhNhan();
moi.Mabn = txtma.Text;
moi.Hoten = txtten.Text;
moi.Diachi = txtdiachi.Text;
moi.SongayNv = int.Parse(txtsongay.Text);
KhoaKham a = (KhoaKham)cb.SelectedItem;
moi.Makhoa = a.Makhoa;
db.BenhNhans.Add(moi);
db.SaveChanges();
hienthi();
MessageBox.Show("them thanh cong", "thong bao");
}
// 1 reference
private void sua(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if (query == null)
{
MessageBox.Show("khong ton tai san pham", "thong bao");
return;
}
if (!int.TryParse(txtsongay.Text, out var n) || n <= 0)
{
MessageBox.Show("so ngay nam vien phai lon hon 0", "thong bao");
return;
}
query.Hoten = txtten.Text;
query.Diachi = txtdiachi.Text;
query.SongayNv = int.Parse(txtsongay.Text);
KhoaKham a = (KhoaKham)cb.SelectedItem;
query.Makhoa = a.Makhoa;
db.SaveChanges();
hienthi();
MessageBox.Show("sua thanh cong", "thong bao");
}
// 1 reference
private void xoa(object sender, RoutedEventArgs e)
{
var query = db.BenhNhans.SingleOrDefault(t => t.Mabn.Equals(txtma.Text));
if (query == null)
{
MessageBox.Show("khong ton tai san pham", "thong bao");
return;
}
MessageBoxResult kq = MessageBox.Show("ban co chac chan muon xoa khong", "thong bao", MessageBoxButton.YesNo);
if(kq == MessageBoxResult.Yes)
{
db.BenhNhans.Remove(query);
db.SaveChanges();
hienthi() ;
MessageBox.Show("xoa thanh cong", "thong bao");
}
}
//Chọn dòng trong DataGrid
private void dgvSanPham_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
if (dgvSanPham.SelectedItem != null)
{
try
{
Type t = dgvSanPham.SelectedItem.GetType();
PropertyInfo[] p = t.GetProperties();
txtMa.Text = p[0].GetValue(dgvSanPham.SelectedValue).ToString();
txtTen.Text = p[1].GetValue(dgvSanPham.SelectedValue).ToString();
cboLoai.SelectedValue = p[2].GetValue(dgvSanPham.SelectedValue).ToString();
txtSoLuong.Text = p[3].GetValue(dgvSanPham.SelectedValue).ToString();
txtDonGia.Text = p[4].GetValue(dgvSanPham.SelectedValue).ToString();
}
catch (Exception ex)
{
MessageBox.Show("Có lỗi khi chọn hàng" + ex.Message, "Thông báo");
}
}
}
// 1 reference
private void Button_Click(object sender, RoutedEventArgs e)
{
Window1 x = new Window1();
x.Show();
}
// ===== XAML Grid - Window1 =====
/*
using WpfApp1.Models;// orderby t.GiaBan descending(giảm dần)
*/
// ===== Window1 Code =====
// 1 reference
public Window1()
{
InitializeComponent();
hienthi();
}
QlbenhNhanContext db = new QlbenhNhanContext();
// 1 reference
private void hienthi()
{
var query = from t in db.BenhNhans
join d in db.KhoaKhams
on t.Makhoa equals d.Makhoa
group t by new { t.Makhoa, d.Tenkhoa } into g
select new
{
Makhoa = g.Key.Makhoa,
Tenkhoa = g.Key.Tenkhoa,
tong = g.Sum(x => x.SongayNv * 6000)
};
dt.ItemsSource = query.ToList();
}
// ===== Window_Loaded - Bán hàng =====
private void Window_Loaded(object sender, RoutedEventArgs e)
{
QLBanHangContext db = new QLBanHangContext();
var query = from p in db.SanPhams
join k in db.LoaiSanPhams
on p.MaLoai equals k.MaLoai
where p.MaLoai=="l1"
select new
{
p.MaSp,
p.TenSp,
k.TenLoai,
p.DonGia,
p.SoLuong,
ThanhTien = p.DonGia * p.SoLuong
};
dgvThongke.ItemsSource = query.ToList();
}
// ===== CheckDL - Validation =====
private bool CheckDL()
{
string tb ="";
if (txtMa.Text==""||txtTen.Text==""||txtSoLuong.Text==""||txtDonGia.Text=="")
{ tb += "\n Ban can nhap day du du lieu!"; }
if (!Regex.IsMatch(txtDonGia.Text,@"\d+"))//Nếu đơn giá nhập vào không phải là số
{ tb += "\n Don gia nhap vao phai la so!"; }
else
{
int dg = double.Parse(txtDonGia.Text);
if (dg<0)
{ tb += "\n Don gia nhap vao phai la so duong!"; }
}
if (!Regex.IsMatch(txtSoLuong.Text, @"\d+"))
{ tb += "\n So luong nhap vao phai la so!"; }
else
{
int sl = int.Parse(txtSoLuong.Text);
if (sl< 0)
{ tb += "\n So luong nhap vao phai la so duong!"; }
}
if(tb!="")
{
MessageBox.Show(tb, "Thong Bao", MessageBoxButton.OK, MessageBoxImage.Error);
return false;
}
return true;
}
// ===== Button_tim - Tìm kiếm sản phẩm =====
private void Button_tim(object sender, RoutedEventArgs e)
{
if (cb.SelectedValue == null)
{
MessageBox.Show("Vui long chon loai san pham!");
return;
}
string maloai = cb.SelectedValue.ToString();
// Truy vấn sản phẩm theo mã loại
var query = from sp in db.SanPhams.AsNoTracking()
where sp.MaLoai == maloai
select new
{
sp.MaSp,
sp.TenSp,
sp.MaLoai,
sp.SoLuong,
sp.DonGia,
ThanhTien = sp.DonGia * sp.SoLuong
};
// Hiển thị lên DataGrid
dgvsanpham.ItemsSource = query.ToList();
// Nếu không có sản phẩm nào
if (!query.Any())
{
MessageBox.Show("Không tìm thấy sản phẩm nào thuộc loại đã chọn!");
}
}