| 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;    }}
 |