/// <summary>
 /// Kiểm tra và thêm mới BaocaokhacphucloiChitiet
 /// </summary>
 /// <param name="entity">Entity</param>
 /// <returns>Int32: ID của BaocaokhacphucloiChitiet Mới Thêm Vào</returns>
 public static Int32 Add(BaocaokhacphucloiChitietEntity entity)
 {
     checkLogic(entity);
     checkDuplicate(entity, false);
     checkFK(entity);
     return BaocaokhacphucloiChitietDAL.Add(entity);
 }
 /// <summary>
 /// Kiểm tra và chỉnh sửa BaocaokhacphucloiChitiet
 /// </summary>
 /// <param name="entity">BaocaokhacphucloiChitietEntity</param>
 /// <returns>bool:kết quả thực hiện</returns>
 public static bool Edit(BaocaokhacphucloiChitietEntity entity)
 {
     checkExist(entity.PK_iBaocaokhacphucloiChitietID);
     checkLogic(entity);
     checkDuplicate(entity, true);
     checkFK(entity);
     return BaocaokhacphucloiChitietDAL.Edit(entity);
 }
 /// <summary>
 /// Kiểm tra tồn tại khóa ngoại
 /// </summary>
 /// <param name="entity">BaocaokhacphucloiChitietEntity:entity</param>
 private static void checkFK(BaocaokhacphucloiChitietEntity entity)
 {
     BaocaokhacphucloiEntity oBaocaokhacphucloi = BaocaokhacphucloiDAL.GetOne(entity.FK_iBaocaokhacphucloiID);
     if (oBaocaokhacphucloi==null)
     {
         throw new Exception("Không tìm thấy :FK_iBaocaokhacphucloiID");
     }
 }
 /// <summary>
 /// Kiểm tra logic Entity
 /// </summary>
 /// <param name="entity">BaocaokhacphucloiChitietEntity: entity</param>
 private static void checkLogic(BaocaokhacphucloiChitietEntity entity)
 {
     if (String.IsNullOrEmpty(entity.sLoisai))
         throw new Exception(EX_SLOISAI_EMPTY);
     if (String.IsNullOrEmpty(entity.sBienphapkhacphuc))
         throw new Exception(EX_SBIENPHAPKHACPHUC_EMPTY);
     if (entity.iKetqua < 0)
         throw new Exception(EX_IKETQUA_INVALID);
     if (entity.FK_iBaocaokhacphucloiID < 0)
         throw new Exception(EX_FK_IBAOCAOKHACPHUCLOIID_INVALID);
 }
 /// <summary>
 /// Kiểm tra trùng lặp bản ghi
 /// </summary>
 /// <param name="entity">BaocaokhacphucloiChitietEntity: BaocaokhacphucloiChitietEntity</param>
 private static void checkDuplicate(BaocaokhacphucloiChitietEntity entity,bool checkPK)
 {
     /*
     Example
     List<BaocaokhacphucloiChitietEntity> list = BaocaokhacphucloiChitietDAL.GetAll();
     if (list.Exists(
         delegate(BaocaokhacphucloiChitietEntity oldEntity)
         {
             bool result =oldEntity.FIELD.Equals(entity.FIELD, StringComparison.OrdinalIgnoreCase);
             if(checkPK)
                 result=result && oldEntity.PK_iBaocaokhacphucloiChitietID != entity.PK_iBaocaokhacphucloiChitietID;
             return result;
         }
     ))
     {
         list.Clear();
         throw new Exception(EX_FIELD_EXISTED);
     }
     */
 }