Exemple #1
0
 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));
     }
 }
Exemple #2
0
 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));
     }
 }