示例#1
0
 public CoreResult Update(DichVuChiDinh entity, int?userId = default(int?), bool checkPermission = false)
 {
     throw new NotImplementedException();
 }
示例#2
0
 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));
     }
 }