12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.Core;
- using InABox.DynamicGrid;
- using PRSDesktop.WidgetGroups;
- namespace PRSDesktop
- {
- internal class JobsRequiringBookingsDashboardProperties : IUserConfigurationSettings, IDashboardProperties { }
- internal class JobsRequiringBookingsDashboardElement : DashboardElement<JobsRequiringBookingsWidget, Projects, JobsRequiringBookingsDashboardProperties> { }
- internal class JobsRequiringBookingsWidget : DynamicDataGrid<Job>, ISpecificGrid, IDashboardWidget<Projects, JobsRequiringBookingsDashboardProperties>
- {
- public JobsRequiringBookingsDashboardProperties Properties { get; set; }
- public event LoadSettings<JobsRequiringBookingsDashboardProperties>? LoadSettings;
- public event SaveSettings<JobsRequiringBookingsDashboardProperties>? SaveSettings;
- public JobsRequiringBookingsWidget()
- {
- Options.AddRange(DynamicGridOption.SelectColumns, DynamicGridOption.FilterRows);
- HiddenColumns.Add(x => x.Assignments);
- ActionColumns.Add(new DynamicTextColumn(RebookingIndicator) { Position = DynamicActionColumnPosition.End});
- ActionColumns.Add(new DynamicMenuColumn(CreateJobMenu) { Position = DynamicActionColumnPosition.End});
- ColumnsTag = GetType().Name;
- }
- private string? RebookingIndicator(CoreRow? arg)
- {
- return arg == null
- ? "R"
- : arg.Get<Job, int>(c => c.Assignments) != 0
- ? "R"
- : "";
- }
- public void Refresh()
- {
- Refresh(false, true);
- }
- public void Setup()
- {
- Refresh(true, false);
- }
- public void Shutdown()
- {
- }
- private void CreateJobMenu(DynamicMenuColumn column, CoreRow row)
- {
- column.AddItem("Book Now", null, BookJob);
- }
- private void BookJob(CoreRow row)
- {
- }
- protected override void Reload(Filters<Job> criteria, Columns<Job> columns, ref SortOrder<Job> sort, Action<CoreTable, Exception> action)
- {
- criteria.Add(new Filter<Job>(x => x.JobType).IsEqualTo(JobType.Service).And(x => x.Completed).IsEqualTo(DateTime.MinValue)
- .And(x => x.OpenAssignments).IsEqualTo(0));
- base.Reload(criteria, columns, ref sort, action);
- }
- protected override DynamicGridStyle GetRowStyle(CoreRow row, DynamicGridStyle style)
- {
- return base.GetRowStyle(row, style);
- }
- }
- }
|