|
@@ -0,0 +1,90 @@
|
|
|
+using System;
|
|
|
+using System.Linq;
|
|
|
+using System.Windows;
|
|
|
+using System.Windows.Controls;
|
|
|
+using Comal.Classes;
|
|
|
+using InABox.Clients;
|
|
|
+using InABox.DynamicGrid;
|
|
|
+
|
|
|
+namespace PRSDesktop;
|
|
|
+
|
|
|
+public partial class RequisitionsDock : UserControl, IDockPanel
|
|
|
+{
|
|
|
+ public RequisitionsDock()
|
|
|
+ {
|
|
|
+ InitializeComponent();
|
|
|
+ }
|
|
|
+
|
|
|
+ private MyRequisitionsList? _requisitionList;
|
|
|
+ private MyRequisitionItems? _requisitionItems;
|
|
|
+
|
|
|
+ public void Setup()
|
|
|
+ {
|
|
|
+ _requisitionList = new MyRequisitionsList() { Margin = new Thickness(0, 2, 0, 0) };
|
|
|
+ _requisitionList.SetValue(Grid.RowProperty, 1);
|
|
|
+ _requisitionList.SetValue(Grid.ColumnProperty, 0);
|
|
|
+ _requisitionList.SetValue(Grid.ColumnSpanProperty, 2);
|
|
|
+ _requisitionList.OnSelectItem += Requisitions_OnOnSelectItem;
|
|
|
+ _grid.Children.Add(_requisitionList);
|
|
|
+ _requisitionList.Refresh(true,false);
|
|
|
+
|
|
|
+ _requisitionItems = new MyRequisitionItems() { Margin = new Thickness(0, 2, 0, 0) };
|
|
|
+ _requisitionItems.SetValue(Grid.RowProperty, 7);
|
|
|
+ _requisitionItems.SetValue(Grid.ColumnProperty, 0);
|
|
|
+ _requisitionItems.SetValue(Grid.ColumnSpanProperty, 2);
|
|
|
+ _grid.Children.Add(_requisitionItems);
|
|
|
+ _requisitionItems.Refresh(true,false);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void Refresh()
|
|
|
+ {
|
|
|
+ _requisitionList?.Refresh(false,true);
|
|
|
+ }
|
|
|
+
|
|
|
+ private Requisition? _requisition = null;
|
|
|
+
|
|
|
+ private void Requisitions_OnOnSelectItem(object sender, DynamicGridSelectionEventArgs e)
|
|
|
+ {
|
|
|
+ if (_requisitionList == null || _requisitionItems == null)
|
|
|
+ return;
|
|
|
+
|
|
|
+ _requisition = e.Rows?.FirstOrDefault()?.ToObject<Requisition>();
|
|
|
+
|
|
|
+ _requisitionItems.RequisitionID = _requisition?.ID ?? Guid.Empty;
|
|
|
+ _requisitionItems.Refresh(false,true);
|
|
|
+ _requisitionItems.IsEnabled = _requisition != null;
|
|
|
+
|
|
|
+ Title.Text = _requisition?.Title ?? "";
|
|
|
+ Title.IsEnabled = _requisition != null;
|
|
|
+
|
|
|
+ Notes.Text = _requisition?.Request ?? "";
|
|
|
+ Notes.IsEnabled = _requisition != null;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Title_OnLostFocus(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ if (!string.Equals(Title.Text,_requisition?.Title))
|
|
|
+ {
|
|
|
+ if (_requisition != null && _requisitionList?.SelectedRows.Any() == true)
|
|
|
+ {
|
|
|
+ _requisition.Title = Title.Text;
|
|
|
+ new Client<Requisition>().Save(_requisition, "");
|
|
|
+ _requisitionList.Data.LoadRow(_requisitionList.SelectedRows[0], _requisition);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Notes_OnLostFocus(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ if (!string.Equals(Notes.Text,_requisition?.Request))
|
|
|
+ {
|
|
|
+ if (_requisition != null && _requisitionList?.SelectedRows.Any() == true)
|
|
|
+ {
|
|
|
+ _requisition.Request = Notes.Text;
|
|
|
+ new Client<Requisition>().Save(_requisition, "");
|
|
|
+ _requisitionList.Data.LoadRow(_requisitionList.SelectedRows[0], _requisition);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|