12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System;
- using System.Linq;
- using System.Threading;
- using Comal.Classes;
- using InABox.Core;
- using InABox.DynamicGrid;
- namespace PRSDesktop;
- public class MyRequisitionItems : DynamicDataGrid<RequisitionItem>
- {
- public Guid RequisitionID { get; set; }
-
- public MyRequisitionItems() : base()
- {
- ColumnsTag = nameof(MyRequisitionItems);
- }
-
- public override DynamicGridColumns GenerateColumns()
- {
- var columns = new DynamicGridColumns();
- columns.Add<RequisitionItem>(x => x.Product.ID,80,"Product","",Alignment.MiddleLeft);
- columns.Add<RequisitionItem>(x => x.Description,0,"Items Required","",Alignment.MiddleLeft);
- columns.Add<RequisitionItem>(x => x.Dimensions.UnitSize,80,"Size","",Alignment.MiddleLeft);
- columns.Add<RequisitionItem>(x => x.Style.ID,80,"Style","",Alignment.MiddleLeft);
- columns.Add<RequisitionItem>(x => x.Quantity,50,"Qty","F2",Alignment.MiddleCenter);
- return columns;
- }
-
- protected override void DoReconfigure(DynamicGridOptions options)
- {
- base.DoReconfigure(options);
- options.Clear();
- options.AddRows = true;
- options.EditRows = true;
- options.DeleteRows = true;
- }
-
- protected override void Reload(
- Filters<RequisitionItem> criteria, Columns<RequisitionItem> columns, ref SortOrder<RequisitionItem>? sort,
- CancellationToken token, Action<CoreTable?, Exception?> action)
- {
- criteria.Add(
- new Filter<RequisitionItem>(x => x.RequisitionLink.ID).IsEqualTo(RequisitionID)
- );
- base.Reload(criteria, columns, ref sort, token, action);
- }
- public override RequisitionItem CreateItem()
- {
- var result = base.CreateItem();
- result.RequisitionLink.ID = RequisitionID;
- result.Quantity = 1;
- return result;
- }
- protected override BaseEditor? GetEditor(object item, DynamicGridColumn column)
- {
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, double>(x => x.ActualQuantity, "."))
- return new NullEditor();
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.Location.ID, "."))
- return new NullEditor();
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, bool>(x => x.Done, "."))
- return new NullEditor();
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.JobRequisitionItem.ID, "."))
- return new NullEditor();
- if (column.ColumnName.StartsWith($"{CoreUtils.GetFullPropertyName<RequisitionItem, ActualCharge>(x => x.Charge, ".")}."))
- return new NullEditor();
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.JobScope.ID, "."))
- return new NullEditor();
- if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.Image.ID, "."))
- return new NullEditor();
- return base.GetEditor(item, column);
- }
- }
|