|
@@ -24,17 +24,17 @@ namespace InABox.Wpf
|
|
|
/// </summary>
|
|
|
public partial class DocumentApprovalControl : UserControl, IDocumentEditor
|
|
|
{
|
|
|
- public delegate void MarkupSelected(IEntityDocument document);
|
|
|
- public event MarkupSelected OnMarkupSelected;
|
|
|
+ public delegate void MarkupSelected(IEntityDocument? document);
|
|
|
+ public event MarkupSelected? OnMarkupSelected;
|
|
|
|
|
|
- public delegate void MarkupComplete(IEntityDocument document);
|
|
|
- public event MarkupComplete OnMarkupComplete;
|
|
|
+ public delegate void MarkupComplete(IEntityDocument? document);
|
|
|
+ public event MarkupComplete? OnMarkupComplete;
|
|
|
|
|
|
- public delegate void Approved(IEntityDocument document);
|
|
|
- public event Approved OnApproved;
|
|
|
+ public delegate void Approved(IEntityDocument? document);
|
|
|
+ public event Approved? OnApproved;
|
|
|
|
|
|
- public delegate void Rejected(IEntityDocument document);
|
|
|
- public event Rejected OnRejected;
|
|
|
+ public delegate void Rejected(IEntityDocument? document);
|
|
|
+ public event Rejected? OnRejected;
|
|
|
public enum ControlMode
|
|
|
{
|
|
|
Markup,
|
|
@@ -81,8 +81,8 @@ namespace InABox.Wpf
|
|
|
rejectButton.Visibility = rejectVisible? Visibility.Visible : Visibility.Collapsed;
|
|
|
}
|
|
|
|
|
|
- private IEntityDocument _document;
|
|
|
- public IEntityDocument Document
|
|
|
+ private IEntityDocument? _document;
|
|
|
+ public IEntityDocument? Document
|
|
|
{
|
|
|
get => _document;
|
|
|
set
|
|
@@ -104,10 +104,18 @@ namespace InABox.Wpf
|
|
|
private void Render()
|
|
|
{
|
|
|
viewer.Children.Clear();
|
|
|
- var table = new Client<Document>().Query(new Filter<Document>(x => x.ID).IsEqualTo(_document.DocumentLink.ID));
|
|
|
- if (!table.Rows.Any())
|
|
|
+ if(Document is null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var table = new Client<Document>().Query(
|
|
|
+ new Filter<Document>(x => x.ID).IsEqualTo(Document.DocumentLink.ID),
|
|
|
+ new Columns<Document>(x => x.Data));
|
|
|
+ var first = table.Rows.FirstOrDefault();
|
|
|
+ if (first is null)
|
|
|
return;
|
|
|
- var data = table.Rows.FirstOrDefault().Get<Document, byte[]>(x => x.Data);
|
|
|
+ var data = first.Get<Document, byte[]>(x => x.Data);
|
|
|
var images = ImageUtils.RenderPDFToImages(data);
|
|
|
foreach (var image in images)
|
|
|
{
|
|
@@ -125,23 +133,23 @@ namespace InABox.Wpf
|
|
|
{
|
|
|
Mode = ControlMode.Complete;
|
|
|
MessageBox.Show("IMPORTANT - press save in your document editor, then press the Complete Button in PRS");
|
|
|
- OnMarkupSelected?.Invoke(_document);
|
|
|
+ OnMarkupSelected?.Invoke(Document);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OnMarkupComplete?.Invoke(_document);
|
|
|
+ OnMarkupComplete?.Invoke(Document);
|
|
|
Mode = ControlMode.Markup;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void ApproveButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- OnApproved?.Invoke(_document);
|
|
|
+ OnApproved?.Invoke(Document);
|
|
|
}
|
|
|
|
|
|
private void RejectButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- OnRejected?.Invoke(_document);
|
|
|
+ OnRejected?.Invoke(Document);
|
|
|
}
|
|
|
}
|
|
|
}
|