123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using Comal.Classes;
- using InABox.Clients;
- using InABox.DynamicGrid;
- using PRSClasses;
- using Syncfusion.Windows.Shared;
- using System;
- 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, int?>
- {
- 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 int? GetValue()
- {
- return Number.Value.HasValue ? Convert.ToInt32(Number.Value.Value) : null;
- }
- public override void SetValue(int? value)
- {
- Number.Value = value;
- Button.IsEnabled = FormDesignGrid.IsEditing && value == null;
- }
- protected override bool IsEmpty() => GetValue() == null;
- }
- }
|