public async Task <int> Them(TienIchRequest model) { TienIch tienich = new TienIch(); tienich.NoiDungHienThi = model.NoiDungHienThi; tienich.ID_NgonNgu = model.ID_NgonNgu; tienich.Delete = model.Delete; tienich.CreateBy = model.CreateBy; tienich.ID_TienIch = model.ID_TienIch; tienich.ModifyBy = model.ModifyBy; tienich.CreateDate = DateTime.Now; _context.TienIchs.Add(tienich); await _context.SaveChangesAsync(); return(tienich.ID_TienIch); }
public void HoanVi_TraVe2PhanTuDaHoanVi() { //Given int a = 3; int b = 4; int expected_a = 4; int expected_b = 3; //When TienIch.HoanVi(ref a, ref b); //Then Assert.Equal(expected_a, a); Assert.Equal(expected_b, b); }
private void btnXemBaoCao_Click(object sender, EventArgs e) { string thang = TienIch.XoaTatCaKhoangTrang(cbxThang.Text); if (string.IsNullOrEmpty(thang)) { TienIch.ShowCanhBao("Cảnh Báo", "Không được để trống tháng"); cbxThang.SelectedIndex = 1; } else { if (thang.All(char.IsDigit)) { string sqlCommand = "Select hdn.Id, nv.Ten, ncc.Ten, hdn.NgayNhap, hdn.TongTien " + " from HoaDonNhap hdn, NhanVien nv, NhaCungCap ncc " + " where hdn.IdNhanVien=nv.Id and hdn.IdNhaCungCap=ncc.Id " + " and MONTH(hdn.NgayNhap)=" + thang; DataTable tbl = DataBaseFunction.GetDataToTable(sqlCommand); dgvHoaDonNhap.DataSource = null; dgvHoaDonNhap.DataSource = tbl; dgvHoaDonNhap.MultiSelect = false; foreach (DataGridViewColumn col in dgvHoaDonNhap.Columns) { col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; col.ReadOnly = true; } dgvHoaDonNhap.Columns[0].HeaderText = "Mã Hóa Đơn"; dgvHoaDonNhap.Columns[1].HeaderText = "Nhân Viên"; dgvHoaDonNhap.Columns[2].HeaderText = "Nhà Cung Cấp"; dgvHoaDonNhap.Columns[3].HeaderText = "Ngày Nhập"; dgvHoaDonNhap.Columns[4].HeaderText = "Tổng Tiền"; foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { row.Cells[3].Value = DateTime.Parse(row.Cells[3].Value.ToString()).ToString("dd - MM - yyyy"); } } else { cbxThang.SelectedIndex = 1; TienIch.ShowCanhBao("Cảnh Báo", "Vui lòng chọn tháng từ 1 tới 12."); } } }
private void tbSoLuong_Leave(object sender, EventArgs e) { string soLuongBanRa = TienIch.XoaTatCaKhoangTrang(tbSoLuong.Text); if (soLuongBanRa.All(char.IsDigit)) { int soLuong; if (Int32.TryParse(soLuongBanRa, out soLuong)) { if (soLuong < 1) { TienIch.ShowCanhBao("Cảnh Báo", "Số Lượng Bán ra phải là số tự nhiên lớn hơn 0"); tbSoLuong.Focus(); tbSoLuong.SelectionLength = tbSoLuong.Text.Length; } else { tbSoLuong.Text = soLuong.ToString(); if (!string.IsNullOrEmpty(cbxTenThuoc.Text)) { int soLuongThuocTrongKho = DataBaseFunction.GetItemId("Select SoLuongHienCo From Thuoc where Ten=N'" + cbxTenThuoc.Text + "'"); int SoLuongBanRa = soLuong; if ((soLuongThuocTrongKho - SoLuongBanRa) < 0) { TienIch.ShowCanhBao("Cảnh Báo", "Số lượng bán ra vượt quá số lượng thuốc trong kho.\nTrong kho hiện còn: " + soLuongThuocTrongKho); tbSoLuong.Focus(); tbSoLuong.SelectionLength = tbSoLuong.Text.Length; } else { } } else { } } } } else { TienIch.ShowCanhBao("Cảnh Báo", "Số Lượng Hiện Có phải là số tự nhiên lớn hơn hoặc bằng 0"); tbSoLuong.Focus(); tbSoLuong.SelectionLength = tbSoLuong.Text.Length; } }
//sự kiện xảy ra khi người dùng click vào 1 ô trong bảng(chưa chỉnh sửa) private void dgvNuocSanXuat_CellClick(object sender, DataGridViewCellEventArgs e) { try { //Nếu ô đang chọn thuộc hàng chứa bản ghi có dữ liệu hợp lý if (e.RowIndex > -1 && (e.RowIndex < SoLuonBanGhi || // (trường 'tên đơn vị' không bị bỏ trống) // thì select cả hàng đó luôn !string.IsNullOrEmpty(TienIch.XoaKhoangTrang(dgvNuocSanXuat.Rows[e.RowIndex].Cells[1].Value.ToString())))) { dgvNuocSanXuat.Rows[e.RowIndex].Selected = true; } } catch (Exception err) { TienIch.ShowLoi("Lỗi", err.Message); } }
private void editGioiTinhNhanVien(DataGridViewCellEventArgs e) { string gioiTinh = TienIch.ToUpperFistCharacter(TienIch.XoaTatCaKhoangTrang(dgvNhanVien.Rows[e.RowIndex].Cells[5].Value.ToString())); if (string.IsNullOrEmpty(gioiTinh)) { //người dùng xóa sạch bản ghi giới tính // thông báo cho người dùng không được để trống ô này TienIch.ShowCanhBao("Cảnh Báo", "Không được để trống ô giới tính của nhân viên. \nCó thể nhập vào 'Nam' - 'nam' hoặc 'Nữ' - 'nữ'\nĐể cập nhật giới tính cho nhân viên"); //cập nhật lại giới tính cho nhân viên ở phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[5].Value = editGioiTinh; TienIch.ShowThanhCong("Khôi phục thành công", "Đã khôi phục lại giới tính của nhân viên " + dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString()); } else { if (gioiTinh.Equals(editGioiTinh)) { //Không có gì khác cả // set lại dữ liệu phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[5].Value = gioiTinh; } else { //dữ liệu người dùng mới nhập khác với dữ liệu ban đầu // cập nhật lại vào trong database bool gender = false; if (gioiTinh.Equals("Nam")) { gender = true; } updateEditedCellValueToDB("GioiTinh", gender == true ? "1" : "0", Int32.Parse(dgvNhanVien.Rows[e.RowIndex].Cells[0].Value.ToString())); //update lại data ở phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[5].Value = gioiTinh; TienIch.ShowThanhCong("Cập nhật thành công", "Đã cập nhật thành công giới tính cho nhân viên " + dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString() + " từ " + editGioiTinh + " sang " + gioiTinh); } } editGioiTinh = ""; }
private void editDiaChiNhanVien(DataGridViewCellEventArgs e) { string diaChi = dgvNhanVien.Rows[e.RowIndex].Cells[6].Value.ToString(); if (string.IsNullOrEmpty(TienIch.XoaKhoangTrang(diaChi))) { if (string.IsNullOrEmpty(editDiaChi)) { } else { //trước đó bản ghi này có địa chỉ và hiện tại ô địa chỉ bị xóa trắng DialogResult result = TienIch.ShowXacThuc("Yêu cầu xác thực", "Bạn vừa xóa hoàn toàn địa chỉ của nhân viên " + dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString() + ". Bạn có muốn lưu thay đổi này hay không?"); if (result == DialogResult.Yes) { //update lại data trong db updateEditedCellValueToDB("DiaChi", "", Int32.Parse(dgvNhanVien.Rows[e.RowIndex].Cells[0].Value.ToString())); //update lại giá trị cho ô địa chỉ ở phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[6].Value = ""; TienIch.ShowThanhCong("Cập nhật thành công", "Đã xóa hoàn toàn địa chỉ của nhân viên này!"); } else { dgvNhanVien.Rows[e.RowIndex].Cells[6].Value = editDiaChi; TienIch.ShowThanhCong("Khôi phục thành công", "Đã khôi phục lại địa chỉ của nhân viên" + dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString() + " về như cũ."); } } } else { //update lại data trong db updateEditedCellValueToDB("DiaChi", TienIch.ToUpperFistCharacter(dgvNhanVien.Rows[e.RowIndex].Cells[6].Value.ToString()), Int32.Parse(dgvNhanVien.Rows[e.RowIndex].Cells[0].Value.ToString())); //update lại giá trị cho ô tên ở phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[6].Value = TienIch.ToUpperFistCharacter(dgvNhanVien.Rows[e.RowIndex].Cells[6].Value.ToString()); } //set lại biến để dùng cho lần edit sau editDiaChi = ""; }
private void cbxNhanVien_Leave(object sender, EventArgs e) { string maNhanVien = TienIch.XoaTatCaKhoangTrang(cbxNhanVien.Text); int idNhanVien; if (Int32.TryParse(maNhanVien, out idNhanVien)) { cbxNhanVien.Text = idNhanVien.ToString(); } else { TienIch.ShowCanhBao("Cảnh Báo", "Vui lòng chọn mã nhân viên có sẵn."); if (cbxNhanVien.Items.Count > 0) { cbxNhanVien.SelectedIndex = 0; } } }
private void btnThem_Click(object sender, EventArgs e) { //ten khong duoc de trong if (string.IsNullOrEmpty(tbTen.Text)) { TienIch.ShowCanhBao("Cảnh báo", "Không được để trống trường tên"); } else { int gender = rbNam.Checked == true ? 1 : 0; string sqlInsertNhanVienMoi = "Insert into NhanVien (IdChuyenMon,IdTrinhDo,Ten,NgaySinh,GioiTinh,DiaChi,DienThoai) values (" + cbxChuyenMon.SelectedValue + ", " + cbxTrinhDo.SelectedValue + ", N'" + tbTen.Text + "', '" + dtpNgaySinh.Value.ToString("yyyy-MM-dd HH:mm:ss.fff") + "' ," + gender + ", N'" + tbDiaChi.Text + "', '" + tbSoDienThoai.Text + "')"; DataBaseFunction.ExcuteSQL(sqlInsertNhanVienMoi); //Load lại dữ liệu trong bảng LoadDataToGridView(); } }
private void cbxMonthTo_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(cbxMonthTo.Text); if (string.IsNullOrEmpty(cbxValue)) { cbxMonthTo.SelectedIndex = 1; } else { if (cbxMonthTo.FindString(cbxValue) >= 0) { //User chọn bản ghi có trong csdl } else { TienIch.ShowCanhBao("Cảnh Báo", "Hãy chọn tháng từ 1 tới 12"); } } }
public async Task <int> Sua(TienIchRequest model) { TienIch tienich = _context.TienIchs.Where(a => a.ID_TienIch == model.ID_TienIch).FirstOrDefault(); if (tienich == null) { throw new Exception("Tiên ích không tồn tại"); } tienich.NoiDungHienThi = model.NoiDungHienThi; tienich.ID_NgonNgu = model.ID_NgonNgu; tienich.Delete = model.Delete; tienich.CreateBy = model.CreateBy; tienich.ID_TienIch = model.ID_TienIch; tienich.ModifyBy = model.ModifyBy; tienich.LastModifiedDate = DateTime.Now; _context.TienIchs.Update(tienich); await _context.SaveChangesAsync(); return(tienich.ID_TienIch); }
private void cbxKhachHang_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(TienIch.XoaKhoangTrang(cbxKhachHang.Text)).ToLower(); if (string.IsNullOrEmpty(cbxValue)) { TienIch.ShowCanhBao("Cảnh báo", "Không được để trống thông tin này!\nCó thể gõ mới Tên Khách Hàng nếu Khách Hàng cần tim không có ở đây"); if (cbxKhachHang.Items.Count > 0) { cbxKhachHang.SelectedIndex = 0; } } else { if (cbxKhachHang.FindString(cbxValue) >= 0) { //User chọn bản ghi có trong csdl } else { DialogResult result = TienIch.ShowXacThuc("Cảnh Báo", "Bạn đang chọn Khách Hàng mới chưa có trong csdl\nBạn Có muốn thêm mới Khách Hàng này vào trong csdl?"); if (result == DialogResult.Yes) { //Thêm mới bản ghi vào trong db string sqlInsertDangDieuChe = "Insert into KhachHang (Ten) values (N'" + cbxValue + "')"; DataBaseFunction.ExcuteSQL(sqlInsertDangDieuChe); LoadDataToCbxKhachHang(); cbxKhachHang.SelectedIndex = cbxKhachHang.Items.Count - 1; TienIch.ShowThanhCong("Thành Công", "Thêm mới thành công"); } else if (result == DialogResult.No) { //xóa text trên ô combobox cbxKhachHang.SelectedIndex = 0; TienIch.ShowThanhCong("Rest data", "Dữ liệu ô Khách Hàng đã bị xóa do bạn không muốn thêm mới Khách Hàng '" + cbxValue + "' vào hệ thống."); } } } }
private void cbxThuoc_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(TienIch.XoaKhoangTrang(cbxThuoc.Text)); if (string.IsNullOrEmpty(cbxValue)) { cbxThuoc.Text = ""; } else { if (cbxThuoc.FindString(cbxValue) >= 0) { //User chọn bản ghi có trong csdl } else { TienIch.ShowCanhBao("Cảnh Báo", "Bạn đang chọn tên thuốc mới chưa có trong csdl"); cbxThuoc.SelectedIndex = 0; } } }
private void editTenNhanVien(DataGridViewCellEventArgs e) { string ten = dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString(); if (string.IsNullOrEmpty(TienIch.XoaKhoangTrang(ten))) { TienIch.ShowCanhBao("Dữ liệu không phù hợp", "Không được để trống tên Nhân Viên"); dgvNhanVien.Rows[e.RowIndex].Cells[1].Value = editTen; } else { //update lại data trong db updateEditedCellValueToDB("Ten", TienIch.ToTitleCase(dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString()), Int32.Parse(dgvNhanVien.Rows[e.RowIndex].Cells[0].Value.ToString())); //update lại giá trị cho ô tên ở phía giao diện người dùng dgvNhanVien.Rows[e.RowIndex].Cells[1].Value = TienIch.ToTitleCase(dgvNhanVien.Rows[e.RowIndex].Cells[1].Value.ToString()); } //set lại biến để dùng cho lần edit sau editTen = ""; }
private void editTrinhDoNhanVien(DataGridViewCellEventArgs e) { string trinhDo = TienIch.XoaKhoangTrang(dgvNhanVien.Rows[e.RowIndex].Cells[3].Value.ToString()).ToLower(); if (string.IsNullOrEmpty(trinhDo)) { TienIch.ShowCanhBao("Cảnh báo", "Không được để trống thông tin này!\nCó thể gõ mới trình độ nếu trình độ bạn cần không có ở đây"); dgvNhanVien.Rows[e.RowIndex].Cells[3].Value = editChuyenMonTrinhDo; } else { if (cbxTrinhDo.FindString(trinhDo) >= 0) { //User chọn bản ghi có trong csdl dgvNhanVien.Rows[e.RowIndex].Cells[3].Value = trinhDo; } else { DialogResult result = TienIch.ShowXacThuc("Cảnh Báo", "Bạn đang chọn Trình Độ mới chưa có trong csdl\n Bạn Có muốn thêm mới Trình Độ này vào trong csdl?"); if (result == DialogResult.Yes) { //Thêm mới bản ghi vào trong db string sqlInsertTrinhDo = "Insert into TrinhDo (Ten) values (N'" + trinhDo + "')"; DataBaseFunction.ExcuteSQL(sqlInsertTrinhDo); LoadDataToCbxTrinhDo(); cbxTrinhDo.SelectedIndex = cbxTrinhDo.Items.Count - 1; TienIch.ShowThanhCong("Thành Công", "Thêm mới thành công"); //cap nhat o phia giao dien nguoi dung dgvNhanVien.Rows[e.RowIndex].Cells[3].Value = trinhDo; } else if (result == DialogResult.No) { //xóa text trên ô combobox dgvNhanVien.Rows[e.RowIndex].Cells[3].Value = editChuyenMonTrinhDo; TienIch.ShowThanhCong("Rest data", "Dữ liệu ô trình độ đã bị xóa do bạn không muốn thêm mới trình độ này vào hệ thống."); } } } editChuyenMonTrinhDo = ""; }
private void cbxHoaDonNhap_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(cbxHoaDonNhap.Text); if (string.IsNullOrEmpty(cbxValue)) { TienIch.ShowCanhBao("Cảnh báo", "Không được để trống thông tin này!"); cbxHoaDonNhap.SelectedIndex = 0; } else { if (cbxHoaDonNhap.FindString(cbxValue) >= 0) { //User chọn bản ghi có trong csdl } else { TienIch.ShowCanhBao("Cảnh Báo", "Bạn đang nhập mã hóa đơn bán chưa có trong csdl"); cbxHoaDonNhap.SelectedIndex = 0; } } }
private void btnThemMoiThuoc_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(tbTen.Text)) { TienIch.ShowCanhBao("Cảnh Báo", "Không được để trống tên thuốc!"); tbTen.Focus(); } else { QuanLyTiemThuocFinalVersion.Model.Entity.Thuoc thuoc = new Model.Entity.Thuoc { Ten = tbTen.Text, IdDonVi = Int32.Parse(cbxDonViTinh.SelectedValue.ToString()), IdNuocSanXuat = Int32.Parse(cbxNuocSanXuat.SelectedValue.ToString()), IdDangDieuChe = Int32.Parse(cbxDangDieuChe.SelectedValue.ToString()), ThanhPhan = tbThanhPhan.Text, SoLuongHienCo = Int32.Parse(tbSoLuonHienCo.Text), GiaBan = float.Parse(lblGiaBan.Text.Replace(" đ", "")), DonGiaNhap = float.Parse(tbGiaNhap.Text), ChongChiDinh = tbChongChiDinh.Text, }; DialogResult result = TienIch.ShowXacThuc("Xác Nhận", "Bạn có chắc chắn muốn thêm thuốc này vào trong tiệm chứ?"); if (result == DialogResult.Yes) { //Them Thuoc Vao Co So Du Lieu AddNewDrugToStore(thuoc); //Them Cong Dung Vao Bang Cong Dung AddCongDungChoThuoc(thuoc.Ten); } else { } } }
private void cbxNhaCungCap_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(cbxNhaCungCap.Text); if (string.IsNullOrEmpty(cbxValue)) { TienIch.ShowCanhBao("Cảnh báo", "Không được để trống thông tin này!\nCó thể gõ mới nhà cung cấp nếu nhà cung cấp bạn cần không có ở đây"); cbxNhaCungCap.SelectedIndex = 0; } else { if (cbxNhaCungCap.FindString(cbxValue) >= 0) { //User chọn bản ghi có trong csdl } else { DialogResult result = TienIch.ShowXacThuc("Cảnh Báo", "Bạn đang chọn Nhà Cung Cấp mới chưa có trong csdl\n Bạn Có muốn thêm mới Nhà Cung Cấp này vào trong csdl?"); if (result == DialogResult.Yes) { //Thêm mới bản ghi vào trong db string sqlInsertTrinhDo = "Insert into NhaCungCap (Ten) values (N'" + cbxValue + "')"; DataBaseFunction.ExcuteSQL(sqlInsertTrinhDo); LoadDataToCbxNhaCungCap(); cbxNhaCungCap.SelectedIndex = cbxNhaCungCap.Items.Count - 1; TienIch.ShowThanhCong("Thành Công", "Thêm mới thành công"); } else if (result == DialogResult.No) { //xóa text trên ô combobox cbxNhaCungCap.SelectedIndex = 0; TienIch.ShowThanhCong("Rest data", "Dữ liệu ô nhà cung cấp đã bị xóa do bạn không muốn thêm mới Nhà Cung Cấp này vào hệ thống."); } } } }
private void btnTimKiem_Click(object sender, EventArgs e) { string maHoaDonNhap = TienIch.XoaTatCaKhoangTrang(cbxHoaDonNhap.Text); string nhanVien = string.IsNullOrEmpty(TienIch.ToTitleCase(cbxNhanVien.Text)) == true ? "" : cbxNhanVien.SelectedValue.ToString(); string nhaCungCap = string.IsNullOrEmpty(TienIch.ToTitleCase(cbxNhaCungCap.Text)) == true ? "" : cbxNhaCungCap.SelectedValue.ToString(); string sqlSearch = "Select hdn.Id, nv.Ten, ncc.Ten, hdn.NgayNhap, hdn.TongTien " + " from HoaDonNhap hdn, NhanVien nv, NhaCungCap ncc " + " where hdn.IdNhanVien=nv.Id and hdn.IdNhaCungCap=ncc.Id " + " and hdn.Id=" + maHoaDonNhap + (nhanVien.Length == 0 ? "" : " and hdn.IdNhanVien=" + nhanVien) + " " + (nhaCungCap.Length == 0 ? "" : " and hdn.IdNhaCungCap=" + nhaCungCap); DataTable tbl = DataBaseFunction.GetDataToTable(sqlSearch); dgvHoaDonNhap.DataSource = null; dgvHoaDonNhap.DataSource = tbl; dgvHoaDonNhap.MultiSelect = false; foreach (DataGridViewColumn col in dgvHoaDonNhap.Columns) { col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; col.ReadOnly = true; } dgvHoaDonNhap.Columns[0].HeaderText = "Mã Hóa Đơn"; dgvHoaDonNhap.Columns[1].HeaderText = "Nhân Viên"; dgvHoaDonNhap.Columns[2].HeaderText = "Nhà Cung Cấp"; dgvHoaDonNhap.Columns[3].HeaderText = "Ngày Nhập"; dgvHoaDonNhap.Columns[4].HeaderText = "Tổng Tiền"; foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { row.Cells[3].Value = DateTime.Parse(row.Cells[3].Value.ToString()).ToString("dd - MM - yyyy"); } }
private void tbThanhPhan_Leave(object sender, EventArgs e) { string thanhPhan = TienIch.ToUpperFistCharacter(tbThanhPhan.Text); tbThanhPhan.Text = thanhPhan; }
private void tbDiaChi_Leave(object sender, EventArgs e) { tbDiaChi.Text = TienIch.ToUpperFistCharacter(tbDiaChi.Text); }
private void btnTimKiem_Click(object sender, EventArgs e) { string tableName = " Thuoc t"; string whereCongDung = ""; string whereThuoc = ""; string whereThanhPhan = ""; string tenThuoc = TienIch.ToTitleCase(cbxThuoc.Text); string thanhPhan = TienIch.XoaKhoangTrang(tbThanhPhan.Text).ToLower(); //xem có tra theo tên thuốc hay không if (!string.IsNullOrEmpty(tenThuoc)) { whereThuoc = " and t.Id = " + DataBaseFunction.GetItemId("Select Id from Thuoc where Ten =N'" + tenThuoc + "'"); } //xem có tra theo công dụng hay không List <int> danhSachCongDung = new List <int>(); foreach (string item in clbCongDung.CheckedItems) { string sqlSelectId = "Select Id from CongDung where Ten=N'" + item + "'"; danhSachCongDung.Add(DataBaseFunction.GetItemId(sqlSelectId)); } if (danhSachCongDung.Count > 0) { whereCongDung = "and t.id in( select IdThuoc from ThuocCongDung tvcd where " + " tvcd.IdCongDung=" + danhSachCongDung.First() + " "; string whereCongDungfinal = ""; foreach (int idCongDung in danhSachCongDung.Skip(1)) { whereCongDungfinal += (" or tvcd.IdCongDung=" + idCongDung + " "); } whereCongDung = whereCongDung + whereCongDungfinal + ")"; } //xem có tra theo thành phần hay không if (!string.IsNullOrEmpty(thanhPhan)) { char[] delimiterChars = { ',' }; string[] thanhPhanItems = thanhPhan.Split(delimiterChars); whereThanhPhan = " and t.Id in( select Id from Thuoc where " + " ThanhPhan like N'%" + thanhPhanItems[0] + "'%"; string whereThanhPhanItem = ""; foreach (string item in thanhPhanItems.Skip(1)) { whereThanhPhanItem += (" and ThanhPhan like N'%" + item + "%' "); } whereThanhPhan = whereThanhPhan + whereThanhPhanItem + ")"; } if (string.IsNullOrEmpty(whereCongDung) && string.IsNullOrEmpty(whereThanhPhan) && string.IsNullOrEmpty(whereThuoc)) { TienIch.ShowCanhBao("Cảnh Báo", "Hãy nhập dữ liệu bạn muốn tìm kiếm để tìm!"); } else { string sqlSelect = "select t.Id, t.Ten, " + " (select dvt.Ten from DonViTinh dvt where dvt.Id = t.IdDonViTinh) as 'Đơn Vị Tính', " + " (select ddc.Ten from DangDieuChe ddc where ddc.Id = t.IdDangDieuChe) as 'Dạng Điều Chế', " + " (select nsx.Ten from NuocSanXuat nsx where nsx.Id = t.IdNuocSanXuat) as 'Nước Sản Xuất', " + " t.ThanhPhan, t.DonGiaNhap, t.GiaBan, t.SoLuongHienCo, t.NgaySanXuat, t.HanSuDung, t.ChongChiDinh " + " from " + tableName + " where 1=1 " + whereThuoc + " " + whereCongDung + " " + whereThanhPhan; DataTable tbl = DataBaseFunction.GetDataToTable(sqlSelect); dgvThuoc.DataSource = tbl; //Cho người dùng thêm dữ liệu trực tiếp dgvThuoc.AllowUserToAddRows = false; dgvThuoc.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2; dgvThuoc.Columns[0].HeaderText = "Mã Thuốc"; dgvThuoc.Columns[1].HeaderText = "Tên Thuốc"; dgvThuoc.Columns[2].HeaderText = "Đơn Vị Tính"; dgvThuoc.Columns[3].HeaderText = "Dạng Điều Chế"; dgvThuoc.Columns[4].HeaderText = "Nước Sản Xuất"; dgvThuoc.Columns[5].HeaderText = "Thành Phần"; dgvThuoc.Columns[6].HeaderText = "Đơn Giá Nhập"; dgvThuoc.Columns[7].HeaderText = "Giá Bán"; dgvThuoc.Columns[8].HeaderText = "Số Lượng Hiện Có"; dgvThuoc.Columns[9].HeaderText = "Ngày Sản Xuất"; dgvThuoc.Columns[10].HeaderText = "Hạn Sử Dụng"; dgvThuoc.Columns[11].HeaderText = "Chống Chỉ Định"; foreach (DataGridViewColumn col in dgvThuoc.Columns) { col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; col.ReadOnly = true; } } }
private void cbxTenThuoc_Leave(object sender, EventArgs e) { string cbxValue = TienIch.ToTitleCase(cbxTenThuoc.Text); cbxTenThuoc.Text = cbxValue; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnNhap_Click(object sender, EventArgs e) { if (dgvHoaDonNhap.Rows.Count > 0) { int idNhanVien = Int32.Parse(cbxNhanVien.Text); int idNhaCungCap = DataBaseFunction.GetItemId("Select * From NhaCungCap where Ten=N'" + cbxNhaCungCap.Text + "'"); DateTime ngayNhap = dtpNgayNhap.Value; float tongTien = 0; foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { float donGia = float.Parse(row.Cells[2].Value.ToString()); float giaBan = donGia * (float)1.1; // cau 3 //thuốc này chưa có trong db if (cbxTenThuoc.FindString(row.Cells[0].Value.ToString()) == -1) { Model.Entity.Thuoc thuocMoi = new Model.Entity.Thuoc { Ten = cbxTenThuoc.Text, SoLuongHienCo = Int32.Parse(row.Cells[1].Value.ToString()), DonGiaNhap = donGia, GiaBan = donGia * (float)1.1, NgaySanXuat = dtpNgaySanXuat.Value, HanSuDung = dtpHanSuDung.Value }; string sqlThemThuocMoi = "Insert into Thuoc (Ten,SoLuongHienCo,DonGiaNhap,GiaBan,NgaySanXuat,HanSuDung) " + "values (N'" + thuocMoi.Ten + "'," + thuocMoi.SoLuongHienCo + "," + thuocMoi.DonGiaNhap + "," + thuocMoi.GiaBan + ",'" + thuocMoi.NgaySanXuat.ToString("yyyy-MM-dd HH:mm:ss.fff") + "','" + thuocMoi.HanSuDung.ToString("yyyy-MM-dd HH:mm:ss.fff") + "')"; DataBaseFunction.ExcuteSQL(sqlThemThuocMoi); } //thuốc này đã có trong db //cập nhật thông tin cho thuốc else { Model.Entity.Thuoc thuocCu = new Model.Entity.Thuoc { Id = DataBaseFunction.GetItemId("Select * from Thuoc where Ten=N'" + row.Cells[0].Value.ToString() + "'"), SoLuongHienCo = Int32.Parse(row.Cells[1].Value.ToString()), DonGiaNhap = donGia, GiaBan = giaBan, NgaySanXuat = DateTime.ParseExact(row.Cells[5].Value.ToString(), "dd - MM - yyyy", null), HanSuDung = DateTime.ParseExact(row.Cells[6].Value.ToString(), "dd - MM - yyyy", null) }; float soLuongCu = DataBaseFunction.GetItemId("Select SoLuongHienCo from Thuoc where Id=" + thuocCu.Id); float soLuongMoi = thuocCu.SoLuongHienCo + soLuongCu; string sqlUpdateThuocCu = "Update Thuoc set SoLuongHienCo=" + soLuongMoi + " , DonGiaNhap=" + thuocCu.DonGiaNhap + " , GiaBan=" + thuocCu.GiaBan + " , NgaySanXuat='" + thuocCu.NgaySanXuat.ToString("yyyy-MM-dd HH:mm:ss.fff") + "' , HanSuDung='" + thuocCu.HanSuDung.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'" + " where Id=" + thuocCu.Id; DataBaseFunction.ExcuteSQL(sqlUpdateThuocCu); } tongTien += donGia * (1 - (float.Parse(row.Cells[3].Value.ToString()) / 100)); } //.ToString("yyyy-MM-dd HH:mm:ss.fff") Model.Entity.HoanDonNhap hoanDonNhap = new Model.Entity.HoanDonNhap { IdNhaCungCap = idNhaCungCap, IdNhanVien = idNhanVien, NgayNhap = ngayNhap, TongTien = tongTien }; string sqlInsert = "Insert into HoaDonNhap (IdNhanVien,IdNhaCungCap,NgayNhap,TongTien) " + "values(" + hoanDonNhap.IdNhanVien + "," + hoanDonNhap.IdNhaCungCap + ",'" + hoanDonNhap.NgayNhap.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," + hoanDonNhap.TongTien + ")"; DataBaseFunction.ExcuteSQL(sqlInsert); string sqlGetLast = "SELECT TOP 1 Id FROM HoaDonNhap ORDER BY ID DESC"; int idHoaDonNhap = DataBaseFunction.GetItemId(sqlGetLast); foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { int idThuoc = DataBaseFunction.GetItemId("Select Id from Thuoc where Ten=N'" + row.Cells[0].Value.ToString() + "'"); HoaDonNhapDetail hoaDonNhapDetail = new HoaDonNhapDetail { IdHoaDonNhap = idHoaDonNhap, IdThuoc = idThuoc, DonGia = float.Parse(row.Cells[2].Value.ToString()), KhuyenMai = float.Parse(row.Cells[3].Value.ToString()), ThanhTien = float.Parse(row.Cells[2].Value.ToString()) * (1 - (float.Parse(row.Cells[3].Value.ToString()) / 100)) }; string sqlInsertHoaDonNhapDetail = "Insert into HoaDonNhapDetail (IdHoaDonNhap, IdThuoc, SoLuongNhap, DonGia, KhuyenMai, ThanhTien)\n" + " values (" + hoaDonNhapDetail.IdHoaDonNhap + "," + hoaDonNhapDetail.IdThuoc + "," + hoaDonNhapDetail.SoLuongNhap + "," + hoaDonNhapDetail.DonGia + "," + hoaDonNhapDetail.KhuyenMai + "," + hoaDonNhapDetail.ThanhTien + ")"; DataBaseFunction.ExcuteSQL(sqlInsertHoaDonNhapDetail); } //chuyen qua man hinh hoa don nhap? dgvHoaDonNhap.DataSource = MakeTableWithAutoIncrement(); cbxNhaCungCap.Enabled = true; dtpNgayNhap.Enabled = true; cbxTenThuoc.Text = ""; LoadDataToCbxTenThuoc(); } else { TienIch.ShowCanhBao("Cảnh Báo", "Hóa đơn nhập đang bị để trống!"); } }
private void btnThem_Click(object sender, EventArgs e) { cbxNhaCungCap.Enabled = false; dtpNgayNhap.Enabled = false; string tenThuoc = TienIch.ToTitleCase(cbxTenThuoc.Text); if (string.IsNullOrEmpty(tenThuoc)) { TienIch.ShowCanhBao("Cảnh Báo", "Phải nhập tên thuốc."); cbxTenThuoc.Text = tenThuoc; cbxTenThuoc.Focus(); cbxNhaCungCap.Enabled = true; dtpNgayNhap.Enabled = true; } else { int flagFoundIndex = -1; //kiem tra trong bang da co thuoc nay chua foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { if (row.Cells[0].Value.ToString().Equals(tenThuoc)) { flagFoundIndex = row.Index; break; } } //loai thuoc nay da co trong bang if (flagFoundIndex != -1) { //hoi nguoi dung muon thay the thong tin cu trong bang hay cap nhat thong tin moi DialogResult result = MessageBox.Show("Tên Thuốc " + tenThuoc + " đã tồn tại trong bảng!\n" + "Chọn [Yes] để cập nhật thông tin cho bản ghi thuốc hiện có trong bảng(số lượng nhập, nhà cung cấp, ngày nhập sẽ được cập nhật).\n" + "Chọn [No] để thay thế bản ghi hiện có trong bảng.\n" + "Chọn [Cancel] để hủy.", "Cảnh Báo", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); int soLuongNhap_moi = Int32.Parse(tvSoLuongNhap.Text); if (result == DialogResult.Yes) { int soLuongNhap_cu = Int32.Parse(dgvHoaDonNhap.Rows[flagFoundIndex].Cells[1].Value.ToString()); dgvHoaDonNhap.Rows[flagFoundIndex].Cells[1].Value = (soLuongNhap_cu + soLuongNhap_moi).ToString(); foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { row.Cells[4].Value = cbxNhaCungCap.Text; row.Cells[5].Value = dtpNgayNhap.Value.ToString("dd - MM - yyyy"); } } else if (result == DialogResult.No) { dgvHoaDonNhap.Rows[flagFoundIndex].Cells[1].Value = soLuongNhap_moi; dgvHoaDonNhap.Rows[flagFoundIndex].Cells[2].Value = tvDonGia.Text; dgvHoaDonNhap.Rows[flagFoundIndex].Cells[3].Value = tbKhuyenMai.Text; dgvHoaDonNhap.Rows[flagFoundIndex].Cells[4].Value = cbxNhaCungCap.Text; dgvHoaDonNhap.Rows[flagFoundIndex].Cells[5].Value = dtpNgayNhap.Value.ToString("dd - MM - yyyy"); dgvHoaDonNhap.Rows[flagFoundIndex].Cells[6].Value = dtpNgaySanXuat.Value.ToString("dd - MM - yyyy"); dgvHoaDonNhap.Rows[flagFoundIndex].Cells[7].Value = dtpHanSuDung.Value.ToString("dd - MM - yyyy"); foreach (DataGridViewRow row in dgvHoaDonNhap.Rows) { row.Cells[4].Value = cbxNhaCungCap.Text; row.Cells[5].Value = dtpNgayNhap.Value.ToString("dd - MM - yyyy"); } } else if (result == DialogResult.Cancel) { if (dgvHoaDonNhap.Rows.Count > 0) { cbxNhaCungCap.Text = dgvHoaDonNhap.Rows[0].Cells[4].Value.ToString(); } } } //loai thuoc nay chua co trong bang else if (flagFoundIndex == -1) { DataTable tblThuoc = (DataTable)dgvHoaDonNhap.DataSource; DataRow row = tblThuoc.NewRow(); row["Tên Thuốc"] = tenThuoc; row["Số Lượng Nhập"] = tvSoLuongNhap.Text; row["Đơn Giá"] = tvDonGia.Text; row["Khuyến Mại"] = tbKhuyenMai.Text; row["Nhà Cung Cấp"] = cbxNhaCungCap.Text; row["Ngày Nhập"] = dtpNgayNhap.Value.ToString("dd - MM - yyyy"); row["Ngày Sản Xuất"] = dtpNgaySanXuat.Value.ToString("dd - MM - yyyy"); row["Hạn Sử Dụng"] = dtpHanSuDung.Value.ToString("dd - MM - yyyy"); tblThuoc.Rows.Add(row); tblThuoc.AcceptChanges(); } } }
private void tbChongChiDinh_Leave(object sender, EventArgs e) { tbChongChiDinh.Text = TienIch.XoaKhoangTrang(tbChongChiDinh.Text); }
private void tbThanhPhan_Leave(object sender, EventArgs e) { tbThanhPhan.Text = TienIch.XoaKhoangTrang(tbThanhPhan.Text); }
//Khi người dùng ấn vào nút xóa private void btnXoa_Click(object sender, EventArgs e) { //biến chứa số lượng phần tử trong bảng hiện bên phía giao diện người dùng int sizeOfTable = dgvNuocSanXuat.Rows.Count; // danh sách các bản ghi được người dùng chọn List <DataGridViewRow> selectedRows = new List <DataGridViewRow>(); // chạy vòng for duyệt qua hết các bản ghi trong bảng dữ liệu đang được hiển thị // nếu có bản ghi nào đang được chọn thì thêm vào danh sách các bản ghi được chọn foreach (DataGridViewRow row in dgvNuocSanXuat.Rows) { if (row.Selected) { selectedRows.Add(row); } } // Danh sách các bản ghi được chọn có số lượng lớn hơn không if (selectedRows.Count > 0) { //Hiển thị thông báo yêu cầu người dùng xác thực lựa chọn có xóa hay không? DialogResult result = TienIch.ShowXacThuc("Xác Thực", "Bạn có chắc chắn muốn xóa vĩnh viễn các bản ghi đã chọn?"); //Người dùng chọn có if (result == DialogResult.Yes) { List <int> removeIds = new List <int>(); foreach (DataGridViewRow row in selectedRows) { // bản ghi hiện tại phải khác bản ghi cuối cùng trong bảng //(vì nó luôn luôn là null nên cần tránh) if (row.Index != dgvNuocSanXuat.Rows[sizeOfTable - 1].Index) { //Xác thực xem bản ghi này đã có trong database chưa? //Neu ban ghi nay chua duoc cap nhat vao trong db thi cot Id se không có giá trị //Nếu cột Id có giá trị và khác rỗng thì thực hiện xóa khỏi db if (!string.IsNullOrEmpty(row.Cells[0].Value.ToString())) { if (!string.IsNullOrEmpty(row.Cells[0].Value.ToString())) { string sqlDelete = "Delete From NuocSanXuat where Id=" + row.Cells[0].Value; DataBaseFunction.Delete(sqlDelete); } //thực hiện lưu vị trí bản ghi cần xóa để xóa bản ghi ở phía giao diện người dùng removeIds.Add(Int32.Parse(row.Cells[0].Value.ToString())); // biến flag được dùng để lưu vị trí của phần tử trong mảng // danh sách các bản ghi có thực hiện chỉnh sửa có giá trị = editedText, int flag = editedRows.FindIndex(x => x.Ten.Equals(row.Cells[1])); // nếu flag > 0 tức mảng chứa phần tử này // thực hiện xóa Đối tượng đó khỏi danh sách if (flag > 0) { editedRows.RemoveAt(flag); } } //Nếu cột Id khộng có giá trị thì tìm trong list insert xem đã có phần tử này chưa else { //Nếu list insert mới có chứa thì xóa if (insertRows.Contains(row.Cells[1].Value.ToString())) { insertRows.Remove(row.Cells[1].Value.ToString()); } dgvNuocSanXuat.Rows.RemoveAt(row.Index); } } } foreach (int giaTriIdCanTimDeXoa in removeIds) { foreach (DataGridViewRow jow in dgvNuocSanXuat.Rows) { if (Int32.Parse(jow.Cells[0].Value.ToString()) == giaTriIdCanTimDeXoa) { dgvNuocSanXuat.Rows.RemoveAt(jow.Index); break; } } } TienIch.ShowThanhCong("Thành Công", "Đã thực hiện xóa thành công!"); } //Người dùng chọn không else if (result == DialogResult.No) { TienIch.ShowThanhCong("Thông Báo", "Không có bản ghi nào bị xóa khỏi cơ sở dữ liệu cả!"); } } // Chưa có bản ghi nào được chọn else { TienIch.ShowCanhBao("Cảnh Báo", "Vui lòng chọn bản ghi muốn xóa"); } }
protected void btnThem_ServerClick(object sender, EventArgs e) { try { bool active = drTrangThai.SelectedIndex == 0 ? true : false; xlkh.ThemKhachHang(txtTaiKhoan.Text.Trim(), txtHoTen.Text.Trim(), txtDiaChi.Text.Trim(), txtEmail.Text.Trim(), DateTime.Parse(txtNgaySinh.Text.Trim()), txtSoDienThoai.Text.Trim(), TienIch.MaHoaMD5(txtMatKhau.Text.Trim()), DateTime.Now, active); Response.Redirect(Request.Url.ToString()); } catch { ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Thao tác không thành công!');", true); } }
//event xảy ra khi kết thúc chỉnh sửa 1 ô trong bảng private void dgvNuocSanXuat_CellEndEdit(object sender, DataGridViewCellEventArgs e) { //bản ghi đang xét tới phải khác bản ghi cuối cùng trong bảng if (e.RowIndex != (dgvNuocSanXuat.Rows.Count - 1)) { //nếu ô tên vừa sửa đổi có giá trị là rỗng hoặc bị xóa hoàn toàn giá trị // hiện ô cảnh báo hỏi người dùng muốn xóa hoàn toàn bản ghi này hay ntn? if (string.IsNullOrEmpty(TienIch.XoaTatCaKhoangTrang(dgvNuocSanXuat.Rows[e.RowIndex].Cells[1].Value.ToString()))) { //kiểm tra Id // id khác rỗng if (!string.IsNullOrEmpty(dgvNuocSanXuat.Rows[e.RowIndex].Cells[0].Value.ToString())) { DialogResult result = TienIch.ShowXacThuc("Cảnh Báo", "Bạn có muốn xóa hoàn toàn Nước Sản Xuất:'" + editText + "' khỏi database?"); if (result == DialogResult.Yes) { // thực hiện xóa khỏi database string sqlDelete = "Delete From NuocSanXuat where Id=" + dgvNuocSanXuat.Rows[e.RowIndex].Cells[0].Value; DataBaseFunction.Delete(sqlDelete); dgvNuocSanXuat.Rows.RemoveAt(e.RowIndex); TienIch.ShowThanhCong("Đã xóa!", "Bản ghi '" + editText + "' đã bị xóa khỏi database!"); } else if (result == DialogResult.No) { //Khôi phục dữ liệu về như cũ dgvNuocSanXuat.Rows[e.RowIndex].Cells[1].Value = editText; TienIch.ShowThanhCong("Đã khôi phục!", "Bản ghi '" + editText + "' chưa bị xóa khỏi database!"); } } //id bị rỗng else { dgvNuocSanXuat.Rows.RemoveAt(e.RowIndex); } } // nếu ô vừa sửa đổi khác rỗng và null else { //lấy giá trị của ô tên khi kết thúc edit text string editedText = TienIch.XoaKhoangTrang(dgvNuocSanXuat.Rows[e.RowIndex].Cells[1].Value.ToString()); //kiểm tra id //id khác rỗng if (!string.IsNullOrEmpty(TienIch.XoaTatCaKhoangTrang(dgvNuocSanXuat.Rows[e.RowIndex].Cells[0].Value.ToString()))) { // nếu giá trị của ô vừa chỉnh sửa khác với giá trị trước đó đã lưu // thì thực hiện lưu vị trí của bản ghi vừa chỉnh sửa để sau này thực hiện update cho nhanh if (!editText.Equals(editedText)) { // biến flag được dùng để lưu vị trí của phần tử trong mảng // danh sách các bản ghi có thực hiện chỉnh sửa có giá trị = editedText, int flag = editedRows.FindIndex(x => x.Ten.Equals(editedText)); // nếu flag = -1 tức mảng chưa chứa phần tử này // thực hiện lưu Đối tượng đó vào danh sách if (flag < 0) { editedRows.Add(new NuocSanXuat { Id = Int32.Parse(dgvNuocSanXuat.Rows[e.RowIndex].Cells[0].Value.ToString()), Ten = editedText }); } } //giống thì không làm gì cả } //id rỗng else { //kiểm tra xem giá trị cũ có nằm trong list insert mới không? // editText là biến chứa giá trị cũ trước khi sửa đổi // editedText là biến chứa giá trị mới đã sửa đổi //Có chứa giá trị này trong list insert, thực hiện xóa khỏi list insert if (insertRows.Contains(editText)) { insertRows.Remove(editText); } // thêm vào danh sách insert if (!insertRows.Contains(editedText)) { insertRows.Add(editedText); } } } } //gắn lại giá trị cho editText về rỗng để thực hiện so sánh lần sau editText = ""; }