示例#1
0
 /// <summary>
 /// 获取服务器信息
 /// </summary>
 /// <param name="servicerMac">服务器Mac地址</param>
 /// <returns>服务器信息</returns>
 public Task <ServicerInfo> GetServicerInfoAsync(string servicerMac)
 {
     return(GetValueAsync(async() =>
     {
         var servicerList = await RedisClient.HashValuesAsync <ServicerInfo>(Cache_ServicerList);
         return servicerList.FirstOrDefault(m => m.FMacAddress == servicerMac && m.FIsDeleted == false);
     }, async() =>
     {
         return await _servicerRepository.GetInfoAsync(m => m.FMacAddress == servicerMac);
     }, memberName: "ServicerCache-GetProjectInfo"));
 }
        /// <summary>
        /// 校验服务器信息
        /// </summary>
        /// <param name="servicerInfo">服务器信息</param>
        /// <returns></returns>
        public async Task CheckAsync(ServicerInfo servicerInfo)
        {
            servicerInfo.NotNull("服务器信息不能为空");
            //判断是否有存在相同的Mac地址
            var existMacInfo = await _servicerRepository.GetInfoAsync(m => m.FMacAddress == servicerInfo.FMacAddress && m.FIsDeleted == false);

            if (existMacInfo != null)
            {
                if (existMacInfo.FID != servicerInfo.FID)
                {
                    throw new BizException("Mac地址已存在");
                }
            }
            var existsNameInfo = await _servicerRepository.GetInfoAsync(m => m.FName == servicerInfo.FName && m.FIsDeleted == false);

            if (existsNameInfo != null)
            {
                if (existsNameInfo.FID != servicerInfo.FID)
                {
                    throw new BizException("名字已存在");
                }
            }
        }