INIT GITEA

This commit is contained in:
2026-09-12 18:19:29 +02:00
parent b2faeb2986
commit 02ba8d4fe5
405 changed files with 125279 additions and 125267 deletions
@@ -1,157 +1,157 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints.CheckPointEditPage"
xmlns:local="clr-namespace:WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints"
xmlns:templateselectors="clr-namespace:WorkFlowCheck.MAUI.TemplateSelectors"
BackgroundColor="#f0f0f0"
Title="{Binding CheckPointDTO.ShortName}">
<StackLayout Padding="20">
<!-- Cím: Edit Item -->
<Label Text="Ellenőrzési pont adatai" FontSize="24" HorizontalOptions="Center" />
<Frame BorderColor="Gray" Padding="5" Margin="1" HasShadow="True">
<VerticalStackLayout>
<!-- Editálható név mező -->
<Entry Text="{Binding CheckPointDTO.ShortName}" Placeholder="Edit item name" />
<Entry Text="{Binding CheckPointDTO.Code}" Placeholder="Edit item name" />
</VerticalStackLayout>
</Frame>
<Grid ColumnSpacing="46" Margin="0,10,0,10">
<!-- 10 pixel térköz az oszlopok között -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="Auto" />
<!-- Üres tér a két gomb között -->
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<!--<Button Text="Save" Command="{Binding SaveCommand}" Grid.Column="0"/>
<Button Text="Cancel" Command="{Binding CancelCommand}" Grid.Column="2"/>-->
</Grid>
<Label Text="Ellenőrzési feladatok" FontAttributes="Bold" FontSize="Medium" HorizontalOptions="Center" />
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<CollectionView x:Name="CheckPointCheckListRows"
HeightRequest="490"
ItemTemplate="{StaticResource AnswerTemplateSelector}">
<CollectionView.EmptyView>
<Label Text="Nincsenek feladatok." HorizontalOptions="Center" VerticalOptions="Center"/>
</CollectionView.EmptyView>
</CollectionView>
</Frame>
</StackLayout>
<ContentPage.Resources>
<DataTemplate x:Key="I_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="P_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*">
<Label Text="Fénykép készítése szükséges" Grid.Column="0" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="V_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*">
<Label Text="Érték megadása szükséges" Grid.Column="0" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="SI_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" BackgroundColor="Yellow" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="I_SN_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" BackgroundColor="Yellow" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="PI_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" BackgroundColor="Red" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="I_PN_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" BackgroundColor="Red" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<templateselectors:AnswerTypeTemplateSelector x:Key="AnswerTemplateSelector"
I_N_Template="{StaticResource I_N_Template}"
P_Template="{StaticResource P_Template}"
SI_N_Template="{StaticResource SI_N_Template}"
I_SN_Template="{StaticResource I_SN_Template}"
PI_N_Template="{StaticResource PI_N_Template}"
I_PN_Template="{StaticResource I_PN_Template}"
V_Template="{StaticResource V_Template}"/>
</ContentPage.Resources>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints.CheckPointEditPage"
xmlns:local="clr-namespace:WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints"
xmlns:templateselectors="clr-namespace:WorkFlowCheck.MAUI.TemplateSelectors"
BackgroundColor="#f0f0f0"
Title="{Binding CheckPointDTO.ShortName}">
<StackLayout Padding="20">
<!-- Cím: Edit Item -->
<Label Text="Ellenőrzési pont adatai" FontSize="24" HorizontalOptions="Center" />
<Frame BorderColor="Gray" Padding="5" Margin="1" HasShadow="True">
<VerticalStackLayout>
<!-- Editálható név mező -->
<Entry Text="{Binding CheckPointDTO.ShortName}" Placeholder="Edit item name" />
<Entry Text="{Binding CheckPointDTO.Code}" Placeholder="Edit item name" />
</VerticalStackLayout>
</Frame>
<Grid ColumnSpacing="46" Margin="0,10,0,10">
<!-- 10 pixel térköz az oszlopok között -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="Auto" />
<!-- Üres tér a két gomb között -->
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<!--<Button Text="Save" Command="{Binding SaveCommand}" Grid.Column="0"/>
<Button Text="Cancel" Command="{Binding CancelCommand}" Grid.Column="2"/>-->
</Grid>
<Label Text="Ellenőrzési feladatok" FontAttributes="Bold" FontSize="Medium" HorizontalOptions="Center" />
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<CollectionView x:Name="CheckPointCheckListRows"
HeightRequest="490"
ItemTemplate="{StaticResource AnswerTemplateSelector}">
<CollectionView.EmptyView>
<Label Text="Nincsenek feladatok." HorizontalOptions="Center" VerticalOptions="Center"/>
</CollectionView.EmptyView>
</CollectionView>
</Frame>
</StackLayout>
<ContentPage.Resources>
<DataTemplate x:Key="I_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="P_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*">
<Label Text="Fénykép készítése szükséges" Grid.Column="0" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="V_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*">
<Label Text="Érték megadása szükséges" Grid.Column="0" HorizontalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="SI_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" BackgroundColor="Yellow" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="I_SN_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" BackgroundColor="Yellow" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="PI_N_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" BackgroundColor="Red" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<DataTemplate x:Key="I_PN_Template">
<Frame BorderColor="Gray" Padding="1" Margin="2" HasShadow="True" CornerRadius="2">
<Grid ColumnSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Text="{Binding OperationDescription}" BackgroundColor="WhiteSmoke" Grid.Column="0" />
<Grid Grid.Column="1" ColumnDefinitions="*,*">
<Label Text="I" Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Label Text="N" Grid.Column="1" BackgroundColor="Red" TextColor="Black" HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
</Grid>
</Grid>
</Frame>
</DataTemplate>
<templateselectors:AnswerTypeTemplateSelector x:Key="AnswerTemplateSelector"
I_N_Template="{StaticResource I_N_Template}"
P_Template="{StaticResource P_Template}"
SI_N_Template="{StaticResource SI_N_Template}"
I_SN_Template="{StaticResource I_SN_Template}"
PI_N_Template="{StaticResource PI_N_Template}"
I_PN_Template="{StaticResource I_PN_Template}"
V_Template="{StaticResource V_Template}"/>
</ContentPage.Resources>
</ContentPage>
@@ -1,46 +1,46 @@
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");
}
}
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");
}
}
@@ -1,51 +1,51 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkFlowCheck.MAUI.Pages.BaseStock.CheckPointsPage"
BackgroundColor="#f0f0f0"
Title="Ellenőrzési pontok">
<Grid>
<!-- Fő tartalom -->
<StackLayout>
<Label x:Name="progressLabel" Text="Folyamatjelző" FontSize="Medium" HorizontalOptions="Center" />
<ProgressBar x:Name="progressBar" WidthRequest="300" HeightRequest="40" />
<Button
x:Name="ButtonSync" Margin="5"
Text="Adatok szinkronizálása"
SemanticProperties.Hint="Adatok szinkronizálása"
Clicked="OnButtonSync"
HorizontalOptions="Fill" />
<RefreshView x:Name="refreshView" Command="{Binding RefreshCommand}" IsRefreshing="{Binding IsRefreshing}">
<CollectionView x:Name="CheckPointsList">
<CollectionView.ItemTemplate>
<DataTemplate>
<Frame BorderColor="Gray" Padding="10" Margin="5" HasShadow="True" BackgroundColor="WhiteSmoke">
<Grid ColumnDefinitions="*,Auto">
<StackLayout>
<Label Text="{Binding ShortName}" FontSize="16" FontAttributes="Bold" />
<Label Text="{Binding Code}" FontSize="14" />
</StackLayout>
<HorizontalStackLayout HorizontalOptions="End">
<Button Text="Betekintés" Margin="5,0,0,0"
Command="{Binding BindingContext.EditCommand, Source={x:Reference CheckPointsList}}"
CommandParameter="{Binding .}" />
<Button Text="Párosítás" Margin="5,0,0,0"
Command="{Binding BindingContext.PairCommand, Source={x:Reference CheckPointsList}}"
CommandParameter="{Binding .}" />
</HorizontalStackLayout>
</Grid>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</RefreshView>
</StackLayout>
<!-- Betöltés közbeni ActivityIndicator -->
<Grid x:Name="loadingOverlay" BackgroundColor="#80000000" IsVisible="{Binding IsLoading}" AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
<ActivityIndicator IsRunning="{Binding IsLoading}" Color="White"
VerticalOptions="Center" HorizontalOptions="Center"
WidthRequest="50" HeightRequest="50"/>
</Grid>
</Grid>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkFlowCheck.MAUI.Pages.BaseStock.CheckPointsPage"
BackgroundColor="#f0f0f0"
Title="Ellenőrzési pontok">
<Grid>
<!-- Fő tartalom -->
<StackLayout>
<Label x:Name="progressLabel" Text="Folyamatjelző" FontSize="Medium" HorizontalOptions="Center" />
<ProgressBar x:Name="progressBar" WidthRequest="300" HeightRequest="40" />
<Button
x:Name="ButtonSync" Margin="5"
Text="Adatok szinkronizálása"
SemanticProperties.Hint="Adatok szinkronizálása"
Clicked="OnButtonSync"
HorizontalOptions="Fill" />
<RefreshView x:Name="refreshView" Command="{Binding RefreshCommand}" IsRefreshing="{Binding IsRefreshing}">
<CollectionView x:Name="CheckPointsList">
<CollectionView.ItemTemplate>
<DataTemplate>
<Frame BorderColor="Gray" Padding="10" Margin="5" HasShadow="True" BackgroundColor="WhiteSmoke">
<Grid ColumnDefinitions="*,Auto">
<StackLayout>
<Label Text="{Binding ShortName}" FontSize="16" FontAttributes="Bold" />
<Label Text="{Binding Code}" FontSize="14" />
</StackLayout>
<HorizontalStackLayout HorizontalOptions="End">
<Button Text="Betekintés" Margin="5,0,0,0"
Command="{Binding BindingContext.EditCommand, Source={x:Reference CheckPointsList}}"
CommandParameter="{Binding .}" />
<Button Text="Párosítás" Margin="5,0,0,0"
Command="{Binding BindingContext.PairCommand, Source={x:Reference CheckPointsList}}"
CommandParameter="{Binding .}" />
</HorizontalStackLayout>
</Grid>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</RefreshView>
</StackLayout>
<!-- Betöltés közbeni ActivityIndicator -->
<Grid x:Name="loadingOverlay" BackgroundColor="#80000000" IsVisible="{Binding IsLoading}" AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
<ActivityIndicator IsRunning="{Binding IsLoading}" Color="White"
VerticalOptions="Center" HorizontalOptions="Center"
WidthRequest="50" HeightRequest="50"/>
</Grid>
</Grid>
</ContentPage>
@@ -1,116 +1,116 @@
using System.Collections.ObjectModel;
using System.Windows.Input;
using WorkFlowCheck.Common.DTO;
using WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints;
using WorkFlowCheck.MAUI.Services.Interfaces;
using Plugin.NFC;
using WorkFlowCheck.MAUI.Pages.NFC;
using AndroidX.Camera.Core.Impl;
namespace WorkFlowCheck.MAUI.Pages.BaseStock;
public partial class CheckPointsPage : ContentPage
{
private readonly IBaseStockService _baseStockService;
private readonly ISyncService _syncService;
public CheckPointsPage()
{
InitializeComponent();
_baseStockService = MauiProgram.ServiceProvider.GetRequiredService<IBaseStockService>();
_syncService = MauiProgram.ServiceProvider.GetRequiredService<ISyncService>();
}
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set
{
_isLoading = value;
OnPropertyChanged();
}
}
public ICommand RefreshCommand { get; set; }
public ICommand EditCommand { get; set; }
public ICommand PairCommand { get; set; }
protected override async void OnAppearing()
{
base.OnAppearing();
RefreshCommand = new Command(async () => await LoadCheckPoints());
EditCommand = new Command<CheckPointDTO>(OnEditItem);
PairCommand = new Command<CheckPointDTO>(OnPairItem);
BindingContext = this;
await LoadCheckPoints();
}
private async Task LoadCheckPoints()
{
IsLoading = true;
CheckPointsList.ItemsSource = await _baseStockService.GetAllCheckPoints();
IsLoading = false;
}
private async void OnEditItem(CheckPointDTO checkPointDTO)
{
await Navigation.PushAsync(new CheckPointEditPage(checkPointDTO));
}
private async void OnPairItem(CheckPointDTO checkPointDTO)
{
var checkPointCode = await NFCWaiter.ShowModalAsync();
if (!string.IsNullOrEmpty(checkPointCode))
{
if (Navigation.ModalStack.Count > 0)
{
await Navigation.PopModalAsync();
}
if (checkPointDTO != null)
{
checkPointDTO.Code = checkPointCode;
await _baseStockService.UpdateCheckPoint(checkPointDTO);
await LoadCheckPoints();
}
}
}
protected override bool OnBackButtonPressed()
{
Shell.Current.GoToAsync("//BaseStockPage");
return true;
}
private async void OnButtonSync(object sender, EventArgs e)
{
IsLoading = true;
ButtonSync.IsEnabled = false;
progressLabel.Text = "Szinkronizálás indítása...";
progressBar.Progress = 0;
try
{
await Task.Run(async () =>
{
await _syncService.SyncCheckPoints_Up((percentage, infostring) =>
{
MainThread.BeginInvokeOnMainThread(() =>
{
progressBar.Progress = percentage / 100;
progressLabel.Text = $"{infostring}: {percentage:0.00}%";
});
});
});
progressLabel.Text = "Szinkronizálás befejezve!";
}
catch (Exception ex)
{
progressLabel.Text = $"Hiba történt: {ex.Message}";
}
finally
{
ButtonSync.IsEnabled = true;
IsLoading = false;
}
}
using System.Collections.ObjectModel;
using System.Windows.Input;
using WorkFlowCheck.Common.DTO;
using WorkFlowCheck.MAUI.Pages.BaseStock.CheckPoints;
using WorkFlowCheck.MAUI.Services.Interfaces;
using Plugin.NFC;
using WorkFlowCheck.MAUI.Pages.NFC;
using AndroidX.Camera.Core.Impl;
namespace WorkFlowCheck.MAUI.Pages.BaseStock;
public partial class CheckPointsPage : ContentPage
{
private readonly IBaseStockService _baseStockService;
private readonly ISyncService _syncService;
public CheckPointsPage()
{
InitializeComponent();
_baseStockService = MauiProgram.ServiceProvider.GetRequiredService<IBaseStockService>();
_syncService = MauiProgram.ServiceProvider.GetRequiredService<ISyncService>();
}
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set
{
_isLoading = value;
OnPropertyChanged();
}
}
public ICommand RefreshCommand { get; set; }
public ICommand EditCommand { get; set; }
public ICommand PairCommand { get; set; }
protected override async void OnAppearing()
{
base.OnAppearing();
RefreshCommand = new Command(async () => await LoadCheckPoints());
EditCommand = new Command<CheckPointDTO>(OnEditItem);
PairCommand = new Command<CheckPointDTO>(OnPairItem);
BindingContext = this;
await LoadCheckPoints();
}
private async Task LoadCheckPoints()
{
IsLoading = true;
CheckPointsList.ItemsSource = await _baseStockService.GetAllCheckPoints();
IsLoading = false;
}
private async void OnEditItem(CheckPointDTO checkPointDTO)
{
await Navigation.PushAsync(new CheckPointEditPage(checkPointDTO));
}
private async void OnPairItem(CheckPointDTO checkPointDTO)
{
var checkPointCode = await NFCWaiter.ShowModalAsync();
if (!string.IsNullOrEmpty(checkPointCode))
{
if (Navigation.ModalStack.Count > 0)
{
await Navigation.PopModalAsync();
}
if (checkPointDTO != null)
{
checkPointDTO.Code = checkPointCode;
await _baseStockService.UpdateCheckPoint(checkPointDTO);
await LoadCheckPoints();
}
}
}
protected override bool OnBackButtonPressed()
{
Shell.Current.GoToAsync("//BaseStockPage");
return true;
}
private async void OnButtonSync(object sender, EventArgs e)
{
IsLoading = true;
ButtonSync.IsEnabled = false;
progressLabel.Text = "Szinkronizálás indítása...";
progressBar.Progress = 0;
try
{
await Task.Run(async () =>
{
await _syncService.SyncCheckPoints_Up((percentage, infostring) =>
{
MainThread.BeginInvokeOnMainThread(() =>
{
progressBar.Progress = percentage / 100;
progressLabel.Text = $"{infostring}: {percentage:0.00}%";
});
});
});
progressLabel.Text = "Szinkronizálás befejezve!";
}
catch (Exception ex)
{
progressLabel.Text = $"Hiba történt: {ex.Message}";
}
finally
{
ButtonSync.IsEnabled = true;
IsLoading = false;
}
}
}