using System; using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; namespace PRSDesktop { internal class JobRequisitionItemGrid : DynamicDataGrid { public JobRequisitionItemGrid() { Options.AddRange( DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns, DynamicGridOption.FilterRows, DynamicGridOption.MultiSelect ); } public Guid JobID { get; set; } public Guid RequisitionID { get; set; } protected override void Reload(Filters criteria, Columns columns, ref SortOrder sort, Action action) { criteria.Add(new Filter(x => x.Requisition.ID).IsEqualTo(RequisitionID)); base.Reload(criteria, columns, ref sort, action); } protected override JobRequisitionItem CreateItem() { var result = base.CreateItem(); result.Requisition.ID = RequisitionID; result.Requisition.Job.ID = JobID; result.Job.ID = JobID; return result; } protected override void GenerateColumns(DynamicGridColumns columns) { columns.Add(x => x.Created, 80, "Date", "", Alignment.MiddleLeft); columns.Add(x => x.Requisition.Job.JobNumber, 70, "Job", "", Alignment.MiddleLeft); columns.Add(x => x.Requisition.Number, 50, "NO.", "", Alignment.MiddleLeft); columns.Add(x => x.Product.Code, 70, "Code", "", Alignment.MiddleLeft); columns.Add(x => x.Product.Name, 200, "Product Name", "", Alignment.MiddleLeft); columns.Add(x => x.Style.Description, 150, "Style", "", Alignment.MiddleLeft); columns.Add(x => x.Qty, 50, "Qty", "", Alignment.MiddleLeft); columns.Add(x => x.Dimensions.UnitSize, 50, "Size", "", Alignment.MiddleLeft); columns.Add(x => x.PurchaseOrderItem.PurchaseOrderLink.PONumber, 80, "PO Number", "", Alignment.MiddleLeft); columns.Add(x => x.PurchaseOrderItem.PONumber, 80, "PO Number", "", Alignment.MiddleLeft); columns.Add(x => x.PurchaseOrderItem.DueDate, 80, "Due", "", Alignment.MiddleLeft); columns.Add(x => x.PurchaseOrderItem.ReceivedDate, 80, "Received", "", Alignment.MiddleLeft); columns.Add(x => x.Status, 80, "Status", "", Alignment.MiddleLeft); columns.Add(x => x.Notes, 300, "Notes", "", Alignment.MiddleLeft); base.GenerateColumns(columns); } } }