private async void Button_OnClicked(object sender, EventArgs e) { SetBusyIndicator(true); using (var stream = await SignaturePad.GetImageStreamAsync(SignatureImageFormat.Png)) { using (var ms = new MemoryStream()) { await stream.CopyToAsync(ms); _selectedDocument.SignatureBase64 = Convert.ToBase64String(ms.ToArray()); } } await RepositoryManager.UserDocumentSignatureRepositoryInstance.SaveAsync(new UserDocumentSignature { DocumentId = _selectedDocument.Id, SignatureBase64 = _selectedDocument.SignatureBase64, SigningUserId = ApplicationContext.LoggedInUserId }); var userDocument = (await RepositoryManager.UserDocumentRepositoryInstance.GetAsync(x => x.DocumentId == _selectedDocument.Id))?.FirstOrDefault(); if (userDocument == null) { return; } userDocument.IsCompleted = true; await RepositoryManager.UserDocumentRepositoryInstance.SaveAsync(userDocument); SetBusyIndicator(false); await Navigation.PopToRootAsync(true); }
public async Task <byte[]> GetSigBytesAsync() { using (var memoryStream = new MemoryStream()) { var stream = await SignaturePad.GetImageStreamAsync(SignatureImageFormat.Png); stream.Position = 0; stream.CopyTo(memoryStream); return(memoryStream.ToArray()); } }