12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using Comal.Classes;
- using InABox.Clients;
- using InABox.DynamicGrid;
- using PRSClasses;
- using Syncfusion.Windows.Shared;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using Button = System.Windows.Controls.Button;
- using MessageBox = System.Windows.MessageBox;
- using TextBox = System.Windows.Controls.TextBox;
- namespace PRS.Shared
- {
- public class DFAddTaskControl : DynamicFormFieldControl<DFLayoutAddTaskField, DFLayoutAddTaskFieldProperties, string?, string?>
- {
- private IntegerTextBox Number = null!; // Late-initialisation
- private Button Button = null!; // Late-initialisation
- protected override FrameworkElement Create()
- {
- var panel = new DockPanel();
- Button = new Button
- {
- Content = "Create Task",
- Padding = new Thickness(5),
- IsEnabled = FormDesignGrid.IsEditing
- };
- Button.Click += Button_Click;
- Number = new IntegerTextBox
- {
- IsEnabled = false,
- VerticalAlignment = VerticalAlignment.Stretch,
- Margin = new Thickness(0, 0, 5, 0)
- };
- Button.SetValue(DockPanel.DockProperty, Dock.Right);
- Number.SetValue(DockPanel.DockProperty, Dock.Left);
- panel.Children.Add(Button);
- panel.Children.Add(Number);
- return panel;
- }
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- var kanban = new Kanban();
- kanban.Type.ID = Field.Properties.TaskType.ID;
- var grid = DynamicGridUtils.CreateDynamicGrid(typeof(DynamicDataGrid<>), typeof(Kanban)) as DynamicDataGrid<Kanban>;
- if (grid!.EditItems(new[] { kanban }))
- {
- new Client<Kanban>().Save(kanban, $"Created by form variable '{Field.Name}'");
- Number.Value = kanban.Number;
- Button.IsEnabled = false;
- }
- }
- public override string? GetSerializedValue()
- {
- return GetValue();
- }
- public override void SetSerializedValue(string? value)
- {
- SetValue(value);
- }
- public override string? GetValue()
- {
- return Number.Value?.ToString();
- }
- public override void SetValue(string? value)
- {
- if(int.TryParse(value, out var i))
- {
- Number.Value = i;
- }
- else
- {
- Number.Value = null;
- }
- Button.IsEnabled = FormDesignGrid.IsEditing && value == null;
- }
- protected override bool IsEmpty() => GetValue() == null;
- }
- }
|