|
@@ -327,6 +327,58 @@ public class ProgressClaimGrid : DynamicItemsListGrid<ProgressClaim>
|
|
|
ColumnsComponent.LoadColumnsMenu(menu);
|
|
|
}
|
|
|
|
|
|
+ protected override void DoDoubleClick(object sender, DynamicGridCellClickEventArgs args)
|
|
|
+ {
|
|
|
+ if (args.Row is null) return;
|
|
|
+
|
|
|
+ if(args.Column is DynamicGridColumn gridColumn)
|
|
|
+ {
|
|
|
+ var claim = LoadItem(args.Row);
|
|
|
+ if(new Column<ProgressClaim>(x => x.Materials).IsEqualTo(gridColumn.ColumnName))
|
|
|
+ {
|
|
|
+ var grid = (DynamicGridUtils.CreateDynamicGrid<StockMovement>(typeof(DynamicDataGrid<>)) as DynamicDataGrid<StockMovement>)!;
|
|
|
+ grid.ColumnsTag = $"{nameof(ProgressClaim)}.Materials";
|
|
|
+ grid.Reconfigure(options =>
|
|
|
+ {
|
|
|
+ options.Clear();
|
|
|
+ options.FilterRows = true;
|
|
|
+ options.SelectColumns = true;
|
|
|
+ });
|
|
|
+
|
|
|
+ grid.OnDefineFilter += t =>
|
|
|
+ {
|
|
|
+ return new Filter<StockMovement>(x => x.Type).IsEqualTo(StockMovementType.Issue)
|
|
|
+ .And(x => x.Invoice.ID).IsEqualTo(Guid.Empty)
|
|
|
+ .And(x => x.JobScope.ID).IsEqualTo(claim.JobScope.ID);
|
|
|
+ };
|
|
|
+
|
|
|
+ var window = DynamicGridUtils.CreateGridWindow($"Materials", grid);
|
|
|
+ window.ShowDialog();
|
|
|
+ }
|
|
|
+ else if(new Column<ProgressClaim>(x => x.Labour).IsEqualTo(gridColumn.ColumnName))
|
|
|
+ {
|
|
|
+ var grid = (DynamicGridUtils.CreateDynamicGrid<Assignment>(typeof(DynamicDataGrid<>)) as DynamicDataGrid<Assignment>)!;
|
|
|
+ grid.ColumnsTag = $"{nameof(ProgressClaim)}.Labour";
|
|
|
+ grid.Reconfigure(options =>
|
|
|
+ {
|
|
|
+ options.Clear();
|
|
|
+ options.FilterRows = true;
|
|
|
+ options.SelectColumns = true;
|
|
|
+ });
|
|
|
+
|
|
|
+ grid.OnDefineFilter += t =>
|
|
|
+ {
|
|
|
+ return new Filter<Assignment>(x => x.JobLink.ID).IsEqualTo(JobID)
|
|
|
+ .And(x => x.Invoice.ID).IsEqualTo(Guid.Empty)
|
|
|
+ .And(x => x.JobScope.ID).IsEqualTo(claim.JobScope.ID);
|
|
|
+ };
|
|
|
+
|
|
|
+ var window = DynamicGridUtils.CreateGridWindow($"Labour", grid);
|
|
|
+ window.ShowDialog();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public override DynamicGridColumns GenerateColumns()
|
|
|
{
|
|
|
var columns = new DynamicGridColumns();
|