|
@@ -75,7 +75,7 @@ namespace PRSDesktop
|
|
|
var bill = row.ToObject<Bill>();
|
|
|
|
|
|
if(MultiSelectDialog<BillApprovalSet>.SelectItem(
|
|
|
- out var billType,
|
|
|
+ out var approvalSet,
|
|
|
filter: new Filter<BillApprovalSet>(x => x.ID).IsNotEqualTo(bill.ApprovalSet.ID),
|
|
|
columns: Columns.None<BillApprovalSet>().Add(x => x.ID),
|
|
|
title: "Select Approval Set:"))
|
|
@@ -84,7 +84,7 @@ namespace PRSDesktop
|
|
|
if(bill.ApprovalSet.ID != Guid.Empty)
|
|
|
{
|
|
|
oldEmployees = Client.Query(
|
|
|
- new Filter<BillApprovalSetEmployee>(x => x.BillType.ID).IsEqualTo(bill.ApprovalSet.ID),
|
|
|
+ new Filter<BillApprovalSetEmployee>(x => x.ApprovalSet.ID).IsEqualTo(bill.ApprovalSet.ID),
|
|
|
Columns.None<BillApprovalSetEmployee>().Add(x => x.Employee.ID),
|
|
|
new SortOrder<BillApprovalSetEmployee>(x => x.Sequence))
|
|
|
.ToArray<BillApprovalSetEmployee>();
|
|
@@ -95,7 +95,7 @@ namespace PRSDesktop
|
|
|
}
|
|
|
|
|
|
var newEmployees = Client.Query(
|
|
|
- new Filter<BillApprovalSetEmployee>(x => x.BillType.ID).IsEqualTo(billType.ID),
|
|
|
+ new Filter<BillApprovalSetEmployee>(x => x.ApprovalSet.ID).IsEqualTo(approvalSet.ID),
|
|
|
Columns.None<BillApprovalSetEmployee>().Add(x => x.Employee.ID),
|
|
|
new SortOrder<BillApprovalSetEmployee>(x => x.Sequence))
|
|
|
.ToArray<BillApprovalSetEmployee>();
|
|
@@ -114,10 +114,13 @@ namespace PRSDesktop
|
|
|
var toSave = new List<BillApproval>();
|
|
|
foreach(var employee in newEmployees)
|
|
|
{
|
|
|
- var newApproval = new BillApproval();
|
|
|
- newApproval.Employee.CopyFrom(employee.Employee);
|
|
|
- newApproval.Bill.CopyFrom(bill);
|
|
|
- toSave.Add(newApproval);
|
|
|
+ if(!approvals.Any(x => x.Employee.ID == employee.Employee.ID))
|
|
|
+ {
|
|
|
+ var newApproval = new BillApproval();
|
|
|
+ newApproval.Employee.CopyFrom(employee.Employee);
|
|
|
+ newApproval.Bill.CopyFrom(bill);
|
|
|
+ toSave.Add(newApproval);
|
|
|
+ }
|
|
|
}
|
|
|
foreach(var approval in approvals)
|
|
|
{
|
|
@@ -139,7 +142,7 @@ namespace PRSDesktop
|
|
|
Client.Delete(toDelete, "Deleted by changing approval set.");
|
|
|
Client.Save(toSave, "Updated when changing approval set.");
|
|
|
|
|
|
- bill.ApprovalSet.CopyFrom(billType);
|
|
|
+ bill.ApprovalSet.CopyFrom(approvalSet);
|
|
|
SaveItem(bill);
|
|
|
Refresh(false, true);
|
|
|
}
|