123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- using System;
- using System.Windows.Media;
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.Core;
- using InABox.DynamicGrid;
- using PRSDesktop.WidgetGroups;
- namespace PRSDesktop.Dashboards
- {
-
- public class CompletedAssignmentDashboardProperties : IUserConfigurationSettings, IDashboardProperties
- {
- }
- public class CompletedAssignmentDashboardElement : DashboardElement<CompletedAssignmentDashboard, HumanResources,
- CompletedAssignmentDashboardProperties>
- {
-
- }
-
- public class CompletedAssignmentDashboard : DynamicDataGrid<Assignment>,
- IDashboardWidget<HumanResources, CompletedAssignmentDashboardProperties>
- {
- public void Setup()
- {
- Options
- .BeginUpdate()
- .Clear()
- .Add(DynamicGridOption.SelectColumns)
- .EndUpdate();
- ActionColumns.Add(new DynamicMenuColumn(CreateMenu, GetStatus));
-
- ColumnsTag = GetType().Name;
-
- Refresh(true,false);
- }
- private DynamicMenuStatus GetStatus(CoreRow row)
- {
- return DynamicMenuStatus.Enabled;
- }
- private void CreateMenu(DynamicMenuColumn menu, CoreRow? row)
- {
- menu.AddItem("View Forms", null, ViewFormsClick);
- menu.AddItem("Open Job", null, OpenJobClick);
- menu.AddSeparator();
- menu.AddItem("Create Quote", null, CreateQuoteClick);
- menu.AddSeparator();
- menu.AddItem("Mark as Processed", null, MarkAsProcessedClick);
- }
- private void ViewFormsClick(CoreRow obj)
- {
-
- }
- private void OpenJobClick(CoreRow obj)
- {
-
- }
- private void CreateQuoteClick(CoreRow obj)
- {
-
- }
- private void MarkAsProcessedClick(CoreRow obj)
- {
-
- }
- public void Shutdown()
- {
- }
- public void Refresh()
- {
- Refresh(false, true);
- }
- protected override void Reload(Filters<Assignment> criteria, Columns<Assignment> columns, ref SortOrder<Assignment>? sort, Action<CoreTable?, Exception?> action)
- {
- criteria.Add(
- new Filter<Assignment>(x => x.Completed).IsNotEqualTo(DateTime.MinValue)
- .And(x => x.Processed).IsEqualTo(DateTime.MinValue)
- );
- base.Reload(criteria, columns, ref sort, action);
- }
- protected override DynamicGridStyle GetRowStyle(CoreRow row, DynamicGridStyle style)
- {
- var result = base.GetRowStyle(row, style);
- var completed = row.Get<Assignment, DateTime>(c => c.Completed);
- if (completed < DateTime.Today.AddDays(-2))
- result.Background = new SolidColorBrush(Colors.LightSalmon);
- else if (completed < DateTime.Today)
- result.Background = new SolidColorBrush(Colors.Wheat);
- else
- result.Background = new SolidColorBrush(Colors.LightGreen);
- return result;
- }
- public CompletedAssignmentDashboardProperties Properties { get; set; }
- public event LoadSettings<CompletedAssignmentDashboardProperties>? LoadSettings;
- public event SaveSettings<CompletedAssignmentDashboardProperties>? SaveSettings;
- }
- }
|