コード例 #1
0
        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);
        }
コード例 #2
0
        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());
            }
        }