bool UpdateRegisterInfo(School school, DuplexMessage commandMessage) { var registerOk = false; var registerInfo = commandMessage.GetContent <RegisterInfo>(); if (registerInfo != null) { school.ClientPubKey = registerInfo.ClientPubKey; school.UniqueToken = registerInfo.ClientMacAddr; metaRepository.AddOrUpdateSchool(school, (updateOk) => { DuplexMessage resultMessage; if (updateOk) { resultMessage = DuplexMessage.CreateCallbackMessage(commandMessage); } else { resultMessage = DuplexMessage.CreateCallbackMessage(commandMessage, ErrorCode.RegisterFailed); } Return(resultMessage); }); registerOk = true; } return(registerOk); }