/// <summary> /// Kiểm tra và thêm mới User /// </summary> /// <param name="entity">Entity</param> /// <returns>Int32: ID của User Mới Thêm Vào</returns> public static Int32 Add(UserEntity entity) { checkLogic(entity); checkDuplicate(entity, false); checkFK(entity); return UserDAL.Add(entity); }
/// <summary> /// Kiểm tra và chỉnh sửa User /// </summary> /// <param name="entity">UserEntity</param> /// <returns>bool:kết quả thực hiện</returns> public static bool Edit(UserEntity entity) { checkExist(entity.iUserID); checkLogic(entity); checkDuplicate(entity, true); checkFK(entity); return UserDAL.Edit(entity); }
/// <summary> /// Kiểm tra tồn tại khóa ngoại /// </summary> /// <param name="entity">UserEntity:entity</param> private static void checkFK(UserEntity entity) { GroupEntity oGroup = GroupDAL.GetOne(entity.iGroupID); if (oGroup==null) { throw new Exception("Không tìm thấy :iGroupID"); } }
/// <summary> /// Kiểm tra logic Entity /// </summary> /// <param name="entity">UserEntity: entity</param> private static void checkLogic(UserEntity entity) { if (String.IsNullOrEmpty(entity.sUsername)) throw new Exception(EX_SUSERNAME_EMPTY); if (String.IsNullOrEmpty(entity.sPassword)) throw new Exception(EX_SPASSWORD_EMPTY); if (String.IsNullOrEmpty(entity.sEmail)) throw new Exception(EX_SEMAIL_EMPTY); if (DateTime.Parse("1753-01-01")>entity.tLastVisit) throw new Exception(EX_TLASTVISIT_INVALID); if (entity.iGroupID < 0) throw new Exception(EX_IGROUPID_INVALID); }
/// <summary> /// Kiểm tra trùng lặp bản ghi /// </summary> /// <param name="entity">UserEntity: UserEntity</param> private static void checkDuplicate(UserEntity entity,bool checkPK) { List<UserEntity> list = UserDAL.GetAll(); if (list.Exists( delegate(UserEntity oldEntity) { bool result =oldEntity.sUsername.Equals(entity.sUsername, StringComparison.OrdinalIgnoreCase); if(checkPK) result=result && oldEntity.iUserID != entity.iUserID; return result; } )) { list.Clear(); throw new Exception(EX_SUSERNAME_EXISTED); } }