KSbTosAbgleich hinzugefügt

This commit is contained in:
2024-03-26 11:59:23 +01:00
parent 3371d5cfb9
commit a7b5daecaa
13 changed files with 530 additions and 22 deletions
+31
View File
@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34511.84
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KSbTosAbgleich2024Test", "KSbTosAbgleich2024\KSbTosAbgleich2024Test\KSbTosAbgleich2024Test.csproj", "{95186F70-B755-4C5A-9ECA-D30E8D5F2575}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KSbTosAbgleich2024", "KSbTosAbgleich2024\KSbTosAbgleich2024\KSbTosAbgleich2024.csproj", "{CE687EB7-9DB3-4249-BB4E-25CF2EDFED8D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{95186F70-B755-4C5A-9ECA-D30E8D5F2575}.Debug|x64.ActiveCfg = Debug|x64
{95186F70-B755-4C5A-9ECA-D30E8D5F2575}.Debug|x64.Build.0 = Debug|x64
{95186F70-B755-4C5A-9ECA-D30E8D5F2575}.Release|x64.ActiveCfg = Release|x64
{95186F70-B755-4C5A-9ECA-D30E8D5F2575}.Release|x64.Build.0 = Release|x64
{CE687EB7-9DB3-4249-BB4E-25CF2EDFED8D}.Debug|x64.ActiveCfg = Debug|x64
{CE687EB7-9DB3-4249-BB4E-25CF2EDFED8D}.Debug|x64.Build.0 = Debug|x64
{CE687EB7-9DB3-4249-BB4E-25CF2EDFED8D}.Release|x64.ActiveCfg = Release|x64
{CE687EB7-9DB3-4249-BB4E-25CF2EDFED8D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B91FDB12-BBD6-4F49-A814-7DBE09BDBFED}
EndGlobalSection
EndGlobal
@@ -0,0 +1,42 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>disable</Nullable>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<PlatformTarget>x64</PlatformTarget>
<Platforms>x64</Platforms>
<RootNamespace>KSbTosAbgleich2024</RootNamespace>
<AssemblyName>KSbTosAbgleich2024</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DevExpress.Wpf.de" Version="22.2.*-*" />
</ItemGroup>
<ItemGroup>
<Reference Include="Basis">
<HintPath>N:\NetEnv\Basis.dll</HintPath>
</Reference>
<Reference Include="BasisOrm">
<HintPath>N:\NetEnv\BasisOrm.dll</HintPath>
</Reference>
<Reference Include="K_SB_TOS_ABGLEICH_2024_PCKpck">
<HintPath>N:\NetEnvSchulung\DbPackagesDll\K_SB_TOS_ABGLEICH_2024_PCKpck.dll</HintPath>
</Reference>
<Reference Include="SivasLibrary">
<HintPath>N:\NetEnv\BibliothekDll\SivasLibrary.dll</HintPath>
</Reference>
<Reference Include="SnfOrmModel">
<HintPath>N:\NetEnv\DatenDll\SnfOrmModel.dll</HintPath>
</Reference>
<Reference Include="SnfUIElements">
<HintPath>N:\NetEnv\BibliothekDll\SnfUIElements.dll</HintPath>
</Reference>
<Reference Include="Sdf.DevArt.Packages">
<HintPath>N:\NetEnv\Sdf.DevArt.Packages.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
@@ -0,0 +1,40 @@
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: AssemblyTitle("KSbTosAbgleich2024")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KSbTosAbgleich2024")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,20 @@
using Snf.Basis;
using KSbTosAbgleich2024.UserControls.Main;
namespace KSbTosAbgleich2024
{
public class Start : SnfBasisStart
{
public override SnfUserControl StartModul(SnfProgrammStarter iparam)
{
// Neue Instanznummer ermitteln
var instanz = BasisStart(iparam);
// UserControl holen
var uc = SnfEnvironment.HoleUserControl<MainUserControl, MainViewModel>(instanz);
// UserControl zurückgeben
return uc;
}
}
}
@@ -0,0 +1,49 @@
<Basis:SnfUserControl x:Class="KSbTosAbgleich2024.UserControls.Main.MainUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:Basis="clr-namespace:Snf.Basis;assembly=Basis"
xmlns:grid="clr-namespace:Snf.Control.Grid;assembly=Basis"
xmlns:controls="clr-namespace:SivasLibrary.Controls;assembly=SivasLibrary"
SnfUserControlTyp="Leer"
Loaded="MainUserControl_Loaded"
SnfWindowTitel="TOS-Gruppenabgleich"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="300">
<grid:SnfGridControl x:Name="MainGridControl"
SnfBlockName="MAIN"
ItemsSource="{Binding TosAbgleich}"
SnfNeuErlaubt="NichtErlaubt"
SnfLoeschenErlaubt="NichtErlaubt"
SnfReadOnly="True">
<controls:SivasGridTeilenrColumn x:Name="TeilenrColumn"
SnfLabel="Teilenummer"
SnfFieldName="TEILENR"
SnfGridColumnLaenge="Mittel"/>
<grid:SnfGridTextColumn x:Name="BezTextColumn"
SnfLabel="Bezeichnung"
SnfFieldName="BEZ"
SnfGridColumnLaenge="MittelLang" />
<grid:SnfGridTextColumn x:Name="Bez2TextColumn"
SnfLabel="Bezeichnung2"
SnfFieldName="BEZ2"
SnfGridColumnLaenge="Lang"/>
<grid:SnfGridTextColumn x:Name="GrnrTextColumn"
SnfLabel="TOS-Gruppe"
SnfFieldName="GRNR"
SnfGridColumnLaenge="KurzMittel"/>
<grid:SnfGridTextColumn x:Name="AktionTextColumn"
SnfLabel="Aktion"
SnfFieldName="AKTION"
SnfGridColumnLaenge="Lang"/>
<grid:SnfGridCheckColumn x:Name="AuswahlJnTextColumn"
SnfLabel="Ausw."
SnfFieldName="AUSWAHL_JN"
SnfValueChecked="J"
SnfValueUnchecked="N"
SnfValueOthers="Unchecked"
SnfGridColumnLaenge="Kurz"/>
</grid:SnfGridControl>
</Basis:SnfUserControl>
@@ -0,0 +1,174 @@
using Microsoft.Win32;
using Snf.Basis;
using Snf.Basis.Commands;
using Snf.Control;
using Snf.Control.Core;
using Snf.Daten;
using Snf.Orm;
using System;
using System.Collections.Generic;
using System.Data;
namespace KSbTosAbgleich2024.UserControls.Main
{
/// <summary>
/// Interaction logic for MainUserControl.xaml
/// </summary>
public partial class MainUserControl : SnfUserControl
{
#region Konstruktor
public MainUserControl()
{
InitializeComponent();
Loaded += MainUserControl_Loaded;
SnfDruckenCommand = new SnfDelegateCommand(this, "Drucken", null, NichtErlaubt);
}
#endregion
#region Overrides
public override void SnfViewModelGesetzt()
{
ViewModel = SnfViewModel as MainViewModel;
}
public override SnfButtonleisteDefinition SnfButtonleisteSetzen()
{
var lst = new SnfButtonleisteDefinition
{
AnzahlButtons = AnzahlButtonsEnum.ZweiButtons,
Button1Content = "Abgleich",
Button1Command = new SnfDelegateCommand(this, "Abgleich", Abgleich_Executed, Abgleich_CanExecute),
Button2Content = "Abbruch",
Button2Command = new SnfDelegateCommand(this, "Abbruch", Abbruch_Executed, Abbruch_CanExecute)
};
return lst;
}
#endregion
#region Properties
private MainViewModel ViewModel { get; set; }
private bool loaded = false;
#endregion
#region Fields
#endregion
#region Methods
private void FileUebernahmeNachaufruf(SnfNachAufruf aufruf)
{
if (!aufruf.SnfDirekt || ViewModel == null) return;
ViewModel.DatenLaden();
}
#endregion
#region Commands
private void NichtErlaubt(object sender, Snf.Basis.Commands.SnfCanExecuteRoutedEventArgs e)
{
e.Handled = true;
e.CanExecute = false;
}
private void Abbruch_Executed(object sender, SnfExecutedRoutedEventArgs e)
{
e.Handled = true;
SnfClose();
}
private void Abbruch_CanExecute(object sender, SnfCanExecuteRoutedEventArgs e)
{
e.Handled = true;
e.CanExecute = true;
}
private void Abgleich_Executed(object sender, SnfExecutedRoutedEventArgs e)
{
e.Handled = true;
SnfManager.Package.K_SB_TOS_ABGLEICH_2024_PCK_ABGLEICH();
SnfManager.SnfSpeichern();
SnfMessageBox.ZeigenCheckBox("Abgleich durchgeführt", "TOS-Abgleich", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Information);
SnfClose();
}
private void Abgleich_CanExecute(object sender, SnfCanExecuteRoutedEventArgs e)
{
e.Handled = true;
e.CanExecute = false;
if (ViewModel == null || ViewModel.TosAbgleich == null || ViewModel.TosAbgleich.Rows.Count == 0)
return;
foreach(DataRow row in ViewModel.TosAbgleich.Rows)
{
if (row["AUSWAHL_JN"].ToString() == "J")
{
e.CanExecute = true;
return;
}
}
}
#endregion
#region Events
private void MainUserControl_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
if (loaded) return;
Loaded -= MainUserControl_Loaded;
loaded = true;
if (ViewModel == null)
{
SnfClose();
return;
}
var param = new Dictionary<string, object>
{
{ "FILE_TYP", "TOS_ABGLEICH_2024" }
};
var pg = new SnfProgrammAufruf
{
Aktion = "FileUebernahme",
AktionsTyp = SnfAktionsTyp.Net,
Parameter = param,
Window = SnfWindow,
NachAufruf = FileUebernahmeNachaufruf
};
SnfEnvironment.ProgrammAufrufen(pg, SnfAufrufTyp.Dialog);
//var dialog = new OpenFileDialog
//{
// Filter = "CSV-Dateien|*.csv",
// InitialDirectory = "C:\\tmp\\",
// Title = "Auswahl Import-CSV-Datei"
//};
//if (dialog.ShowDialog() == true)
//{
// dialog.FileName;
//}
}
#endregion
}
}
@@ -0,0 +1,74 @@
using Snf.Basis;
using System;
using System.Collections.Generic;
namespace KSbTosAbgleich2024.UserControls.Main
{
public class MainViewModel : SnfBasisViewModel
{
#region Konstruktor
public MainViewModel()
{
}
#endregion
#region Overrides
#endregion
#region Properties
private SnfDataTable _tosAbgleich;
public SnfDataTable TosAbgleich
{
get { return _tosAbgleich; }
set
{
if (_tosAbgleich == value) return;
_tosAbgleich = value;
OnPropertyChanged("TosAbgleich");
}
}
#endregion
#region Fields
#endregion
#region Methods
internal void DatenLaden()
{
const string sql = @"select t.teilenr,
t.grnr,
t.bez,
t.bez2,
t.auswahl_jn,
t.aktion
from SIVAS.K_SB_TOS_ABGLEICH_2024 t
where benutzer = user
and t.teilenr != 'SivasId'
and t.grnr != 'TosNumber'
order by t.auswahl_jn desc nulls last,
t.teilenr";
TosAbgleich = SnfManager.SelectAusfuehren(sql);
}
#endregion
#region Commands
#endregion
#region Events
#endregion
}
}
@@ -0,0 +1,5 @@
<Basis:SnfApplication x:Class="MerkmalsEingabeTest.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Basis="clr-namespace:Snf.Basis;assembly=Basis">
</Basis:SnfApplication>
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace KSbTosAbgleich2024Test
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
@@ -0,0 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>disable</Nullable>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<Platforms>x64</Platforms>
<RootNamespace>KSbTosAbgleich2024Test</RootNamespace>
<AssemblyName>KSbTosAbgleich2024Test</AssemblyName>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\KSbTosAbgleich2024\KSbTosAbgleich2024.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Basis">
<HintPath>N:\NetEnv\Basis.dll</HintPath>
</Reference>
<Reference Include="BasisOrm">
<HintPath>N:\NetEnv\BasisOrm.dll</HintPath>
</Reference>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="copy N:\NetEnvSchulung\SnfConfig.xml &quot;$(TargetDir)&quot;&#xD;&#xA;copy N:\NetEnvSchulung\SnfDatabaseConfig.xml &quot;$(TargetDir)&quot;" />
</Target>
</Project>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<ItemGroup>
<ApplicationDefinition Update="App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>
</ItemGroup>
</Project>
@@ -0,0 +1,38 @@
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: AssemblyTitle("KSbTosAbgleich2024Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KSbTosAbgleich2024Test")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]