|
@@ -452,21 +452,24 @@ namespace PRSDesktop
|
|
|
if (rowColumnIndex.ColumnIndex < 2)
|
|
|
{
|
|
|
|
|
|
- var document = treeGrid.SelectedItem as DocumentSetNode;
|
|
|
+ var documents = treeGrid.SelectedItems.Select(x => (x as DocumentSetNode)).ToArray();
|
|
|
+ var ids = documents.Select(x => x.ID).ToArray();
|
|
|
|
|
|
MenuItem edit = new MenuItem();
|
|
|
edit.Header = "Edit Document Set";
|
|
|
- edit.Click += (o, args) => { EditDocumentSets(new Guid[] { document.ID }); };
|
|
|
+ edit.Click += (o, args) => { EditDocumentSets(ids); };
|
|
|
MileStoneMenu.Items.Add(edit);
|
|
|
-
|
|
|
- MileStoneMenu.Items.Add(new Separator());
|
|
|
-
|
|
|
- MenuItem addchild = new MenuItem();
|
|
|
- addchild.Header = "Add Child";
|
|
|
- addchild.Click += (o,args) => { AddChildDocument(document); };
|
|
|
- MileStoneMenu.Items.Add(addchild);
|
|
|
|
|
|
- var documents = treeGrid.SelectedItems.Select(x => (x as DocumentSetNode));
|
|
|
+ if (documents.Length == 1)
|
|
|
+ {
|
|
|
+ MileStoneMenu.Items.Add(new Separator());
|
|
|
+ MenuItem addchild = new MenuItem();
|
|
|
+ addchild.Header = "Add Child";
|
|
|
+ addchild.Click += (o, args) => { AddChildDocument(documents.First()); };
|
|
|
+ MileStoneMenu.Items.Add(addchild);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
MenuItem movetofolder = new MenuItem();
|
|
|
movetofolder.Header = "Move To Folder";
|
|
|
bool hasfolders = PopulateFolders(movetofolder, documents);
|
|
@@ -573,15 +576,17 @@ namespace PRSDesktop
|
|
|
}
|
|
|
|
|
|
MileStoneMenu.Items.Add(setstatus);
|
|
|
+
|
|
|
+ MenuItem editmilestone = new MenuItem() { Header = "Edit MileStone" };
|
|
|
+ editmilestone.Click += (o, args) => { EditMileStones(milestones); };
|
|
|
+ MileStoneMenu.Items.Add(editmilestone);
|
|
|
|
|
|
|
|
|
//var closed = milestones.Any(r => !r.Get<JobDocumentSetMileStone, DateTime>(c => c.Closed).IsEmpty());
|
|
|
if ((setids.Length == 1) && (milestones.Length == 1)) // && !closed)
|
|
|
{
|
|
|
|
|
|
- MenuItem editmilestone = new MenuItem() { Header = "Edit MileStone" };
|
|
|
- editmilestone.Click += (o, args) => { EditMileStone(milestones[0]); };
|
|
|
- MileStoneMenu.Items.Add(editmilestone);
|
|
|
+
|
|
|
|
|
|
var attachments = milestones[0].Get<JobDocumentSetMileStone, int>(x => x.Attachments);
|
|
|
if (attachments > 1)
|
|
@@ -1109,13 +1114,14 @@ namespace PRSDesktop
|
|
|
Refresh();
|
|
|
}
|
|
|
|
|
|
- private void EditMileStone(CoreRow row)
|
|
|
+ private void EditMileStones(CoreRow[] rows)
|
|
|
{
|
|
|
- var milestone = new Client<JobDocumentSetMileStone>().Query(
|
|
|
- new Filter<JobDocumentSetMileStone>(x => x.ID).IsEqualTo(row.Get<JobDocumentSetMileStone, Guid>(x => x.ID))
|
|
|
- ).Rows.FirstOrDefault()?.ToObject<JobDocumentSetMileStone>();
|
|
|
+ var ids = rows.Select(r => r.Get<JobDocumentSetMileStone, Guid>(x => x.ID)).ToArray();
|
|
|
+ var milestones = new Client<JobDocumentSetMileStone>().Query(
|
|
|
+ new Filter<JobDocumentSetMileStone>(x => x.ID).InList(ids)
|
|
|
+ ).Rows.Select(r=>r.ToObject<JobDocumentSetMileStone>()).ToArray();
|
|
|
var grid = new JobDocumentSetMileStoneGrid();
|
|
|
- if (grid.EditItems(new[] { milestone }))
|
|
|
+ if (grid.EditItems(milestones))
|
|
|
Refresh();
|
|
|
}
|
|
|
|