|
@@ -161,8 +161,10 @@ public abstract class DocumentViewList<TDocument> : UserControl, INotifyProperty
|
|
|
|
|
|
protected abstract Guid GetID(TDocument document);
|
|
|
protected abstract Guid GetDocumentID(TDocument document);
|
|
|
+ protected abstract string GetDocumentFileName(IEnumerable<TDocument> documents, Document document);
|
|
|
protected abstract IEnumerable<Document> LoadDocuments(IEnumerable<Guid> ids);
|
|
|
|
|
|
+
|
|
|
public void UpdateViewList(IList<TDocument> documents, bool force = false)
|
|
|
{
|
|
|
if (!force && documents.Count == _documents.Count && !documents.Any(x => _documents.All(y => GetID(x) != GetID(y))))
|
|
@@ -180,6 +182,8 @@ public abstract class DocumentViewList<TDocument> : UserControl, INotifyProperty
|
|
|
Task.Run(() =>
|
|
|
{
|
|
|
var docs = LoadDocuments(Documents.Select(GetDocumentID).Distinct());
|
|
|
+ foreach (var doc in docs)
|
|
|
+ doc.FileName = GetDocumentFileName(Documents, doc);
|
|
|
LoadDocuments(docs);
|
|
|
}).ContinueWith((task) =>
|
|
|
{
|
|
@@ -470,4 +474,9 @@ public class DataEntryViewList : DocumentViewList<DataEntryDocument>
|
|
|
{
|
|
|
return document.Document.ID;
|
|
|
}
|
|
|
+
|
|
|
+ protected override string GetDocumentFileName(IEnumerable<DataEntryDocument> documents, Document document)
|
|
|
+ {
|
|
|
+ return Documents.FirstOrDefault(x => x.Document.ID == document.ID)?.Document.FileName ?? "";
|
|
|
+ }
|
|
|
}
|