private bool CheckInfo() { if (txtMaLoThuoc.Text.Trim() == string.Empty) { MsgBox.Show(this.Text, "Vui lòng nhập mã lô thuốc.", IconType.Information); txtMaLoThuoc.Focus(); return(false); } if (txtTenLoThuoc.Text.Trim() == string.Empty) { MsgBox.Show(this.Text, "Vui lòng nhập tên lô thuốc.", IconType.Information); txtTenLoThuoc.Focus(); return(false); } if (cboThuoc.SelectedValue == null || cboThuoc.Text.Trim() == string.Empty) { MsgBox.Show(this.Text, "Vui lòng chọn thuốc.", IconType.Information); cboThuoc.Focus(); return(false); } if (dtpkNgaySanXuat.Value >= dtpkNgayHetHan.Value) { MsgBox.Show(this.Text, "Ngày sản xuất phải nhỏ hơn ngày hết hạn", IconType.Information); dtpkNgaySanXuat.Focus(); return(false); } if (!_isNew) { int soLuongNhap = (int)numSoLuongNhap.Value * (int)numSoLuongQuiDoi.Value; Result rs = LoThuocBus.GetLoThuoc(_loThuoc.LoThuocGUID.ToString()); if (!rs.IsOK) { MsgBox.Show(this.Text, rs.GetErrorAsString("LoThuocBus.GetLoThuoc"), IconType.Error); return(false); } int soLuongXuat = (rs.QueryResult as LoThuoc).SoLuongXuat; if (soLuongNhap < soLuongXuat) { MsgBox.Show(this.Text, "Số lượng nhập phải lớn hơn hoặc bằng số lượng xuất.", IconType.Information); numSoLuongNhap.Focus(); return(false); } } string loThuocGUID = _isNew ? string.Empty : _loThuoc.LoThuocGUID.ToString(); Result result = LoThuocBus.CheckLoThuocExistCode(loThuocGUID, txtMaLoThuoc.Text); if (result.Error.Code == ErrorCode.EXIST || result.Error.Code == ErrorCode.NOT_EXIST) { if (result.Error.Code == ErrorCode.EXIST) { MsgBox.Show(this.Text, "Mã lô thuốc này đã tồn tại rồi. Vui lòng nhập mã khác.", IconType.Information); txtMaLoThuoc.Focus(); return(false); } } else { MsgBox.Show(this.Text, result.GetErrorAsString("LoThuocBus.CheckLoThuocExistCode"), IconType.Error); return(false); } return(true); }
private void OnDeleteLoThuoc() { if (_dictLoThuoc == null) { return; } List <string> deletedLoThuocList = new List <string>(); List <DataRow> deletedRows = _dictLoThuoc.Values.ToList(); if (deletedRows.Count > 0) { foreach (DataRow row in deletedRows) { string key = row["LoThuocGUID"].ToString(); Result rs = LoThuocBus.GetLoThuoc(key); if (!rs.IsOK) { MsgBox.Show(Application.ProductName, rs.GetErrorAsString("LoThuocBus.GetLoThuoc"), IconType.Error); Utility.WriteToTraceLog(rs.GetErrorAsString("LoThuocBus.GetLoThuoc")); return; } LoThuoc lt = rs.QueryResult as LoThuoc; if (lt.SoLuongXuat > 0) { MsgBox.Show(Application.ProductName, string.Format("Lô thuốc: '{0}' này đã xuất rồi không thể xóa.", lt.TenLoThuoc), IconType.Information); return; } } if (MsgBox.Question(Application.ProductName, "Bạn có muốn xóa những lô thuốc mà bạn đã đánh dấu ?") == DialogResult.Yes) { List <string> noteList = new List <string>(); foreach (DataRow row in deletedRows) { string loThuocGUID = row["LoThuocGUID"].ToString(); string maLoThuoc = row["MaLoThuoc"].ToString(); dlgLyDoXoa dlg = new dlgLyDoXoa(maLoThuoc, 3); if (dlg.ShowDialog(this) == DialogResult.OK) { noteList.Add(dlg.Notes); deletedLoThuocList.Add(loThuocGUID); } } if (deletedLoThuocList.Count > 0) { Result result = LoThuocBus.DeleteLoThuoc(deletedLoThuocList, noteList); if (result.IsOK) { DataTable dt = dgLoThuoc.DataSource as DataTable; if (dt == null || dt.Rows.Count <= 0) { return; } foreach (string key in deletedLoThuocList) { DataRow[] rows = dt.Select(string.Format("LoThuocGUID='{0}'", key)); if (rows == null || rows.Length <= 0) { continue; } dt.Rows.Remove(rows[0]); _dictLoThuoc.Remove(key); rows = _dtTemp.Select(string.Format("LoThuocGUID='{0}'", key)); if (rows != null && rows.Length > 0) { _dtTemp.Rows.Remove(rows[0]); } } } else { MsgBox.Show(Application.ProductName, result.GetErrorAsString("LoThuocBus.DeleteLoThuoc"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("LoThuocBus.DeleteLoThuoc")); } } } } else { MsgBox.Show(Application.ProductName, "Vui lòng đánh dấu những lô thuốc cần xóa.", IconType.Information); } }