public CoreResult Update(DichVuChiDinh entity, int?userId = default(int?), bool checkPermission = false) { throw new NotImplementedException(); }
public CoreResult Insert(RaVien entity, int?userId = default(int?), bool checkPermission = false) { try { #region Kiểm tra quyền thao tác var result = this.CheckPermission(userId, checkPermission, ActionType.Insert); #endregion if (result.Item1) { //kiểm tra Id bộ phận có phải là ID bộ phận trong khám bệnh cuối cùng không if (entity.DepartmentID_TK == new KhamBenh().GetIDBoPhan_TrongKhamBenhCuoiCung(entity.patientsID)) { //kiểm tra ngày ra viện var _kiemtraravien = this.KiemtraNgayRavien(entity.patientsID, entity.NgayRaVien); if (_kiemtraravien.Item1) { //kiểm tra dịch vụ cận lâm sàng chưa thực hiện var _kiemtracls = new DichVuChiDinh().KiemtraCanLamSangChuaThucHien(entity.patientsID); if (!_kiemtracls) { //kiểm tra thuốc đã kê đơn nhưng chưa lên phiếu lĩnh var _kiemtrathuoc = new ThuocChiDinh().KiemTraThuocChuaLenPhieuLinh(entity.patientsID); if (!_kiemtrathuoc) { #region Thêm mới ra viện this.CreateConnection(); this.sqlHelper.CommandType = CommandType.StoredProcedure; List <string> paramsName = new List <string> { "@patientsID", "@NgayRaVien", "@SoNgayDT", "@KetQuaDT", "@HinhThucRV", "@SoRaVien", "@SoLuuTru", "@MaYTe", "@DepartmentID_TK", "@PhuongPhapDT", "@TinhTrangRaVien", "@DienBienLamSang", "@KetQuaCanLamSang", "@ChuyenKhoa_Code", "@LoiDan", "@GhiChu", "@userIDCreated" }; List <object> paramsValue = new List <object> { entity.patientsID, entity.NgayRaVien, entity.SoNgayDT, entity.KetQuaDT, entity.HinhThucRV, entity.SoRaVien, entity.SoLuuTru, entity.MaYTe, entity.DepartmentID_TK, entity.PhuongPhapDT, entity.TinhTrangRaVien, entity.DienBienLamSang, entity.KetQuaCanLamSang, entity.ChuyenKhoa_Code, entity.LoiDan, entity.GhiChu, entity.userIDCreated }; if (entity.HinhThucRV == (byte)Library.Constants.HinhThucRaVien.ChuyenVien) { //chuyen vien paramsName.AddRange(new List <string> { "@MaBenhVien_CV", "@TinhTrangCV", "@LyDoCV", "@HinhThucCV", "@HanCV", "@ChanDoanCV", "@NguoiChuyen", "@KetQua" }); paramsValue.AddRange(new List <object> { entity.ThongtinChuyenvien.patientsID, entity.ThongtinChuyenvien.MaBenhVien_CV, entity.ThongtinChuyenvien.TinhTrangCV, entity.ThongtinChuyenvien.LyDoCV, entity.ThongtinChuyenvien.HinhThucCV, entity.ThongtinChuyenvien.HanCV, entity.ThongtinChuyenvien.ChanDoanCV, entity.ThongtinChuyenvien.NguoiChuyen, entity.ThongtinChuyenvien.KetQua }); } SqlDataReader dr = this.sqlHelper.ExecuteReader("[RaVien_Insert]", paramsName.ToArray(), paramsValue.ToArray()); CoreResult returnValue = this.GetCustomMessage(dr, ActionType.Insert); if (returnValue != null) { return(returnValue); } else { return(this.GetResultFromSqlDataReader(dr, ActionType.Insert)); } #endregion } else { return(new CoreResult { //có thuốc đã kê đơn nhưng chưa lên phiếu lĩnh StatusCode = CoreStatusCode.Failed, Message = "Bệnh nhân có thuốc đã kê đơn nhưng chưa lên phiếu lĩnh" }); } } else { //có dịch vụ cận lâm sàng đã chỉ định nhưng chưa thực hiện return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = "Bệnh nhân có dịch vụ cận lâm sàng nhưng chưa thực hiện" }); } } else { return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = _kiemtraravien.Item2 }); } } else { //không phải ID bộ phận cuối cùng var bophan = new Department().GetByID(entity.DepartmentID_TK); string tenbophan = bophan == null ? string.Empty : bophan.DepartmentsName; return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = string.Format("\"{0}\" không phải là bộ phận khám bệnh cuối cùng, không được cho thêm ra viện cho bệnh nhân này.", tenbophan) }); } } else { return(result.Item2); } } catch (Exception e) { this.sqlHelper.Close(); return(this.GetResultFromStatusCode(CoreStatusCode.Exception, ActionType.Insert, e)); } }