protected override void ProcessRecord() { HealthClientApplication clientApp = HvShellUtilities.GetClient(); List<PersonInfo> authorizedPeople = new List<PersonInfo> (clientApp.ApplicationConnection.GetAuthorizedPeople()); // Create an authorized connection for each person on the // list. HealthClientAuthorizedConnection authConnection = clientApp.CreateAuthorizedConnection( authorizedPeople[0].PersonId); // Use the authorized connection to read the user's default // health record. HealthRecordAccessor accessor = new HealthRecordAccessor( authConnection, authConnection.GetPersonInfo().GetSelfRecord().Id); HealthServiceRequest request = new HealthServiceRequest(accessor.Connection, "PutThings", 2, accessor); // Read the input file request.Parameters = System.IO.File.ReadAllText(Path.GetFullPath(FileName)); request.Execute(); }
/// <summary> /// Calls the BeginPutBlob HealthVault method. /// </summary> /// /// <returns> /// The result of the BeginPutConnectPackageBlob method call as a /// BlobPutParameters instance. /// </returns> /// /// <exception cref="HealthServiceException"> /// If the call to HealthVault fails in some way. /// </exception> /// private BlobPutParameters BeginPutConnectPackageBlob() { HealthServiceRequest request = new HealthServiceRequest(_connectPackageParameters.Connection, "BeginPutConnectPackageBlob", 1); request.Execute(); XPathExpression infoPath = SDKHelper.GetInfoXPathExpressionForMethod( request.Response.InfoNavigator, "BeginPutConnectPackageBlob"); XPathNavigator infoNav = request.Response.InfoNavigator.SelectSingleNode(infoPath); Uri blobReferenceUrl = new Uri(infoNav.SelectSingleNode("blob-ref-url").Value); int chunkSize = infoNav.SelectSingleNode("blob-pre-encryption-chunk-size").ValueAsInt; int postEncryptionChunkSize = infoNav.SelectSingleNode("blob-post-encryption-chunk-size").ValueAsInt; long maxBlobSize = infoNav.SelectSingleNode("max-blob-size").ValueAsLong; String blobHashAlgString = infoNav.SelectSingleNode("blob-hash-algorithm").Value; BlobHashAlgorithm blobHashAlg; try { blobHashAlg = (BlobHashAlgorithm)Enum.Parse( typeof(BlobHashAlgorithm), blobHashAlgString); } catch (ArgumentException) { blobHashAlg = BlobHashAlgorithm.Unknown; } int blocksize = 0; XPathNavigator blockNav = infoNav.SelectSingleNode("blob-hash-parameters/block-size"); if (blockNav != null) { blocksize = blockNav.ValueAsInt; } return new BlobPutParameters( blobReferenceUrl, chunkSize, postEncryptionChunkSize, maxBlobSize, blobHashAlg, blocksize); }