using System.Windows.Input; using WorkFlowCheck.Common.DTO; namespace WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints; public partial class CheckPointEditPage : ContentPage { public CheckPointDTO CheckPointDTO { get; set; } public ICommand SaveCommand { get; } public ICommand CancelCommand { get; } public CheckPointEditPage(CheckPointDTO checkPointDTO) { InitializeComponent(); CheckPointDTO = checkPointDTO; BindingContext = this; SaveCommand = new Command(OnSave); CancelCommand = new Command(OnCancel); LoadCheckPointCheckListRows(); } private void LoadCheckPointCheckListRows() { //IsRefreshing = true; //await _syncService.SyncDatas(); CheckPointCheckListRows.ItemsSource = CheckPointDTO.CheckListTemplateRowDTO; //IsRefreshing = false; //OnPropertyChanged(nameof(IsRefreshing)); } private async void OnSave() { // Adatok mentése és visszairányítás az előző oldalra // Például adatbázisba mentés előtt itt végrehajthatsz további műveleteket await Navigation.PopAsync(); } // A törlési (Cancel) logika private async void OnCancel() { // Visszatérés az előző oldalra anélkül, hogy mentenénk bármit //await Navigation.PopAsync(); await Shell.Current.GoToAsync("//CheckPointsPage"); } } public class AnswerTypeTemplateSelector : DataTemplateSelector { public DataTemplate I_N_Template { get; set; } public DataTemplate P_Template { get; set; } public DataTemplate V_Template { get; set; } public DataTemplate SI_N_Template { get; set; } public DataTemplate I_SN_Template { get; set; } public DataTemplate PI_N_Template { get; set; } public DataTemplate I_PN_Template { get; set; } protected override DataTemplate OnSelectTemplate(object item, BindableObject container) { if (item is CheckListTemplateRowDTO model) { return model.AnswerType switch { "I-N" => I_N_Template, "P" => P_Template, "V" => V_Template, "SI-N" => SI_N_Template, "I-SN" => I_SN_Template, "PI-N" => PI_N_Template, "I-PN" => I_PN_Template, _ => I_N_Template }; } return null; } }