public CoreResult Delete(int key, int?userId = default(int?), bool checkPermission = false) { try { #region Kiểm tra quyền thao tác var result = this.CheckPermission(userId, checkPermission, ActionType.Delete); #endregion if (result.Item1) { var _kiemtrathanhtoan = new ThanhToanProvider().KiemTraThanhToan(key); if (!_kiemtrathanhtoan) { this.CreateConnection(); this.sqlHelper.CommandType = CommandType.StoredProcedure; SqlDataReader dr = this.sqlHelper.ExecuteReader("[RaVien_Delete]", new string[] { "@patientsID" }, new object[] { key }); CoreResult returnValue = this.GetCustomMessage(dr, ActionType.Delete); if (returnValue != null) { return(returnValue); } else { return(this.GetResultFromSqlDataReader(dr, ActionType.Delete)); } } else { //bệnh nhân đã thanh toán return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = "Bệnh nhân đã thanh toán, không được sửa ra viện." }); } } else { return(result.Item2); } } catch (Exception e) { this.sqlHelper.Close(); return(this.GetResultFromStatusCode(CoreStatusCode.Exception, ActionType.Delete, e)); } }
public CoreResult Update(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.Edit); #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 _kiemtrangayravien = this.KiemtraNgayRavien(entity.patientsID, entity.NgayRaVien); if (_kiemtrangayravien.Item1) { //kiểm tra thanh toán(đã thanh toán, không cho cập nhật ra viện) var _kiemtrathanhtoan = new ThanhToanProvider().KiemTraThanhToan(entity.patientsID); if (!_kiemtrathanhtoan) { #region Cập nhật 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", "@userIDUpdated" }; 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.userIDUpdated }; 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_Update]", paramsName.ToArray(), paramsValue.ToArray()); CoreResult returnValue = this.GetCustomMessage(dr, ActionType.Edit); if (returnValue != null) { return(returnValue); } else { return(this.GetResultFromSqlDataReader(dr, ActionType.Edit)); } #endregion } else { //bệnh nhân đã thanh toán return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = "Bệnh nhân đã thanh toán, không được sửa ra viện." }); } } else { return(new CoreResult { StatusCode = CoreStatusCode.Failed, Message = _kiemtrangayravien.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.Edit, e)); } }