3 Commits

Author SHA1 Message Date
511349e4d2 error in tortoise git explorer 2023-09-13 13:47:18 +02:00
8a52789bb3 Backups 2023-09-13 11:28:55 +02:00
3cc24b7178 Update DevExpress v23.1 2023-09-13 11:20:49 +02:00
11101 changed files with 7365542 additions and 805849 deletions

55
.gitignore vendored
View File

@@ -1,5 +1,3 @@
.cr
.editorconfig
/BeWoOhneReports.v12.suo
/BeWo/bin
/BeWo/obj
@@ -9,7 +7,6 @@
/BeWoPlanerAndroid/obj
/BeWoPlanerMobil/bin
/BeWoPlanerMobil/obj
/BeWoTest
/Host/bin
/Host/obj
/Controls/bin
@@ -587,8 +584,43 @@ obj
/SharedLauncher/obj
/BeWoLauncher/bin
/BeWoLauncher/obj
/UnitTests/bin
/UnitTests/obj
/DownloadServer/bin
/DownloadServer/obj
/BeWoTest/bin
/BeWoTest/obj
/UnitTestProject472/bin
/UnitTestProject472/obj
/UnitTestProject45/bin
/UnitTestProject45/obj
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/00b5f0d5941249ee88d7a8d45b9fb7e7/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/00b5f0d5941249ee88d7a8d45b9fb7e7/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3a26bfe04f544c888c3c22c21e050bd9/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3a26bfe04f544c888c3c22c21e050bd9/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/5e1a7ed7594f4cb8847da1a45cb5673f/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/5e1a7ed7594f4cb8847da1a45cb5673f/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/6f24f6f284934376a0bb9523810927a8/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/6f24f6f284934376a0bb9523810927a8/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/8aff2dde24b04e33ab392c5ca1ee9cdd/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/8aff2dde24b04e33ab392c5ca1ee9cdd/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/52df7b78120346188343ca5e9e5f1fa5/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/52df7b78120346188343ca5e9e5f1fa5/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/72d7034f45aa46498b7c2dbf08bab4f5/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/72d7034f45aa46498b7c2dbf08bab4f5/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/101e4887e6284256a484b71c9791c62a/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/101e4887e6284256a484b71c9791c62a/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/278d0ec2bca24727ba0be74fce4ab7a9/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/278d0ec2bca24727ba0be74fce4ab7a9/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/35014e6626e447e19072ffe87f3fef60/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/35014e6626e447e19072ffe87f3fef60/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3049467ad6044509a9b73ae6a7cecd20/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3049467ad6044509a9b73ae6a7cecd20/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/ccb2b088065a484aa0eb9f62d2f9cf27/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/ccb2b088065a484aa0eb9f62d2f9cf27/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/e7eac8d4d5db47a799420bfb0d6fbc2f/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/e7eac8d4d5db47a799420bfb0d6fbc2f/virtualDocument.prnx
/BeWoPlanerMobil/demo/temp
/BeWoPlanerMobil/node_modules/.bin/escodegen
/BeWoPlanerMobil/node_modules/.bin/escodegen.cmd
/BeWoPlanerMobil/node_modules/.bin/escodegen.ps1
@@ -604,17 +636,8 @@ obj
/BeWoPlanerMobil/node_modules/.bin/pegjs
/BeWoPlanerMobil/node_modules/.bin/pegjs.cmd
/BeWoPlanerMobil/node_modules/.bin/pegjs.ps1
/BeWoPlanerMobilAllReports.sln
/ReportImp/Lazy/CustomMitarbeiterstundenkontoBerechnung.cs
/ReportImp/Lazy/Lazy.csproj
/ReportImp/Lazy/Mitarbeiterstundenkonto.cs
/ReportImp/Lazy/Mitarbeiterstundenkonto.designer.cs
/ReportImp/Lazy/Mitarbeiterstundenkonto.resx
/ReportImp/Lazy/Properties/AssemblyInfo.cs
/ReportImp/Lazy/Properties/licenses.licx
/CustomerDlls
/Dakota/bin
/Dakota/obj
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Release
/ReportImp/TestLWV
/ReportImp/AWOMuensterlandRecklinghausen/Calculations
/ReportImp/BehindertNaUnd/CustomDataExporter.cs
/ReportImp/BehindertNaUnd/DatevExporter.cs
/.cr

111
BeWo.sln
View File

@@ -485,7 +485,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetreuwoWesel", "ReportImp\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WahlEv", "ReportImp\WahlEv\WahlEv.csproj", "{68BC6F76-7C77-4959-BC88-27696BBA41F5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BHVBergischeHauspflege", "ReportImp\BHVBergischeHauspflege\BHVBergischeHauspflege.csproj", "{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BHVBergischeHauspflege", "ReportImp\BHVBergischeHauspflege\BHVBergischeHauspflege.csproj", "{375E3B1B-633A-477B-B0CF-C3A430B4A62D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MuenchenerAidsHilfeEV", "ReportImp\MuenchenerAidsHilfeEV\MuenchenerAidsHilfeEV.csproj", "{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4}"
EndProject
@@ -599,14 +599,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Inkomm", "ReportImp\Inkomm\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MalteserJohanniterJohanneshaus", "ReportImp\MalteserJohanniterJohanneshaus\MalteserJohanniterJohanneshaus.csproj", "{28331CB1-17FD-4B58-A837-E0249CAAC535}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoLauncher", "BeWoLauncher\BeWoLauncher.csproj", "{E3BA193A-A64F-4CE6-91BE-F54E551797BE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedLauncher", "SharedLauncher\SharedLauncher.csproj", "{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DownloadServer", "DownloadServer\DownloadServer.csproj", "{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -3874,22 +3866,22 @@ Global
{68BC6F76-7C77-4959-BC88-27696BBA41F5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{68BC6F76-7C77-4959-BC88-27696BBA41F5}.Release|x86.ActiveCfg = Release|Any CPU
{68BC6F76-7C77-4959-BC88-27696BBA41F5}.Release|x86.Build.0 = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|.NET.ActiveCfg = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|.NET.Build.0 = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|x86.ActiveCfg = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Debug|x86.Build.0 = Debug|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|.NET.ActiveCfg = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|.NET.Build.0 = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|Any CPU.Build.0 = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|x86.ActiveCfg = Release|Any CPU
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D}.Release|x86.Build.0 = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|.NET.ActiveCfg = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|.NET.Build.0 = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|x86.ActiveCfg = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Debug|x86.Build.0 = Debug|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|.NET.ActiveCfg = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|.NET.Build.0 = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|Any CPU.Build.0 = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|x86.ActiveCfg = Release|Any CPU
{375E3B1B-633A-477B-B0CF-C3A430B4A62D}.Release|x86.Build.0 = Release|Any CPU
{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4}.Debug|.NET.ActiveCfg = Debug|Any CPU
{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4}.Debug|.NET.Build.0 = Debug|Any CPU
{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -4786,70 +4778,6 @@ Global
{28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|x86.ActiveCfg = Release|Any CPU
{28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|x86.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|x86.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|x86.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.Build.0 = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|.NET.ActiveCfg = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|.NET.Build.0 = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|x86.ActiveCfg = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|x86.Build.0 = Debug|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|.NET.ActiveCfg = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|.NET.Build.0 = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Any CPU.Build.0 = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|x86.ActiveCfg = Release|Any CPU
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|x86.Build.0 = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|.NET.ActiveCfg = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|.NET.Build.0 = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|x86.ActiveCfg = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|x86.Build.0 = Debug|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|.NET.ActiveCfg = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|.NET.Build.0 = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Any CPU.Build.0 = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|x86.ActiveCfg = Release|Any CPU
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|x86.Build.0 = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|.NET.ActiveCfg = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|.NET.Build.0 = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|x86.ActiveCfg = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|x86.Build.0 = Debug|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|.NET.ActiveCfg = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|.NET.Build.0 = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Any CPU.Build.0 = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|x86.ActiveCfg = Release|Any CPU
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -5088,7 +5016,7 @@ Global
{2C075472-0BEE-46CA-A996-7E0FB2B1A717} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{DF3E1CBE-16A6-4533-8C22-0C43EEFE771B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{68BC6F76-7C77-4959-BC88-27696BBA41F5} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{F63DB13E-7930-4D8D-8C2F-B83B25502A9D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{375E3B1B-633A-477B-B0CF-C3A430B4A62D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{22787692-B2AD-445D-93DB-D3B9F51F0257} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{D2668FF9-5A6B-497F-876D-C560919BA30C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
@@ -5145,9 +5073,6 @@ Global
{50AFC9EA-61A7-4D3B-B8E6-82CABD29A421} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{AD3876F3-40C0-47CF-BA36-687139903F87} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{28331CB1-17FD-4B58-A837-E0249CAAC535} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{47331732-DD96-4075-869F-83AA9F3F9937} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{E3BA193A-A64F-4CE6-91BE-F54E551797BE} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -43,12 +43,12 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.236</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.228</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>237</ApplicationRevision>
<ApplicationRevision>229</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
@@ -98,54 +98,49 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\Blacklight.Wpf.Controls.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Web.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Accordion.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.CodeView.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Core.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Charts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Docking.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.DocumentViewer.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Xpf.Grid.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Layout.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.LayoutControl.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.PivotGrid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Controls.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Printing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Ribbon.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Office.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.RichEdit.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Scheduler.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.LightGray.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2010Black.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2013.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2016White.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.PivotGrid.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.CodeParser.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Drawing.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Pdf.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.1.Export, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Web.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Accordion.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Core.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Charts.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Docking.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.DocumentViewer.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Xpf.Grid.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Layout.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.LayoutControl.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.PivotGrid.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Printing.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Ribbon.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.RichEdit.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Scheduler.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.LightGray.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2010Black.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2013.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2016White.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraBars.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.PivotGrid.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.CodeParser.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraGrid.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.1, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.1.Core, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.1.Core.Desktop, Version=23.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -236,10 +231,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="SchulbegleitenderDienst\View\SbdOrganisationView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="SchulbegleitenderDienst\View\SbdAdminView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -306,10 +297,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Controls\GkvAbrechnungDetailControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Controls\MonthPicker.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -326,26 +313,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Controls\TextViewer.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Controls\ValueListEntryEditControl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Accounting\GkvAbrechnungOverview.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Accounting\NewGkvAbrechnungPopUpView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\DebugMessageLogView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -836,7 +807,6 @@
<Compile Include="ConfirmDemoDialog.xaml.cs">
<DependentUpon>ConfirmDemoDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Loader.cs" />
<Compile Include="MultiLanguage\Markup\TranslateExtension.cs" />
<Compile Include="MultiLanguage\ServiceTranslator.cs" />
<Compile Include="ownChat\OwnChatHelper.cs" />
@@ -878,9 +848,6 @@
<Compile Include="SchulbegleitenderDienst\View\AbsenceTimeEditView.xaml.cs">
<DependentUpon>AbsenceTimeEditView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\View\SbdOrganisationView.xaml.cs">
<DependentUpon>SbdOrganisationView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\View\SbdAdminView.xaml.cs">
<DependentUpon>SbdAdminView.xaml</DependentUpon>
</Compile>
@@ -966,9 +933,7 @@
<Compile Include="ViewModel\DocumentTreeItemVM.cs" />
<Compile Include="ViewModel\DokumentvorlageVM.cs" />
<Compile Include="ViewModel\GeschenkterUrlaubstagVM.cs" />
<Compile Include="ViewModel\ListViewModel\GkvAbrechnungListVM.cs" />
<Compile Include="ViewModel\ListViewModel\PreisListVM.cs" />
<Compile Include="ViewModel\GkvAbrechnungVM.cs" />
<Compile Include="ViewModel\PreisVM.cs" />
<Compile Include="ViewModel\PrintSelectionVM.cs" />
<Compile Include="ViewModel\QuittierungsbelegsstatusVM.cs" />
@@ -1062,7 +1027,6 @@
<Compile Include="ViewModel\OrganisationPersonRelationVM.cs" />
<Compile Include="ViewModel\TextModuleVM.cs" />
<Compile Include="ViewModel\VerordnungslistenVM.cs" />
<Compile Include="View\BeWoWindowBuilder.cs" />
<Compile Include="View\Controls\DPCtrlEmployeeContractTooltip.xaml.cs">
<DependentUpon>DPCtrlEmployeeContractTooltip.xaml</DependentUpon>
</Compile>
@@ -1078,9 +1042,6 @@
<Compile Include="View\Controls\DPCtrlSoll.cs" />
<Compile Include="View\Controls\DPCtrlUrlaubKrankheit.cs" />
<Compile Include="View\Controls\DPCtrlZeitkonto.cs" />
<Compile Include="View\Controls\GkvAbrechnungDetailControl.xaml.cs">
<DependentUpon>GkvAbrechnungDetailControl.xaml</DependentUpon>
</Compile>
<Compile Include="View\Controls\MonthPicker.xaml.cs">
<DependentUpon>MonthPicker.xaml</DependentUpon>
</Compile>
@@ -1097,21 +1058,9 @@
<Compile Include="View\Controls\ListboxSelectControl.xaml.cs">
<DependentUpon>ListboxSelectControl.xaml</DependentUpon>
</Compile>
<Compile Include="View\Controls\TextViewer.xaml.cs">
<DependentUpon>TextViewer.xaml</DependentUpon>
</Compile>
<Compile Include="View\Controls\ValueListEntryEditControl.xaml.cs">
<DependentUpon>ValueListEntryEditControl.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml.cs">
<DependentUpon>DigitalInvoiceOverview.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Accounting\GkvAbrechnungOverview.xaml.cs">
<DependentUpon>GkvAbrechnungOverview.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Accounting\NewGkvAbrechnungPopUpView.xaml.cs">
<DependentUpon>NewGkvAbrechnungPopUpView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\DebugMessageLogView.xaml.cs">
<DependentUpon>DebugMessageLogView.xaml</DependentUpon>
</Compile>
@@ -2516,10 +2465,6 @@
<Project>{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}</Project>
<Name>Controls</Name>
</ProjectReference>
<ProjectReference Include="..\SharedLauncher\SharedLauncher.csproj">
<Project>{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}</Project>
<Name>SharedLauncher</Name>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Name>Shared</Name>
@@ -2615,7 +2560,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Charts.v23.2.Core">
<PublishFile Include="DevExpress.Charts.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2625,7 +2570,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Data.v23.2">
<PublishFile Include="DevExpress.Data.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2635,7 +2580,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Data.v23.2.Linq">
<PublishFile Include="DevExpress.Data.v23.1.Linq">
<Visible>False</Visible>
<Group>
</Group>
@@ -2645,7 +2590,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Office.v23.2.Core">
<PublishFile Include="DevExpress.Office.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2655,7 +2600,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.PivotGrid.v23.2.Core">
<PublishFile Include="DevExpress.PivotGrid.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2665,7 +2610,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Printing.v23.2.Core">
<PublishFile Include="DevExpress.Printing.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2675,7 +2620,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.RichEdit.v23.2.Core">
<PublishFile Include="DevExpress.RichEdit.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2685,7 +2630,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.RichEdit.v23.2.Export">
<PublishFile Include="DevExpress.RichEdit.v23.1.Export">
<Visible>False</Visible>
<Group>
</Group>
@@ -2695,7 +2640,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Sparkline.v23.2.Core">
<PublishFile Include="DevExpress.Sparkline.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2705,7 +2650,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Utils.v23.2">
<PublishFile Include="DevExpress.Utils.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2715,7 +2660,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Accordion.v23.2">
<PublishFile Include="DevExpress.Xpf.Accordion.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2725,7 +2670,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Charts.v23.2">
<PublishFile Include="DevExpress.Xpf.Charts.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2735,7 +2680,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Core.v23.2">
<PublishFile Include="DevExpress.Xpf.Core.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2745,7 +2690,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Docking.v23.2">
<PublishFile Include="DevExpress.Xpf.Docking.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2755,7 +2700,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Grid.v23.2">
<PublishFile Include="DevExpress.Xpf.Grid.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2765,7 +2710,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Grid.v23.2.Core">
<PublishFile Include="DevExpress.Xpf.Grid.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2775,7 +2720,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Layout.v23.2.Core">
<PublishFile Include="DevExpress.Xpf.Layout.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2785,7 +2730,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Mvvm.v23.2">
<PublishFile Include="DevExpress.Xpf.Mvvm.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2795,7 +2740,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Printing.v23.2">
<PublishFile Include="DevExpress.Xpf.Printing.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2805,7 +2750,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Printing.v23.2.Core">
<PublishFile Include="DevExpress.Xpf.Printing.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2815,7 +2760,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Ribbon.v23.2">
<PublishFile Include="DevExpress.Xpf.Ribbon.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2825,7 +2770,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Scheduler.v23.2">
<PublishFile Include="DevExpress.Xpf.Scheduler.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2835,7 +2780,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v23.2">
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2845,7 +2790,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v23.2">
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2855,7 +2800,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v23.2">
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2865,7 +2810,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2013.v23.2">
<PublishFile Include="DevExpress.Xpf.Themes.Office2013.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2875,7 +2820,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v23.2">
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2885,7 +2830,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraBars.v23.2">
<PublishFile Include="DevExpress.XtraBars.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2895,7 +2840,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraCharts.v23.2">
<PublishFile Include="DevExpress.XtraCharts.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2905,7 +2850,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraEditors.v23.2">
<PublishFile Include="DevExpress.XtraEditors.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2915,7 +2860,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraNavBar.v23.2">
<PublishFile Include="DevExpress.XtraNavBar.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2925,7 +2870,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraPivotGrid.v23.2">
<PublishFile Include="DevExpress.XtraPivotGrid.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2935,7 +2880,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraPrinting.v23.2">
<PublishFile Include="DevExpress.XtraPrinting.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2945,7 +2890,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraReports.v23.2">
<PublishFile Include="DevExpress.XtraReports.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2955,7 +2900,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v23.2">
<PublishFile Include="DevExpress.XtraScheduler.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -2965,7 +2910,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Core">
<PublishFile Include="DevExpress.XtraScheduler.v23.1.Core">
<Visible>False</Visible>
<Group>
</Group>
@@ -2975,7 +2920,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Reporting">
<PublishFile Include="DevExpress.XtraScheduler.v23.1.Reporting">
<Visible>False</Visible>
<Group>
</Group>
@@ -2985,7 +2930,7 @@
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraTreeList.v23.2">
<PublishFile Include="DevExpress.XtraTreeList.v23.1">
<Visible>False</Visible>
<Group>
</Group>
@@ -3120,12 +3065,6 @@
<ItemGroup>
<Resource Include="Ressources\Icons\Copy24.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Ressources\Icons\AB.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Ressources\Icons\BoyAndGirl.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>

3086
BeWo/BeWo.csproj.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,14 +2,13 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>D:\Projects\beyondsoft\BeWoPlaner\Publish\|publish\|D:\Projects\beyondsoft\BeWoPlaner\PublishTest\|D:\Projects\beyondsoft\BeWoPlaner\PublishDev\|D:\Projects\beyondsoft\BeWoPlaner\Publish45\</PublishUrlHistory>
<InstallUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/dev/|http://app.ownsoft.de/dev/|http://app.beyondsoft.de/dev/|http://app.beyondsoft.de/</InstallUrlHistory>
<InstallUrlHistory>https://app.ownsoft.de/|http://app.beyondsoft.de/|http://app.beyondsoft.de/test/|http://app.beyondsoft.de/dev/|http://app.beyondsoft.de/sbdtest/</InstallUrlHistory>
<SupportUrlHistory />
<UpdateUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/bewoplaner.application/</UpdateUrlHistory>
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>de-DE</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
<PropertyGroup>
<EnableSecurityDebugging>false</EnableSecurityDebugging>

View File

@@ -33,7 +33,6 @@ using ChatController.HauptKlassen;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Grid;
using DevExpress.XtraScheduler;
using BS.SharedLauncher.Information;
namespace BeWo
{
@@ -50,8 +49,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.20";
public static string Version = "Version 3.20 (GKV Test)";
public static string ShortVersion = "3.16";
public static string Version = "Version 3.16";
public static int RenderTier = 0;
@@ -205,9 +204,7 @@ namespace BeWo
var showInfoButtonInCalender = false;
AppSettings.ShowAdvisedAttendedFlag = false;
AppSettings.ShowAdvisedAttendedFlag = false;
var timeRecordingMenuName = string.Empty;
if (_Mandator != null)
@@ -369,33 +366,6 @@ namespace BeWo
showDienstplanung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.Arbeitszeiterfassung);
if (val != null && val.Equals("1"))
{
AppSettings.Arbeitszeiterfassung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableArbeitszeiterfassung);
if (val != null && val.Equals("1"))
{
AppSettings.EnableArbeitszeiterfassung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableAutomaticPauses);
if (val != null && val.Equals("1"))
{
AppSettings.EnableAutomaticPauses = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableRestTimeWarning);
if (val != null && val.Equals("1"))
{
AppSettings.EnableRestTimeWarning = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.MaxWorkTimeHoursBeforeWarning);
int hours;
if (Int32.TryParse(val, out hours))
{
AppSettings.MaxWorkTimeHoursBeforeWarning = hours;
}
var anzahl = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.DienstplanungStandardZeilenAnzahl);
if (anzahl != null)
{
@@ -518,13 +488,6 @@ namespace BeWo
_AppSettings.ServiceRecordAllowChangeHours = Convert.ToInt32(val);
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.AllowGkvAbrechnung);
AppSettings.AllowGkvAbrechnung = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.ShowImportAbschlagszahlungen);
AppSettings.ShowImportAbschlagszahlungen = val != null && val.Equals("1");
switch (_Mandator.BeWoClientType)
{
case 1:
@@ -628,36 +591,28 @@ namespace BeWo
}
}
internal static Uri SiteOfOrigin
{
get
{
return new Uri(SessionInformation.Connection.CoreServerAddressExact ?? SiteOfOrigin2.ToString());
}
}
internal static Uri SiteOfOrigin2
internal static Uri SiteOfOrigin
{
get
{
String url = "";
#if DEBUG
url = String.Format("http://localhost:3777/Host");
//return new Uri("https://app5.bewoplaner.de/service");
//return new Uri("https://app4.bewoplaner.de/service");
//url = String.Format("app1.bewoplaner.de/service");
#endif
if (!String.IsNullOrEmpty(ServerAddress) && String.IsNullOrEmpty(url))
{
{
url = ServerAddress.ToLower();
}
if (url.IndexOf("localhost") < 0)
if (url.IndexOf("localhost") < 0)
{
int i;
if (Int32.TryParse(url, out i))
url = "app" + url;
@@ -665,17 +620,17 @@ namespace BeWo
{
url += ".bewoplaner.de";
}
//if (url.IndexOf("/service45") < 0)
//{
// url += "/service45";
//}
if (url.IndexOf("/service") < 0)
{
url += "/service";
}
//if (url.IndexOf("/service45") < 0)
//{
// url += "/service45";
//}
if (url.IndexOf("/service") < 0)
{
url += "/service";
}
return new Uri(String.Format("https://{0}", url));
return new Uri(String.Format("https://{0}", url));
}
return new Uri(url);
}
@@ -822,7 +777,6 @@ namespace BeWo
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.ZeigeNurMeineTermine, _AppSettings.ZeigeNurMeineTermine ? "1" : "0", _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordTimeIntervalDays, _AppSettings.LastSelectedServiceRecordTimeIntervalDays.ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordMonth, _AppSettings.LastSelectedServiceRecordMonth.ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastKassenSortOrder, _AppSettings.LastKassenSortOrder.ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, ((int)_AppSettings.LetzteZeiterfassungsDauer).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerViewType, ((int) _AppSettings.SchedulerViewType).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerTimelineViewDayCount, (_AppSettings.SchedulerTimelineViewDayCount).ToString(), _LoggedOnUser.Settings);
@@ -914,12 +868,15 @@ namespace BeWo
// Die Sprache für alle Threads auf Deutsch stellen.
var cultureInfo = CultureInfo.CreateSpecificCulture("de-DE");
Thread.CurrentThread.CurrentUICulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
base.OnStartup(e);
ApplicationThemeHelper.ApplicationThemeName = Theme.Office2010BlackName;
base.OnStartup(e);
//AppDomain.CurrentDomain.UnhandledException += (s, ex) => ShowError(null, ex.ExceptionObject as Exception, true);
Dispatcher.UnhandledException += (s, ex)
@@ -936,16 +893,6 @@ namespace BeWo
};
FrameworkElement.LanguageProperty.OverrideMetadata(typeof (FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
var args = e.Args;
if (args.Length > 0)
{
var success = SessionInformation.LoadPipe(args[0]);
if(success)
Loader.Load();
}
}
private static void ReloadSettings(List<SettingsDC> settings)
@@ -1035,12 +982,7 @@ namespace BeWo
{
_AppSettings.LastSelectedServiceRecordMonth = Convert.ToDateTime(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastSelectedServiceRecordMonth, settings));
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastKassenSortOrder, settings);
if (val != null)
{
_AppSettings.LastKassenSortOrder = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastKassenSortOrder, settings));
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, settings);
if(val != null)
@@ -1196,7 +1138,7 @@ namespace BeWo
if (string.IsNullOrEmpty(username) || !username.Equals(_LoggedOnUser.LoginName, StringComparison.OrdinalIgnoreCase))
{
MessageBox.Show("Das Programm kann nur " + BS.SharedLauncher.Translation.Translator.Translate("vom Benutzer") + " '" + _LoggedOnUser.LoginName + "' entsperrt werden.", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Das Programm kann nur " + BS.Shared.Translation.Translator.Translate("vom Benutzer") + " '" + _LoggedOnUser.LoginName + "' entsperrt werden.", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
@@ -1206,7 +1148,7 @@ namespace BeWo
{
if (!r.Equals(UserValidationResult.UserValid))
{
MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den " + BS.SharedLauncher.Translation.Translator.Translate("Benutzernamen") + " und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den " + BS.Shared.Translation.Translator.Translate("Benutzernamen") + " und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
@@ -1265,7 +1207,7 @@ namespace BeWo
tenant = "5473568546";
#endif
var login = new ChatController.HauptKlassen.Login(tenant, serverUrl =>
var login = new Login(tenant, serverUrl =>
{
if (!string.IsNullOrWhiteSpace(serverUrl))
{

View File

@@ -17,7 +17,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -4,6 +4,9 @@ using System.Globalization;
using System.Linq;
using System.Windows.Data;
using System.Windows.Media;
using BeWo.View;
using BS.Shared;
using BS.Shared.Core;
@@ -32,9 +35,9 @@ namespace BeWo.Converter
}
var userRights = iEnumerable.ToList();
userRights.Remove(UserRightType.None);
return userRights.Select(right => EnumTranslations.UserRightType2Translations.Single(right2Translation => right2Translation.Key == right)).OrderBy(right2Translation => right2Translation.Value).ToDictionary(right2Translation => right2Translation.Key, right2Translation => right2Translation.Value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View File

@@ -1644,12 +1644,9 @@ namespace BeWo.Core
// }
//}
public static void OpenMailClient(string mailAddress, string subject = "", string body = "")
public static void OpenMailClient(string mailAddress, string subject = "")
{
//mailAddress = "cb@ownsoft.de";
//subject = "Betreff";
var mailCmd = string.Format(@"mailto:{0}?subject={1}&body={2}", mailAddress, subject, body);
var mailCmd = string.Format(@"mailto:{0}?subject={1}", mailAddress, subject);
System.Diagnostics.Process.Start(mailCmd);
}
@@ -1691,10 +1688,7 @@ namespace BeWo.Core
{
dc.CostBearer2SupportConceptOid = relDc.CostBearer2SupportConceptOid;
}
else
{
dc.CostBearer2SupportConceptOid = null;
}
var validationResults = new List<ServiceRecordValidationResultDC>();
var maxdays = BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed;
@@ -1754,10 +1748,10 @@ namespace BeWo.Core
case ServiceRecordValidationResult.ServiceRecordOverlapping:
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLS))
{
MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
}
else if (MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
else if (MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
{
lValid = false;
exitLoop = true;
@@ -1780,7 +1774,7 @@ namespace BeWo.Core
var klient = "diesen Hilfeplan";
if (!string.IsNullOrEmpty(result.CustomerName))
{
klient = BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
klient = BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
}
var msg = string.Format("Die für {2} genehmigten FLS ({0:N}) werden mit diesem Eintrag ({1:N}) überschritten.", result.ApprovedHours, result.HoursNew, klient);
@@ -1800,7 +1794,7 @@ namespace BeWo.Core
var klient2 = "diesen Hilfeplan";
if (!string.IsNullOrEmpty(result.CustomerName))
{
klient2 = BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
klient2 = BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.BookServiceRecordAfterSettlementInvoice))
{
@@ -1897,7 +1891,7 @@ namespace BeWo.Core
else
{
var msg = vm.GroupOid != null
? "ACHTUNG, wenn Sie fortfahren, löschen Sie die gesamte Gruppenbuchung.\nWenn Sie nur einzelne " + BS.SharedLauncher.Translation.Translator.Translate("Klienten") + " aus der Gruppe entfernen möchten,\neditieren Sie die Gruppe und entfernen den Klienten aus der Liste aller Hilfepläne.\nSind Sie sicher, dass Sie den gesamten Gruppeneintrag löschen möchten?"
? "ACHTUNG, wenn Sie fortfahren, löschen Sie die gesamte Gruppenbuchung.\nWenn Sie nur einzelne " + BS.Shared.Translation.Translator.Translate("Klienten") + " aus der Gruppe entfernen möchten,\neditieren Sie die Gruppe und entfernen den Klienten aus der Liste aller Hilfepläne.\nSind Sie sicher, dass Sie den gesamten Gruppeneintrag löschen möchten?"
: "Sind Sie sicher, dass Sie den gewählten Eintrag löschen möchten?";
if (MessageBox.Show(msg, "Eintrag löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) !=
@@ -1964,7 +1958,7 @@ namespace BeWo.Core
public static void ShowReportWindow(MemoryStream ms, string title, DocumentPreviewControl documentPreviewControl = null)
{
var report = new XtraReport();
var report = new XtraReport();
try
{

View File

@@ -38,8 +38,6 @@ namespace BeWo.Core.Config
private DateTime mLastSelectedServiceRecordMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
private int mLastKassenSortOrder = 1;
private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
public enum WindowStateType
@@ -337,22 +335,6 @@ namespace BeWo.Core.Config
}
}
public int LastKassenSortOrder
{
get { return mLastKassenSortOrder; }
set
{
if (mLastKassenSortOrder != value)
{
mLastKassenSortOrder = value;
IsDirty = true;
}
}
}
public int ServiceRecordAllowChangeHours
@@ -424,12 +406,6 @@ namespace BeWo.Core.Config
public bool DontShowSpitzabrechnung { get; set; }
public bool ShowDienstplanung { get; set; }
public bool Arbeitszeiterfassung { get; set; }
public bool EnableArbeitszeiterfassung { get; set; }
public bool EnableAutomaticPauses { get; set; }
public bool EnableRestTimeWarning { get; set; }
public int MaxWorkTimeHoursBeforeWarning { get; set; }
public int DienstplanungStandardZeilenAnzahl { get; set; }
public bool ShowInfoButtonInCalender{ get; set; }
@@ -444,10 +420,6 @@ namespace BeWo.Core.Config
public bool ShowHilfeplanStatistikReport { get; set; }
public bool AllowGkvAbrechnung { get; set; }
public bool ShowImportAbschlagszahlungen { get; set; }
private SchedulerViewType _SchedulerViewType;
public SchedulerViewType SchedulerViewType
{

View File

@@ -344,7 +344,6 @@ namespace BeWo.Core.Service
public static CompactSupportConceptDC HoleHilfeplanAusListe(List<CompactSupportConceptDC> scList, CompactCustomerDC customerCompact, DateTime firstTime, DateTime lastTime)
{
CompactSupportConceptDC result = null;
foreach (var sc in scList)
{
if (sc.Customer.Oid == customerCompact.Oid)
@@ -354,14 +353,10 @@ namespace BeWo.Core.Service
{
return sc;
}
if (result == null || sc.EndDate.HasValue && sc.EndDate > result.EndDate)
{
result = sc;
}
}
}
return result;
return null;
}
}
}

View File

@@ -17,7 +17,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -1,38 +0,0 @@
using BeWo.ServiceProxy;
using BS.SharedLauncher.Information;
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Pipes;
using System.Linq;
using System.Windows;
namespace BeWo
{
public static class Loader
{
public static bool Loaded { get; set; }
static Loader()
{
Loaded = false;
}
public static void Load()
{
BeWoApp.UserName = SessionInformation.Login.Username;
BeWoApp.UserPassword = SessionInformation.Login.Password;
BeWoApp.ServerName = SessionInformation.Connection.Servername;
BeWoApp.Tenant = SessionInformation.Login.Tenant;
BeWoApp.ServerAddress = SessionInformation.Connection.CoreServerAddress;
BeWoApp.ShortVersion = SessionInformation.Session.Version;
BeWoApp.Version = "Version " + SessionInformation.Session.Version;
BeWoApp.LoggedOnUser = ServiceFacade.DoUserServiceSync(s => s.LoadUserByNameAndPassword(BeWoApp.UserName, BeWoApp.UserPassword));
BeWoApp.Mandator = ServiceFacade.DoOperationsServiceSync(s => s.GetMandator());
Loaded = true;
}
}
}

View File

@@ -44,7 +44,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" Grid.ColumnSpan="4" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" Grid.ColumnSpan="4" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Label VerticalAlignment="Top" HorizontalAlignment="Right" Content="Version x.x.x" Foreground="#FF818181" Margin="5,7,3,0" Grid.Row="0" Grid.ColumnSpan="4" Grid.Column="0" FontSize="10" x:Name="LblVersion" />
<StackPanel Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,100,0,0" MaxWidth="330">
<Label x:Name="lblGesperrt" Content="Gesperrt" Foreground="#FF000000" FontSize="12" FontWeight="Bold" Margin="0,30,0,0" HorizontalAlignment="Center" />

View File

@@ -10,7 +10,7 @@ namespace BeWo
Loaded += LockedPage_Loaded;
LblVersion.Content = BeWoApp.Version;
lblGesperrt.Content = $"Gesperrt von " + BS.SharedLauncher.Translation.Translator.Translate("BenutzerSingular") + " " + BeWoApp.LoggedOnUser.Employee.FirstName + " " + BeWoApp.LoggedOnUser.Employee.LastName;
lblGesperrt.Content = $"Gesperrt von " + BS.Shared.Translation.Translator.Translate("BenutzerSingular") + " " + BeWoApp.LoggedOnUser.Employee.FirstName + " " + BeWoApp.LoggedOnUser.Employee.LastName;
}
private void LockedPage_Loaded(object sender, RoutedEventArgs e)

View File

@@ -198,5 +198,3 @@
<Border x:Name="profileEditPopUp" />
</Grid>
</UserControl>

View File

@@ -29,8 +29,8 @@ using BeWo.Security;
using BeWo.ServiceProxy;
using BeWo.View;
using BeWo.View.Detail;
using BS.Shared.Translation;
using Path = System.IO.Path;
using BS.SharedLauncher.Translation;
namespace BeWo
{
@@ -675,6 +675,7 @@ namespace BeWo
}
if (ProfileList.Count == 0 || profileSelectionComboBox.SelectedItem == null)
{
MessageBox.Show(
@@ -728,7 +729,7 @@ namespace BeWo
}
private void Login(WaitLayer2 lWaitLayer, String lUserName, String lPassword, String lTenant, String lPIN)
{
{
try
{
//1. Versuch
@@ -768,7 +769,7 @@ namespace BeWo
this.Dispatch(delegate
{
grid_root.Children.Remove(lWaitLayer);
MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den " + BS.SharedLauncher.Translation.Translator.Translate("Benutzernamen") + " und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den " + BS.Shared.Translation.Translator.Translate("Benutzernamen") + " und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
});
}
if (result == UserValidationResult.EmployeeDeleted)
@@ -1418,4 +1419,4 @@ namespace BeWo
return key1.Equals(key2);
}
}
}
}

View File

@@ -29,7 +29,7 @@ using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using Hyperlink = System.Windows.Documents.Hyperlink;
namespace BeWo
@@ -1188,8 +1188,7 @@ namespace BeWo
var cancelButton = new Button {Content = "Schließen"};
cancelButton.Margin = new Thickness(5);
cancelButton.Width = 100;
cancelButton.HorizontalAlignment = HorizontalAlignment.Right;
var mailLabel = new Label
{
Content = "Support-Mail schreiben",

View File

@@ -2,7 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BeWoPlaner" Height="768" Width="1024" WindowStartupLocation="CenterScreen" WindowState="Maximized"
BorderThickness="1" Closing="MainWindow_OnClosing" SourceInitialized="Window_SourceInitialized">
BorderThickness="1" Closing="MainWindow_OnClosing">
<Grid x:Name="rootGrid">
</Grid>

View File

@@ -4,7 +4,7 @@ using System.Threading;
using System.Windows;
using BeWo.Core.Config;
using BeWo.MultiLanguage;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.Core;
namespace BeWo
@@ -18,49 +18,9 @@ namespace BeWo
{
InitializeComponent();
ApplicationThemeHelper.ApplicationThemeName = "Office2010Black";
ApplicationThemeHelper.ApplicationThemeName = Theme.Office2010BlackName;
if (Loader.Loaded)
ShowNewWay();
else
ShowOldWay(false);
//throw new Exception("Loader failed");
}
private void ShowNewWay()
{
Translator t = new Translator(new ServiceTranslator());
//WebRequest.DefaultWebProxy
//System.Net.WebRequest.GetSystemWebProxy()
rootGrid.Children.Clear();
MainControl mc = new MainControl();
mc.IsMaximized = BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised;
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
rootGrid.Children.Add(mc);
}
private void ShowOldWay(bool skiplogin)
{
if (skiplogin)
{
throw new NotImplementedException("47845978233134");
// Muss hier ggf string anpassen
//Loader.Load("tedemo?undemo?pwdemo?ip?sn1?cs?vr1.0.4.1");
//ShowNewWay();
}
else
{
//WebRequest.DefaultWebProxy
//System.Net.WebRequest.GetSystemWebProxy()
var lc = new LoginControl();
rootGrid.Children.Add(lc);
lc.LoginSuccessful += lc_LoginSuccessful;
}
ShowLoginControl();
}
private void ShowLoginControl()
@@ -107,11 +67,7 @@ namespace BeWo
{
rootGrid.Children.Clear();
BeWoApp.MainControl = null;
if(Loader.Loaded)
Application.Current.Shutdown(100);
else
ShowLoginControl();
ShowLoginControl();
}
private void MainWindow_OnClosing(object sender, CancelEventArgs e)
@@ -150,12 +106,5 @@ namespace BeWo
Application.Current.Shutdown();
}
private void Window_SourceInitialized(object sender, EventArgs e)
{
Console.WriteLine("GUI geladen");
Thread.Sleep(500);
}
}
}

View File

@@ -1,6 +1,6 @@
using BS.SharedLauncher.Translation;
using System;
using System;
using System.Windows.Markup;
using BS.Shared.Translation;
namespace BeWo.MultiLanguage.Markup
{

View File

@@ -6,7 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BeWo.ServiceProxy;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpo.Logger;
namespace BeWo.MultiLanguage

View File

@@ -1 +0,0 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -31,7 +31,7 @@ namespace BeWo
var benutzername = BenutzernamenTextBox.Text;
if (benutzername.Equals(""))
{
MessageBox.Show("Bitte geben Sie einen " + BS.SharedLauncher.Translation.Translator.Translate("Benutzernamen") + " an", "Passwort anfordern fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Bitte geben Sie einen " + BS.Shared.Translation.Translator.Translate("Benutzernamen") + " an", "Passwort anfordern fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
@@ -42,7 +42,7 @@ namespace BeWo
{
if(email.Equals("") || !hatEmail)
{
MessageBox.Show("Es konnte " + BS.SharedLauncher.Translation.Translator.Translate("kein Benutzer") + " mit diesem Namen gefunden werden oder " + BS.SharedLauncher.Translation.Translator.Translate("der Benutzer") + " hat keine E-Mail Adresse hinterlegt\nBitte wenden Sie sich an " + BS.SharedLauncher.Translation.Translator.Translate("Ihren Systemadministrator") + ".", "Passwort anfordern fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Es konnte " + BS.Shared.Translation.Translator.Translate("kein Benutzer") + " mit diesem Namen gefunden werden oder " + BS.Shared.Translation.Translator.Translate("der Benutzer") + " hat keine E-Mail Adresse hinterlegt\nBitte wenden Sie sich an " + BS.Shared.Translation.Translator.Translate("Ihren Systemadministrator") + ".", "Passwort anfordern fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 B

View File

@@ -21,7 +21,6 @@ namespace BeWo.Scheduler.Converter
{
if(visualAppointmentViewInfo.CustomViewInfo is CustomFieldCollection customFieldCollection && customFieldCollection[nameof(CustomFieldStorage)] is CustomFieldStorage customFieldStorage)
{
// ToDo: Bei Terminen einer Serie stimmen die Angaben nicht immer! Ist erst in DevExpress-Version 19.2.6 gefixt!
var isAbsenceTime = customFieldStorage.IsAbsenceTime;
var isTask = customFieldStorage.IsTask;

View File

@@ -32,7 +32,6 @@
<!-- Region Appointment Templates -->
<!-- Region VerticalAppointmentTemplate -->
<!-- Wird für alle nicht-ganztäglichen Termine benutzt außer in der Monatsansicht -->
<ControlTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=VerticalAppointmentTemplate, IsThemeIndependent=true}" TargetType="{x:Type dxschint:VisualVerticalAppointmentControl}">
<dxschint:AppointmentColorConvertControl x:Name="clrConvCtrl" ControlColor="{Binding Path=ViewInfo.CustomViewInfo[CustomFieldStorage].BackgroundColor.GradientStops[0].Color, RelativeSource={RelativeSource TemplatedParent}}" SnapsToDevicePixels="True">
<VisualStateManager.VisualStateGroups>
@@ -324,7 +323,6 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
@@ -332,7 +330,8 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Row="1" Grid.Column="0" Margin="0,0,3,0" Grid.ColumnSpan="2">
<Grid Grid.Row="0" Grid.Column="0" Margin="0,0,3,0" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
@@ -353,15 +352,15 @@
TextWrapping="Wrap"
MaxWidth="{Binding Path=ActualWidth, Source={x:Reference Scheduler}}" />
</Grid>
<Separator Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Height="1" Background="DimGray" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipTrennstrichVisibility}" />
<Separator Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Height="1" Background="DimGray" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipTrennstrichVisibility}" />
<TextBlock Margin="0,0,3,0" Grid.Row="3" Grid.Column="0" Text="Ressourcen:" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipResourcesVisibility}" />
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Ressourcen}"
<TextBlock Margin="0,0,3,0" Grid.Row="2" Grid.Column="0" Text="Ressourcen:" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipResourcesVisibility}" />
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Ressourcen}"
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipResourcesVisibility}" />
<TextBlock Margin="0,0,3,0" Grid.Row="4" Grid.Column="0" Text="{t:Translate MitarbeiterPlural:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipEmployeesVisibility}" />
<TextBlock Margin="0,0,3,0" Grid.Row="3" Grid.Column="0" Text="{t:Translate MitarbeiterPlural:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipEmployeesVisibility}" />
<ListView Margin="-6,-3,0,0" Grid.Row="4" Background="Transparent" BorderThickness="0" ItemsSource="{Binding Path=CustomViewInfo[CustomFieldStorage].EmployeeList}" Grid.Column="1" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipEmployeesVisibility}" Name="ToolTipEmployeeList">
<ListView Margin="-6,-3,0,0" Grid.Row="3" Background="Transparent" BorderThickness="0" ItemsSource="{Binding Path=CustomViewInfo[CustomFieldStorage].EmployeeList}" Grid.Column="1" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipEmployeesVisibility}" Name="ToolTipEmployeeList">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
@@ -384,13 +383,13 @@
</ListView.ItemTemplate>
</ListView>
<TextBlock Margin="0,0,3,0" Grid.Row="5" Grid.Column="0" Text="{markup:Translate Klienten:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipCustomersVisibility}" />
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Klienten}"
<TextBlock Margin="0,0,3,0" Grid.Row="4" Grid.Column="0" Text="{markup:Translate Klienten:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipCustomersVisibility}" />
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Klienten}"
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipCustomersVisibility}" />
<!-- Separator und "Angelegt von: " mit dem Namen des Originators -->
<Separator Grid.Row="6" Grid.ColumnSpan="2" Grid.Column="0" Height="1" Background="DimGray" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock Margin="0,0,3,0" Grid.Row="7" Grid.Column="0" Text="Angelegt von:" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock Margin="0,0,3,0" Grid.Row="7" Grid.Column="1" Text="{Binding Path=CustomViewInfo[CustomFieldStorage].Originator}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
<Separator Grid.Row="5" Grid.ColumnSpan="2" Height="1" Background="DimGray" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock Margin="0,0,3,0" Grid.Row="6" Grid.Column="0" Text="Angelegt von:" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock Margin="0,0,3,0" Grid.Row="6" Grid.Column="1" Text="{Binding Path=CustomViewInfo[CustomFieldStorage].Originator}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
</Grid>
</DataTemplate>
@@ -972,7 +971,8 @@
AllowAppointmentCreate="AllowAppointmentCreateEvent"
AllowAppointmentDragBetweenResources="AllowAppointmentAenderung"
AllowAppointmentDelete="AllowAppointmentAenderung"
ActiveViewType="WorkWeek">
ActiveViewType="WorkWeek"
>
<dxsch:SchedulerControl.DayView>
<dxsch:DayView AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
</dxsch:SchedulerControl.DayView>

View File

@@ -29,7 +29,8 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Scheduler;
@@ -247,22 +248,22 @@ namespace BeWo.Scheduler.View
private bool CheckCats2ResourcesForEqualitiy(Dictionary<ValueListEntryDC, List<ResourceDC>> dic2)
{
if(_Category2ResourcesDictionary is null && dic2 != null || dic2 is null && _Category2ResourcesDictionary != null)
if(_Category2ResourcesDictionary == null && dic2 != null || dic2 == null && _Category2ResourcesDictionary != null)
{
return false;
}
return _Category2ResourcesDictionary is null && dic2 is null || _Category2ResourcesDictionary != null && dic2 != null && _Category2ResourcesDictionary.Count == dic2.Count && _Category2ResourcesDictionary.Except(dic2).Any();
return _Category2ResourcesDictionary == null && dic2 == null || _Category2ResourcesDictionary != null && dic2 != null && _Category2ResourcesDictionary.Count == dic2.Count && _Category2ResourcesDictionary.Except(dic2).Any();
}
private static bool ListEquals<T>(IReadOnlyCollection<T> list1, ICollection<T> list2)
{
if(list1 is null && list2 is null)
if(list1 == null && list2 == null)
{
return true;
}
if(list1 is null && list2 != null || list1 != null && list2 is null)
if(list1 == null && list2 != null || list1 != null && list2 == null)
{
return false;
}
@@ -635,20 +636,20 @@ namespace BeWo.Scheduler.View
var ausnahmen = item.GetExceptions();
foreach(var exc in ausnahmen)
{
var beWoAppointment = exc.GetSourceObject(Scheduler.GetCoreStorage()) as IBeWoAppointment;
if(beWoAppointment?.CustomFields is null)
var b = exc.GetSourceObject(Scheduler.GetCoreStorage()) as IBeWoAppointment;
if(b?.CustomFields == null)
{
continue;
}
foreach(var field in beWoAppointment.CustomFields)
foreach(var field in b.CustomFields)
{
exc.CustomFields[field.Key] = field.Value;
}
}
}
if(bapp?.CustomFields is null)
if(bapp?.CustomFields == null)
{
continue;
}
@@ -1312,14 +1313,14 @@ namespace BeWo.Scheduler.View
if(_IsNew)
{
var employees2Appointments = new ObservableCollection<Employee2SchedulerAppointmentDC>(SelectedEmployees.Select(item => new Employee2SchedulerAppointmentDC {Employee = item, ParticipationAnswer = ParticipationAnswer.Offen}).ToList());
e.Appointment.CF_EmployeeList(employees2Appointments);
var n = new ObservableCollection<Employee2SchedulerAppointmentDC>(SelectedEmployees.Select(item => new Employee2SchedulerAppointmentDC {Employee = item, ParticipationAnswer = ParticipationAnswer.Offen}).ToList());
e.Appointment.CF_EmployeeList(n);
e.Appointment.CF_CustomerList(new List<CompactCustomerDC>(SelectedCustomers));
e.Appointment.CF_ResourceList(new List<ResourceDC>(SelectedResources));
}
var form = ViewModel.GetEditAppointmentForm(control, e.Appointment);
if(form is null)
if(form == null)
{
if(_IsNew)
{
@@ -1487,11 +1488,9 @@ namespace BeWo.Scheduler.View
private void Scheduler_AppointmentViewInfoCustomizing(object sender, AppointmentViewInfoCustomizingEventArgs e)
{
var appointment = e.ViewInfo.Appointment;
var customFields = e.ViewInfo.Appointment.CustomFields;
if(customFields[nameof(CustomFieldStorage)] is null)
if(customFields[nameof(CustomFieldStorage)] == null)
{
return;
}
@@ -1954,14 +1953,14 @@ namespace BeWo.Scheduler.View
private void MeinTB_OnChecked(object sender, RoutedEventArgs e)
{
var toggleButton = (ToggleButton) sender;
var tb = (ToggleButton) sender;
if(toggleButton?.IsChecked is null)
if(tb?.IsChecked == null)
{
return;
}
if(!toggleButton.IsChecked.Value)
if(!tb.IsChecked.Value)
{
MitarbeiterSuchGrid.Visibility = Visibility.Collapsed;
MitarbeiterSuchTextBox.Clear();
@@ -1975,14 +1974,14 @@ namespace BeWo.Scheduler.View
private void MeinTB2_OnChecked(object sender, RoutedEventArgs e)
{
var toggleButton = (ToggleButton) sender;
var tb = (ToggleButton) sender;
if(toggleButton?.IsChecked is null)
if(tb?.IsChecked == null)
{
return;
}
if(!toggleButton.IsChecked.Value)
if(!tb.IsChecked.Value)
{
KlientenSuchGrid.Visibility = Visibility.Collapsed;
KlientenSuchTextBox.Clear();
@@ -2020,7 +2019,7 @@ namespace BeWo.Scheduler.View
_ReloadingViewModel = true;
if(ViewModel is null)
if(ViewModel == null)
{
_ReloadingViewModel = false;
return;
@@ -2053,7 +2052,7 @@ namespace BeWo.Scheduler.View
ReloadAppointmentViewModel(start, end, selectedEmployeeOids, selectedCustomerOids, selectedResourceOids, employeesOnly, customersOnly, resourcesOnly, onlyPrivateAppointments, showOnlyMyAppointments, showAbsenceTimes);
}
public void ReloadAppointmentViewModel(DateTime pIntervalStart, DateTime pIntervalEnd, List<long> pSelectedEmployees, List<long> pSelectedCustomer, List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, bool pShouldShowAbsenceTimes, Action callback = null)
public void ReloadAppointmentViewModel(DateTime pIntervalStart, DateTime pIntervalEnd, List<long> pSelectedEmployees, List<long> pSelectedCustomer, List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, bool pShouldShowAbsenceTimes)
{
ResetDeletionMode();
@@ -2085,7 +2084,7 @@ namespace BeWo.Scheduler.View
{
var prefilteredAppointments = appointments.Where(w => (w.EmployeeList.Count == 0 && w.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) ||
w.EmployeeList.Count > 0 && w.EmployeeList.Any(a => a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid)) ||
BeWoUtils.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)) && (!w.EmployeeList.TrueForAll(e2a => e2a.ParticipationAnswer == ParticipationAnswer.Absage) || w.EmployeeList is null || w.EmployeeList.Count == 0)).ToList();
BeWoUtils.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)) && (!w.EmployeeList.TrueForAll(e2a => e2a.ParticipationAnswer == ParticipationAnswer.Absage) || w.EmployeeList == null || w.EmployeeList.Count == 0)).ToList();
var anonymizedAppointments = appointments.Where(w => w.CanBeEdited == false && w.IsTask == false).ToList();
@@ -2120,9 +2119,9 @@ namespace BeWo.Scheduler.View
SelectedCustomers = AllCustomers.Where(w => SelectedCustomers.Any(a => a.CustomerOid.Equals(w.CustomerOid))).ToList();
SelectedResources = AllResources.Where(w => SelectedResources.Any(a => a.ResourceOid.Equals(w.ResourceOid))).ToList();
//var items = SelectedItems;
var items = SelectedItems;
//var testtesttest = ViewModel.ActiveAppointmentViewModel;
var testtesttest = ViewModel.ActiveAppointmentViewModel;
_ReloadingViewModel = false;
@@ -2164,8 +2163,6 @@ namespace BeWo.Scheduler.View
_IsComingFromHomeDragPanel = false;
}
callback?.Invoke();
});
});
});
@@ -2184,9 +2181,7 @@ namespace BeWo.Scheduler.View
var dialog = new SaveFileDialog {Filter = "iCalendar files (*.ics)|*.ics", FilterIndex = 1};
if(dialog.ShowDialog() != true)
{
return;
}
using(var stream = dialog.OpenFile())
{
@@ -2196,14 +2191,11 @@ namespace BeWo.Scheduler.View
private void ExportAppointmentsAs_iCal(Stream stream)
{
if(stream is null)
{
if(stream == null)
return;
}
try
{
var productIdentifier = $"-//{BeWoApp.Mandator}//DXScheduler iCalendarExchange Example//DE";
var productIdentifier = string.Format("-//{0}//DXScheduler iCalendarExchange Example//DE", BeWoApp.Mandator);
var exporter = new iCalendarExporter(Scheduler.GetCoreStorage()) {ProductIdentifier = productIdentifier};
exporter.AppointmentExporting += OnAppointmentExporting;
@@ -2211,7 +2203,7 @@ namespace BeWo.Scheduler.View
}
catch(Exception e)
{
MessageBox.Show($"Der Kalender konnte leider nicht exportiert werden.\n{e.Message}", "Fehler beim Export", MessageBoxButton.OK, MessageBoxImage.Error);
MessageBox.Show(string.Format("Der Kalender konnte leider nicht exportiert werden.\n{0}", e.Message), "Fehler beim Export", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
@@ -2314,7 +2306,7 @@ namespace BeWo.Scheduler.View
var neu = new List<Appointment>();
foreach(var app in kollektionOhneAusnahmen.Where(w => !ausnahmen.Select(s => s.RecurrenceIndex).Contains(w.RecurrenceIndex)))
foreach (var app in kollektionOhneAusnahmen.Where(w => !ausnahmen.Select(s => s.RecurrenceIndex).Contains(w.RecurrenceIndex)))
{
var recurrenceId = app.RecurrenceInfo.Id.ToString();
@@ -2326,7 +2318,7 @@ namespace BeWo.Scheduler.View
neu.AddIfNotIn(app);
}
if(ausnahmen.Count > 0)
if (ausnahmen.Count > 0)
{
kollektionOhneAusnahmen = kollektionOhneAusnahmen.Where(w => !ausnahmen.Select(s => s.RecurrenceIndex).Contains(w.RecurrenceIndex)).ToList();
}
@@ -2336,7 +2328,7 @@ namespace BeWo.Scheduler.View
var recurrenceId = appointment.RecurrenceInfo.Id.ToString();
var recurrenceIndex = appointment.RecurrenceIndex;
if(!(appointment.IsOccurrence && deletedOccurrences.Any(a => a.RecurrenceIdReference == recurrenceId && a.RecurrenceIndexReference == recurrenceIndex)))
if (!(appointment.IsOccurrence && deletedOccurrences.Any(a => a.RecurrenceIdReference == recurrenceId && a.RecurrenceIndexReference == recurrenceIndex)))
{
serienTermine.AddIfNotIn(new SchedulerAppointmentDC
{
@@ -2406,16 +2398,14 @@ namespace BeWo.Scheduler.View
public void PreselectCustomer(long pCustomerOid)
{
if(!AllCustomers.Any(c => c.CustomerOid.Equals(pCustomerOid)))
if(AllCustomers.Any(c => c.CustomerOid.Equals(pCustomerOid)))
{
return;
SelectedCustomers = new List<CompactCustomerDC> {AllCustomers.Find(f => f.CustomerOid.Equals(pCustomerOid))};
OnPropertyChanged(nameof(SelectedCustomers));
OnPropertyChanged(nameof(SelectedItems));
OnPropertyChanged(nameof(GefilterteKlienten));
}
SelectedCustomers = new List<CompactCustomerDC> {AllCustomers.Find(f => f.CustomerOid.Equals(pCustomerOid))};
OnPropertyChanged(nameof(SelectedCustomers));
OnPropertyChanged(nameof(SelectedItems));
OnPropertyChanged(nameof(GefilterteKlienten));
}
private void DateNavigator_OnSelectedDatesChanged(object sender, EventArgs e)
@@ -2427,7 +2417,6 @@ namespace BeWo.Scheduler.View
var selectedDates = navigator.SelectedDates;
var isSelectedDateFetched = _LastFetchedInterval.ContainsEveryDateFromList(selectedDates);
if(!isSelectedDateFetched && !(_LastFetchedInterval.Start.Equals(new DateTime(1, 1, 1, 0, 0, 0)) && _LastFetchedInterval.End.Equals(new DateTime(1, 1, 1, 0, 30, 0))))
{
ReloadVM();
@@ -2476,28 +2465,26 @@ namespace BeWo.Scheduler.View
private void NurMeineTermineEinAusCheckBox_OnChecked(object sender, RoutedEventArgs e)
{
var checkBox = (CheckBox) sender;
var cb = (CheckBox) sender;
if(CheckBoxConverter is null || BeWoApp.CompactLoggedOnEmployee is null)
if(CheckBoxConverter != null && BeWoApp.CompactLoggedOnEmployee != null)
{
return;
}
if(cb.IsChecked != null && cb.IsChecked.Value)
{
SelectedEmployees = new List<CompactEmployeeDC> {BeWoApp.CompactLoggedOnEmployee};
CheckBoxConverter.AktuellerMitarbeiter = BeWoApp.CompactLoggedOnEmployee;
}
else if(cb.IsChecked != null && !cb.IsChecked.Value && SelectedEmployees.Count == 1)
{
SelectedEmployees.Remove(BeWoApp.CompactLoggedOnEmployee);
CheckBoxConverter.AktuellerMitarbeiter = null;
}
if(checkBox.IsChecked != null && checkBox.IsChecked.Value)
{
SelectedEmployees = new List<CompactEmployeeDC> {BeWoApp.CompactLoggedOnEmployee};
CheckBoxConverter.AktuellerMitarbeiter = BeWoApp.CompactLoggedOnEmployee;
}
else if(checkBox.IsChecked != null && !checkBox.IsChecked.Value && SelectedEmployees.Count == 1)
{
SelectedEmployees.Remove(BeWoApp.CompactLoggedOnEmployee);
CheckBoxConverter.AktuellerMitarbeiter = null;
}
OnPropertyChanged(nameof(SelectedEmployees));
OnPropertyChanged(nameof(SelectedItems));
OnPropertyChanged(nameof(SelectedEmployees));
OnPropertyChanged(nameof(SelectedItems));
ReloadVM(true);
ReloadVM(true);
}
}
private void AbwesenheitenEinAusCheckBox_OnChecked(object sender, RoutedEventArgs e)
@@ -2540,17 +2527,15 @@ namespace BeWo.Scheduler.View
private void Scheduler_OnInplaceEditorShowing(object sender, InplaceEditorEventArgs e)
{
if(!_IsNew)
if(_IsNew)
{
return;
var n = new ObservableCollection<Employee2SchedulerAppointmentDC>(SelectedEmployees.Select(item => new Employee2SchedulerAppointmentDC {Employee = item, ParticipationAnswer = ParticipationAnswer.Offen}).ToList());
e.Appointment.CF_EmployeeList(n);
e.Appointment.CF_CustomerList(new List<CompactCustomerDC>(SelectedCustomers));
e.Appointment.CF_ResourceList(new List<ResourceDC>(SelectedResources));
_IsNew = false;
}
var n = new ObservableCollection<Employee2SchedulerAppointmentDC>(SelectedEmployees.Select(item => new Employee2SchedulerAppointmentDC {Employee = item, ParticipationAnswer = ParticipationAnswer.Offen}).ToList());
e.Appointment.CF_EmployeeList(n);
e.Appointment.CF_CustomerList(new List<CompactCustomerDC>(SelectedCustomers));
e.Appointment.CF_ResourceList(new List<ResourceDC>(SelectedResources));
_IsNew = false;
}
private void ButtonDeleteAppointmentsInInterval_Click(object sender, RoutedEventArgs e)
@@ -2646,14 +2631,14 @@ namespace BeWo.Scheduler.View
var appointmentDC = appointmentVM?.CommitToDataContract();
if(appointmentDC?.SchedulerAppointmentOid is null || appointmentDC.NewSchedulerAppointmentVersion is null || appointmentToRestore.Type != AppointmentType.ChangedOccurrence)
if(appointmentDC?.SchedulerAppointmentOid == null || appointmentDC.NewSchedulerAppointmentVersion == null || appointmentToRestore.Type != AppointmentType.ChangedOccurrence)
{
return;
}
ServiceFacade.DoResourceServiceAsync(s => s.GetSchedulerAppointmentByid(appointmentDC.SchedulerAppointmentOid.Value), appointment =>
{
if(appointment.SchedulerAppointmentOid is null || appointment.NewSchedulerAppointmentVersion is null)
if(appointment.SchedulerAppointmentOid == null || appointment.NewSchedulerAppointmentVersion == null)
{
return;
}
@@ -2684,8 +2669,8 @@ namespace BeWo.Scheduler.View
private void ShowTasksCheckBox_OnClick(object sender, RoutedEventArgs e)
{
var checkBox = (CheckBox) sender;
IsTasksVisible = checkBox.IsChecked ?? false;
var cb = (CheckBox) sender;
IsTasksVisible = cb.IsChecked ?? false;
ReloadVM(true);
}
@@ -2725,15 +2710,15 @@ namespace BeWo.Scheduler.View
{
var storageAppointments = Scheduler.Storage.AppointmentStorage.Items.ToList();
var stringBuilder = new StringBuilder();
stringBuilder.Append("AppointmentStorage-Inhalt:\n");
var sb = new StringBuilder();
sb.Append("AppointmentStorage-Inhalt:\n");
foreach(var app in storageAppointments)
{
stringBuilder.Append($"{app.Subject} {app.Start:dd.MM.yyyy HH:mm}-{app.End:dd.MM.yyyy HH:mm}\n");
sb.Append($"{app.Subject} {app.Start:dd.MM.yyyy HH:mm}-{app.End:dd.MM.yyyy HH:mm}\n");
}
WriteToDebug(stringBuilder.ToString());
WriteToDebug(sb.ToString());
}
private void Scheduler_OnAppointmentDrop(object sender, AppointmentDragEventArgs e)
@@ -2846,9 +2831,9 @@ namespace BeWo.Scheduler.View
public static class ViewTypeConvert
{
public static AppointmentViewType ToAppointmentViewType(SchedulerViewType schedulerViewType)
public static AppointmentViewType ToAppointmentViewType(SchedulerViewType svt)
{
switch(schedulerViewType)
switch(svt)
{
case SchedulerViewType.Day:
return AppointmentViewType.Day;
@@ -2906,7 +2891,7 @@ namespace BeWo.Scheduler.View
{
var customFieldStorage = (CustomFieldStorage)customFields[nameof(CustomFieldStorage)];
if(customFieldStorage != null && parameter != null && parameter.Equals("AlleRessourcen"))
if (customFieldStorage != null && parameter != null && parameter.Equals("AlleRessourcen"))
{
return customFieldStorage.ResourceList;
}
@@ -3168,7 +3153,7 @@ namespace BeWo.Scheduler.View
{
var customFields = (CustomFieldCollection) value;
if(customFields is null)
if(customFields == null)
{
return new SolidColorBrush(Color.FromRgb(192, 255, 208));
}
@@ -3198,32 +3183,32 @@ namespace BeWo.Scheduler.View
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(!(value is Employee2SchedulerAppointmentDC employee2SchedulerAppointment))
if(value is Employee2SchedulerAppointmentDC employee2SchedulerAppointment)
{
return null;
if (parameter != null && parameter.Equals("GibName"))
{
return employee2SchedulerAppointment.Employee.DetailDescription;
}
var color = Color.FromRgb(255, 255, 255);
switch (employee2SchedulerAppointment.ParticipationAnswer)
{
case ParticipationAnswer.Vorbehalt:
color = Color.FromRgb(185, 39, 217);
break;
case ParticipationAnswer.Zusage:
color = Color.FromRgb(72, 212, 78);
break;
case ParticipationAnswer.Absage:
color = Color.FromRgb(171, 0, 48);
break;
}
return new SolidColorBrush(color);
}
if(parameter != null && parameter.Equals("GibName"))
{
return employee2SchedulerAppointment.Employee.DetailDescription;
}
var color = Color.FromRgb(255, 255, 255);
switch(employee2SchedulerAppointment.ParticipationAnswer)
{
case ParticipationAnswer.Vorbehalt:
color = Color.FromRgb(185, 39, 217);
break;
case ParticipationAnswer.Zusage:
color = Color.FromRgb(72, 212, 78);
break;
case ParticipationAnswer.Absage:
color = Color.FromRgb(171, 0, 48);
break;
}
return new SolidColorBrush(color);
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
@@ -3236,13 +3221,19 @@ namespace BeWo.Scheduler.View
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return BeWoApp.AppSettings.ShowInfoButtonInCalender ? Visibility.Visible : Visibility.Collapsed;
if (BeWoApp.AppSettings.ShowInfoButtonInCalender == true)
{
return Visibility.Visible;
}
else
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
#endregion
}

View File

@@ -359,9 +359,9 @@ namespace BeWo.Scheduler.View
e.Handled = true;
}
public string CountSelectedEmployees => $"{SelectedEmployees.Count} " + BS.SharedLauncher.Translation.Translator.Translate("MitarbeiterPlural") + " ausgewählt";
public string CountSelectedEmployees => $"{SelectedEmployees.Count} " + BS.Shared.Translation.Translator.Translate("MitarbeiterPlural") + " ausgewählt";
public string CountSelectedResources => $"{SelectedResources.Count} Ressourcen ausgewählt";
public string CountSelectedCustomers => $"{SelectedCustomers.Count} " + BS.SharedLauncher.Translation.Translator.Translate("Klienten") + " ausgewählt";
public string CountSelectedCustomers => $"{SelectedCustomers.Count} " + BS.Shared.Translation.Translator.Translate("Klienten") + " ausgewählt";
public string CountSelectedSupportConcepts => $"{SelectedSupportConcepts.Count} Hilfepläne ausgewählt";
public override AppointmentFormController CreateFormController(SchedulerControl schedulerControl, Appointment appointment)
@@ -499,11 +499,11 @@ namespace BeWo.Scheduler.View
var customFieldStorage = Appointment.GetCustomFieldStorage();
var serviceRecords = customFieldStorage?.ServiceRecordList ?? new List<ServiceRecordDC>();
ViewModel.ApplyChangesToChangedOccurencyCustomFields(employees, customers, resources, originator, isPrivate, Appointment.RecurrenceIndex.ToString(), new Guid(Appointment.RecurrenceInfo.Id.ToString()), isTask, taskDescription, completedDate, dueDate, completedNotice, supportConceptList, Appointment.Subject, Appointment.AllDay, serviceRecords, start, end);
var oldRecurrenceInfo = Appointment.RecurrenceInfo.ToXml();
var newRecurrenceInfo = ViewModel.NewVM.RecurrenceInfo;
ViewModel.ApplyChangesToChangedOccurencyCustomFields(employees, customers, resources, originator, isPrivate, Appointment.RecurrenceIndex.ToString(), new Guid(Appointment.RecurrenceInfo.Id.ToString()), isTask, taskDescription, completedDate, dueDate, completedNotice, supportConceptList, Appointment.Subject, Appointment.AllDay, serviceRecords, start, end);
if(!Equals(oldRecurrenceInfo, newRecurrenceInfo))
{
// Damit wird verhindert, dass beim Ändern von Zeitangaben bei Serienterminen die Ausnahmen gelöscht werden.
@@ -542,7 +542,7 @@ namespace BeWo.Scheduler.View
if(y.Count == 0)
{
MessageBox.Show("Bitte wählen Sie mindestens " + BS.SharedLauncher.Translation.Translator.Translate("einen Klienten") + " aus!");
MessageBox.Show("Bitte wählen Sie mindestens " + BS.Shared.Translation.Translator.Translate("einen Klienten") + " aus!");
}
else
{

View File

@@ -7,8 +7,8 @@
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
xmlns:dxschcore="clr-namespace:DevExpress.XtraScheduler;assembly=DevExpress.XtraScheduler.v23.2.Core"
xmlns:dxschui="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v23.2"
xmlns:dxschcore="clr-namespace:DevExpress.XtraScheduler;assembly=DevExpress.XtraScheduler.v17.1.Core"
xmlns:dxschui="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v17.1"
xmlns:dxscht="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/themekeys"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:search="clr-namespace:BeWo.View.Search"

View File

@@ -6,7 +6,7 @@
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxschd="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v23.2"
xmlns:dxschd="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v17.1"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="600" dx:ThemeManager.ThemeName="Office2010Black">
<UserControl.Resources>

View File

@@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
@@ -40,7 +42,7 @@ namespace BeWo.Scheduler.ViewModel
if(!absenceTimeEnd.HasValue)
{
return $"{result}{_AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd)}";
return result += _AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd);
}
var absenceTimeStart = _AbsenceTimeStart.Value;
@@ -50,7 +52,7 @@ namespace BeWo.Scheduler.ViewModel
absenceTimeEnd = absenceTimeEnd.Value.AddDays(-1);
}
return $"{result}{_AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd)}";
return result += _AbsenceTimeStart.Value.GetIntervalDescription(absenceTimeEnd);
}
}
@@ -79,7 +81,7 @@ namespace BeWo.Scheduler.ViewModel
public string RecurrenceId { get; set; }
public int RecurrenceIndex { get; set; }
public CompactEmployeeDC Originator { get; set; }
private DateTime? _AbsenceTimeStart;
@@ -121,8 +123,8 @@ namespace BeWo.Scheduler.ViewModel
SchedulerAppointmentOid = pAppointment.DataContract?.SchedulerAppointmentOid;
RecurrenceId = pAppointment.DataContract?.RecurrenceIdReference;
RecurrenceIndex = pAppointment.DataContract?.RecurrenceIndexReference ?? 0;
RecurrenceId = pAppointment.DataContract?.RecurrenceId;
RecurrenceIndex = pAppointment.DataContract?.RecurrenceIndex ?? 0;
_AbsenceTimeStart = pAppointment.AbsenceTimeStart;
_AbsenceTimeEnd = pAppointment.AbsenceTimeEnd;
@@ -135,10 +137,6 @@ namespace BeWo.Scheduler.ViewModel
ServiceRecordList = pAppointment.ServiceRecordList;
}
/// <summary>
/// Erzeugt ein CustomFieldStorage-Objekt aus einem SchedulerAppointmentDC. Wird nur für veränderte Serientermine benutzt.
/// </summary>
/// <param name="pAppointment">Der veränderte Serientermin als SchedulerAppointmentDC</param>
public CustomFieldStorage(SchedulerAppointmentDC pAppointment)
{
IsTask = pAppointment.IsTask;
@@ -162,8 +160,8 @@ namespace BeWo.Scheduler.ViewModel
SchedulerAppointmentOid = pAppointment.SchedulerAppointmentOid;
RecurrenceId = pAppointment.RecurrenceIdReference;
RecurrenceIndex = pAppointment.RecurrenceIndexReference ?? 0;
RecurrenceId = pAppointment.RecurrenceId;
RecurrenceIndex = pAppointment.RecurrenceIndex;
HasServiceRecordEntry = pAppointment.HasServiceRecordEntry;

View File

@@ -23,7 +23,7 @@ using BS.Shared.Extensions;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.Editors;
using Microsoft.Win32;
using CheckBox = System.Windows.Controls.CheckBox;

View File

@@ -61,13 +61,7 @@ namespace BeWo.SchulbegleitenderDienst
VertreterToolTip = vertretungsItem.VertreterToolTip,
EmployeeAddressString = vertretungsItem.EmployeeAddressString,
Id = vertretungsItem.Id,
AssistanceTimeEntry = vertretungsItem.AssistanceTime,
AlleBetreuungszeiten = vertretungsItem.AlleBetreuungszeiten,
BetreuungszeitenAmDatum = vertretungsItem.BetreuungszeitenAmDatum,
MailCustomer = vertretungsItem.MailCustomer,
MailEmployee = vertretungsItem.MailEmployee,
MailVertretung = vertretungsItem.MailVertretung,
MailSchule = vertretungsItem.MailSchule
AssistanceTimeEntry = vertretungsItem.AssistanceTime
};
if (vertretungsItem.Arbeitszeiten != null && vertretungsItem.Arbeitszeiten.Any())
@@ -77,14 +71,9 @@ namespace BeWo.SchulbegleitenderDienst
return tagesansichtVM;
}
private bool _VertretungAusgewaehlt = false;
public bool AddeNeueTagesVertretung(TagesansichtVM viewModel, DateTime dateTime)
public void AddeNeueTagesVertretung(TagesansichtVM viewModel, DateTime dateTime)
{
_VertretungAusgewaehlt = false;
if (viewModel.Employee != null)
{
_SearchView = new VertretungsSearchView(dateTime, viewModel.Customer, viewModel, null, viewModel.Employee);
@@ -92,13 +81,10 @@ namespace BeWo.SchulbegleitenderDienst
_SearchView.RaiseCustomEvent += Tagesansicht_RaiseCustomEvent;
_SearchView.ShowDialog();
}
return _VertretungAusgewaehlt;
}
private void Tagesansicht_RaiseCustomEvent(object sender, VertretungSelectedEventArgs e)
{
_VertretungAusgewaehlt = true;
UpdateMitarbeiterToVertretung(e.Employee, e.VertretungVon, e.VertretungBis, e.TagesItem);
_SearchView.Close();

View File

@@ -41,14 +41,6 @@ namespace BeWo.SchulbegleitenderDienst
public DateTime? EndDate => Absencetime?.End;
public MailDC MailCustomer { get; set; }
public MailDC MailEmployee { get; set; }
public MailDC MailVertretung { get; set; }
public MailDC MailSchule { get; set; }
public string ArbeitszeitenString
{
get
@@ -271,9 +263,5 @@ namespace BeWo.SchulbegleitenderDienst
public Guid Id { get; set; }
public ArbeitszeitEintragDC AssistanceTimeEntry { get; set; }
public string AlleBetreuungszeiten { get; set; }
public string BetreuungszeitenAmDatum { get; set; }
}
}

View File

@@ -584,7 +584,7 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
MessageBox.Show("Bitte wählen sie zuerst " + BS.SharedLauncher.Translation.Translator.Translate("einen Klienten") + " aus.");
MessageBox.Show("Bitte wählen sie zuerst " + BS.Shared.Translation.Translator.Translate("einen Klienten") + " aus.");
}
}
}

View File

@@ -550,7 +550,7 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Bitte wählen sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus."));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Bitte wählen sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus."));
}
@@ -746,7 +746,7 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
MessageBox.Show("Bitte wählen Sie " + BS.SharedLauncher.Translation.Translator.Translate("eine/n Klient/in") + " und eine Abwesenheitskategorie aus.");
MessageBox.Show("Bitte wählen Sie " + BS.Shared.Translation.Translator.Translate("eine/n Klient/in") + " und eine Abwesenheitskategorie aus.");
}
@@ -868,21 +868,21 @@ namespace BeWo.SchulbegleitenderDienst
if (e.MenuInfo.Column.FieldName == "Kunde")
{
BarButtonItem x = new BarButtonItem() {Content = BS.SharedLauncher.Translation.Translator.Translate("Klient/in öffnen") };
BarButtonItem x = new BarButtonItem() {Content = BS.Shared.Translation.Translator.Translate("Klient/in öffnen") };
x.ItemClick += Kundeninfo_OnClick;
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
x.ItemClick += Mitarbeiterinfo_OnClick;
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "Vertretung")
{
BarButtonItem s = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem s = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
s.ItemClick += MitarbeiterVertretunginfo_OnClick;
e.Customizations.Add(s);
}
@@ -905,21 +905,21 @@ namespace BeWo.SchulbegleitenderDienst
if (e.MenuInfo.Column.FieldName == "Kunde")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Klient/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Klient/in öffnen") };
x.ItemClick += Kundeninfo_OnClick;
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
x.ItemClick += Mitarbeiterinfo_OnClick;
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "Vertretung")
{
BarButtonItem s = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem s = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
s.ItemClick += MitarbeiterVertretunginfo_OnClick;
e.Customizations.Add(s);
}
@@ -946,14 +946,14 @@ namespace BeWo.SchulbegleitenderDienst
if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Klient/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Klient/in öffnen") };
x.ItemClick += Kundeninfo_OnClick; // bearbeiten
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "MaKrank")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
x.ItemClick += Mitarbeiterinfo_OnClick; // eee
e.Customizations.Add(x);
}
@@ -963,7 +963,7 @@ namespace BeWo.SchulbegleitenderDienst
e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
e.MenuInfo.Column.FieldName == "VertretungSo")
{
BarButtonItem s = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem s = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
e.Customizations.Add(s);
_mitarbeiterVertretungWocheninfo = e.MenuInfo.Column.FieldName;
@@ -986,14 +986,14 @@ namespace BeWo.SchulbegleitenderDienst
if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Klient/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Klient/in öffnen") };
x.ItemClick += Kundeninfo_OnClick; // bearbeiten
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "MaKrank")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
x.ItemClick += Mitarbeiterinfo_OnClick; // eee
e.Customizations.Add(x);
}
@@ -1003,7 +1003,7 @@ namespace BeWo.SchulbegleitenderDienst
e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
e.MenuInfo.Column.FieldName == "VertretungSo")
{
BarButtonItem s = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem s = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
e.Customizations.Add(s);
_mitarbeiterVertretungWocheninfo = e.MenuInfo.Column.FieldName;
@@ -1026,14 +1026,14 @@ namespace BeWo.SchulbegleitenderDienst
if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Klient/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Klient/in öffnen") };
x.ItemClick += Kundeninfo_OnClick; // bearbeiten
e.Customizations.Add(x);
}
if (e.MenuInfo.Column.FieldName == "MaKrank")
{
BarButtonItem x = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem x = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
x.ItemClick += Mitarbeiterinfo_OnClick; // eee
e.Customizations.Add(x);
}
@@ -1043,7 +1043,7 @@ namespace BeWo.SchulbegleitenderDienst
e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
e.MenuInfo.Column.FieldName == "VertretungSo")
{
BarButtonItem s = new BarButtonItem() { Content = BS.SharedLauncher.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
BarButtonItem s = new BarButtonItem() { Content = BS.Shared.Translation.Translator.Translate("Mitarbeiter/in öffnen") };
s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
e.Customizations.Add(s);
_mitarbeiterVertretungWocheninfo = e.MenuInfo.Column.FieldName;
@@ -1173,12 +1173,12 @@ namespace BeWo.SchulbegleitenderDienst
}
}
else
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
}
else
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
}
}
@@ -1225,12 +1225,12 @@ namespace BeWo.SchulbegleitenderDienst
));
}
else
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
}
else
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Es wurde der Vertretung kein Mitarbeiter zugeteilt"));
}
}

View File

@@ -337,7 +337,7 @@
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="BetreuungszeitenAmDatum" Header="Betreuungszeiten" ReadOnly="True">
<dxg:GridColumn FieldName="AssistanceTimeEntry" Header="Betreuungszeiten" ReadOnly="True">
</dxg:GridColumn>
<dxg:GridColumn FieldName="Teamleitung" Header="Teamleitung" ReadOnly="True" />
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom" ReadOnly="True" />
@@ -425,7 +425,7 @@
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="BetreuungszeitenAmDatum" Header="Betreuungszeiten" ReadOnly="False">
<dxg:GridColumn FieldName="AssistanceTimeEntry" Header="Betreuungszeiten" ReadOnly="False">
</dxg:GridColumn>
<dxg:GridColumn FieldName="CustomerName" Header="{markup:Translate Klient/in}" ReadOnly="True">
<dxg:GridColumn.CellStyle>
@@ -1021,7 +1021,7 @@
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" MouseMove="TableView_MouseMove_Wochenansicht" ShowGridMenu="GridDataControlWochenansichtKlient_ShowGridMenu">
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" MouseMove="TableView_MouseMove_Wochenansicht">
</dxg:TableView>
</dxg:GridControl.View>
@@ -1151,7 +1151,7 @@
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" MouseMove="TableView_MouseMove_Wochenansicht" ShowGridMenu="SubstitutionUnwantedWeekViewGridControl_ShowGridMenu">
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" MouseMove="TableView_MouseMove_Wochenansicht">
</dxg:TableView>
</dxg:GridControl.View>

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
@@ -16,7 +15,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Utils;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Editors;
@@ -178,7 +177,7 @@ namespace BeWo.SchulbegleitenderDienst
private CompactEmployeeDC _CurrentEmployee;
private CompactCustomerDC _CurrentCustomer;
private void MitarbeiterVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
{
MvDatepickerUhrzeitVon.Text = string.Empty;
@@ -283,7 +282,7 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Bitte wählen Sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus."));
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Bitte wählen Sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus."));
}
@@ -490,7 +489,7 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
MessageBox.Show("Bitte wählen Sie " + BS.SharedLauncher.Translation.Translator.Translate("eine/n Klient/in") + " und eine Abwesenheitskategorie aus.");
MessageBox.Show("Bitte wählen Sie " + BS.Shared.Translation.Translator.Translate("eine/n Klient/in") + " und eine Abwesenheitskategorie aus.");
}
if(isValid)
@@ -572,7 +571,7 @@ namespace BeWo.SchulbegleitenderDienst
{
if (isOverlapping)
{
MessageBox.Show($"In dem angegebenen Zeitraum({absenceTime.Start.Value:dd.MM.yyyy} - {absenceTime.End.Value:dd.MM.yyyy}) existiert bereits eine Abwesenheit von " + BS.SharedLauncher.Translation.Translator.Translate("Klient") + " " + _CurrentCustomer.SimpleDescription + ". Die Abwesenheit konnte nicht angelegt werden.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Warning);
MessageBox.Show($"In dem angegebenen Zeitraum({absenceTime.Start.Value:dd.MM.yyyy} - {absenceTime.End.Value:dd.MM.yyyy}) existiert bereits eine Abwesenheit von " + BS.Shared.Translation.Translator.Translate("Klient") + " " + _CurrentCustomer.SimpleDescription + ". Die Abwesenheit konnte nicht angelegt werden.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Warning);
}
else
{
@@ -606,50 +605,123 @@ namespace BeWo.SchulbegleitenderDienst
private void ButtonVertretungWochenAnzeigeMitarbeiter_Click(object sender, RoutedEventArgs e)
{
if (_Wochenvertretung.AddeNeueVertretungforWochenAnsicht((WochenansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem, GridDataControlWochenansichtMitarbeiter.CurrentColumn.FieldName))
{
var selectedDate = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
LadeWochenansicht(selectedDate, selectedDate.AddDays(5));
}
_Wochenvertretung.AddeNeueVertretungforWochenAnsicht((WochenansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem, GridDataControlWochenansichtMitarbeiter.CurrentColumn.FieldName);
var selectedDate = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
LadeWochenansicht(selectedDate, selectedDate.AddDays(5));
}
private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
{
var button = (Button) sender;
if (_Tagesvertretung.AddeNeueTagesVertretung((TagesansichtVM)button.Tag, Datepicker.DateTime))
{
_Tagesvertretung.AddeNeueTagesVertretung((TagesansichtVM) button.Tag, Datepicker.DateTime);
LadeTagesansicht(Datepicker.DateTime.Date);
LadeTagesansicht(Datepicker.DateTime.Date);
}
private void GridDataControlTagesansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen"};
barButtonItem.ItemClick += DeleteMitarbeiterKrankmeldung_OnClick;
e.Customizations.Add(barButtonItem);
var barButtonItem2 = new BarButtonItem {Content = "Steckbrief anzeigen"};
barButtonItem2.ItemClick += ShowCharacteristics;
e.Customizations.Add(barButtonItem2);
var selectedViewModel = (TagesansichtVM)GridControlTagesansichtMitarbeiter.SelectedItem;
if (selectedViewModel != null && selectedViewModel.Vertretung != null)
{
var barButtonItem3 = new BarButtonItem {Content = "Vertretung löschen", Tag = e.Source.DataControl.SelectedItem };
barButtonItem3.ItemClick += DeleteVertretung_OnClick;
e.Customizations.Add(barButtonItem3);
}
}
private void GridDataControlWochenansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
var barButtonItem2 = new BarButtonItem { Content = "Steckbrief anzeigen" };
barButtonItem2.ItemClick += ShowCharacteristics;
e.Customizations.Add(barButtonItem2);
//var selectedViewModel = (TagesansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem;
}
private void ShowCharacteristics(object sender, RoutedEventArgs e)
{
CompactCustomerDC selectedCustomer = null;
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx";
var btn = sender as BarButtonItem;
if (btn.Tag is CompactCustomerDC)
if (ScrollViewerTagesansicht.Visibility == Visibility.Visible)
{
var c = btn.Tag as CompactCustomerDC;
url += $"?type={ReportTypes.SBDCharacteristics}&customerOid={c.CustomerOid}";
TagesansichtVM selectedItem = GridControlTagesansichtMitarbeiter.SelectedItem as TagesansichtVM;
if (selectedItem != null)
{
selectedCustomer = selectedItem.Customer;
}
}
else if (btn.Tag is CompactEmployeeDC)
else if (ScrollViewerWochenansicht.Visibility == Visibility.Visible)
{
var emp = btn.Tag as CompactEmployeeDC;
url += $"?type={ReportTypes.SBDEmployeeReport}&employeeOid={emp.EmployeeOid}";
WochenansichtVM selectedItem = GridDataControlWochenansichtMitarbeiter.SelectedItem as WochenansichtVM;
if (selectedItem != null)
{
selectedCustomer = selectedItem.Customer;
}
}
if(selectedCustomer != null)
{
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedCustomer.CustomerOid}";
BeWoUtils.NavigateToReportUri(url, "Steckbrief");
//var tempToken = string.Empty;
ServiceFacade.DoDownloadServiceAsync(s => s.CreateTemporaryToken(url, true), delegate(string tempToken)
{
this.Dispatch(
() =>
{
var addChar = url.Contains("?") ? "&" : "?";
url = $"{url}{addChar}token={tempToken}";
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUri(url, "Steckbrief");
}
);
});
//ServiceFacade.DoDownloadServiceSync(s => tempToken = s.CreateTemporaryToken(url, true));
//var addChar = url.Contains("?") ? "&" : "?";
//url = $"{url}{addChar}token={tempToken}";
//url = BeWoWpfUtils.GetHTMLEncodedURL(url);
//BeWoUtils.NavigateToReportUri(url, "Steckbrief");
}
}
private void GridDataControlTagesansichtKlient_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen"};
barButtonItem.ItemClick += DeleteKlientKrankmeldung_OnClick;
e.Customizations.Add(barButtonItem);
}
private void DeleteMitarbeiterKrankmeldung_OnClick(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
var selectedViewModel = (TagesansichtVM)GridControlTagesansichtMitarbeiter.SelectedItem;
_Tagesvertretung.DeleteKrankmeldung(selectedViewModel, ShowDeletionMessageBox(selectedViewModel.Absencetime), Datepicker.DateTime.Date);
LadeTagesansicht(Datepicker.DateTime.Date);
}
}
//private void DeleteVertretung_OnClick(object sender, RoutedEventArgs e)
//{
@@ -904,8 +976,8 @@ namespace BeWo.SchulbegleitenderDienst
{
this.Dispatch(() =>
{
ComboBoxKlientVertretung.ItemsSource = absenceReasons.Where(a => !a.Sichtbarkeit.HasValue || a.Sichtbarkeit.Value != BS.Shared.AbsenceReasonVisibilityType.Employee);
ComboBoxMitarbeiterVertretung.ItemsSource = absenceReasons.Where(a => !a.Sichtbarkeit.HasValue || a.Sichtbarkeit.Value != BS.Shared.AbsenceReasonVisibilityType.Customer); ;
ComboBoxKlientVertretung.ItemsSource = absenceReasons;
ComboBoxMitarbeiterVertretung.ItemsSource = absenceReasons;
AbwesenheitsKategorieComboBox.ItemsSource = absenceReasons;
});
@@ -1016,142 +1088,22 @@ namespace BeWo.SchulbegleitenderDienst
}
}
private void GridDataControlTagesansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void GridDataControlTagesansichtKlient_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void GridControlTagesansichtNoSubstitutionWanted_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen", Tag = e.Source.DataControl.SelectedItem};
barButtonItem.ItemClick += DeleteCustomerAbsenceTime_OnClick;
e.Customizations.Add(barButtonItem);
private void GridDataControlWochenansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void GridDataControlWochenansichtKlient_ShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void SubstitutionUnwantedWeekViewGridControl_ShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void AddContextMenu(GridMenuEventArgs e)
{
var item = e.Source.DataControl.SelectedItem;
TagesansichtVM tvm = null;
if (item != null && item is WochenansichtVM)
var selectedTagesansichtVM = (TagesansichtVM)barButtonItem.Tag;
if (selectedTagesansichtVM != null && selectedTagesansichtVM.Vertreter != null)
{
var wvm = item as WochenansichtVM;
tvm = wvm.GetFirstTagesansichtVM();
}
else
{
tvm = item as TagesansichtVM;
var barButtonItem2 = new BarButtonItem { Content = "Vertretung löschen", Tag = e.Source.DataControl.SelectedItem };
barButtonItem2.ItemClick += DeleteVertretung_OnClick;
e.Customizations.Add(barButtonItem2);
}
if (tvm != null)
{
var btn = new BarButtonItem { Content = Translator.Translate("Steckbrief anzeigen") };
btn.ItemClick += ShowCharacteristics;
if (!String.IsNullOrEmpty(e.MenuInfo.Column?.FieldName) && e.MenuInfo.Column.FieldName.Contains("Employee"))
{
btn.Tag = tvm.Employee;
}
else if (!String.IsNullOrEmpty(e.MenuInfo.Column?.FieldName) && e.MenuInfo.Column.FieldName.Contains("Vertret"))
{
btn.Tag = tvm.Vertreter;
}
if (btn.Tag == null)
{
if (tvm.Customer != null)
{
btn.Tag = tvm.Customer;
}
else
{
btn.Tag = tvm.Employee;
}
}
e.Customizations.Add(btn);
if (tvm.MailCustomer != null && !String.IsNullOrEmpty(tvm.MailCustomer.Receiver))
{
btn = new BarButtonItem { Content = Translator.Translate("E-Mail an Klient/in senden"), Tag = tvm.MailCustomer };
btn.ItemClick += SendMail_OnClick;
e.Customizations.Add(btn);
}
if (tvm.MailEmployee != null && !String.IsNullOrEmpty(tvm.MailEmployee.Receiver))
{
btn = new BarButtonItem { Content = Translator.Translate("E-Mail an Mitarbeiter/in senden"), Tag = tvm.MailEmployee };
btn.ItemClick += SendMail_OnClick;
e.Customizations.Add(btn);
}
if (tvm.MailVertretung != null && !String.IsNullOrEmpty(tvm.MailVertretung.Receiver))
{
btn = new BarButtonItem { Content = Translator.Translate("E-Mail an Vertretung senden"), Tag = tvm.MailVertretung };
btn.ItemClick += SendMail_OnClick;
e.Customizations.Add(btn);
}
if (tvm.MailSchule != null && !String.IsNullOrEmpty(tvm.MailSchule.Receiver))
{
btn = new BarButtonItem { Content = Translator.Translate("E-Mail an die Schule senden"), Tag = tvm.MailSchule };
btn.ItemClick += SendMail_OnClick;
e.Customizations.Add(btn);
}
if (tvm.Absencetime != null)
{
e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
btn = new BarButtonItem { Content = "Abwesenheit löschen", Tag = tvm };
btn.ItemClick += DeleteAbsenceTime_OnClick;
e.Customizations.Add(btn);
}
if (tvm.Vertreter != null)
{
if (tvm.Absencetime == null)
{
e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
}
btn = new BarButtonItem { Content = "Vertretung löschen", Tag = tvm };
btn.ItemClick += DeleteVertretung_OnClick;
e.Customizations.Add(btn);
}
}
}
private void DeleteAbsenceTime_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem)sender;
var selectedTagesansichtVM = (TagesansichtVM)barButtonItem.Tag;
if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
_Tagesvertretung.DeleteKrankmeldung(selectedTagesansichtVM, ShowDeletionMessageBox(selectedTagesansichtVM.Absencetime), Datepicker.DateTime.Date);
LadeTagesansicht(Datepicker.DateTime);
}
}
private void DeleteCustomerAbsenceTime_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem) sender;
@@ -1165,18 +1117,6 @@ namespace BeWo.SchulbegleitenderDienst
}
}
private void DeleteMitarbeiterKrankmeldung_OnClick(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
var selectedViewModel = (TagesansichtVM)GridControlTagesansichtMitarbeiter.SelectedItem;
_Tagesvertretung.DeleteKrankmeldung(selectedViewModel, ShowDeletionMessageBox(selectedViewModel.Absencetime), Datepicker.DateTime.Date);
LadeTagesansicht(Datepicker.DateTime.Date);
}
}
private void DeleteVertretung_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem)sender;
@@ -1190,17 +1130,6 @@ namespace BeWo.SchulbegleitenderDienst
}
}
private void SendMail_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem)sender;
var mail = (MailDC)barButtonItem.Tag;
if (mail != null)
{
BeWoUtils.OpenMailClient(mail.Receiver, mail.Subject, mail.Message);
}
}
private void GridControlSubUnwanted_OnCellValueChanged(object sender, CellValueChangedEventArgs e)
{
_Tagesvertretung.UpdateRowData((TagesansichtVM) SubstitutionUnwantedDayViewGridControl.SelectedItem);
@@ -1333,8 +1262,31 @@ namespace BeWo.SchulbegleitenderDienst
}
else
{
TagesansichtVM tvm = vm.GetFirstTagesansichtVM();
TagesansichtVM tvm = null;
if (vm.ItemMo != null)
{
tvm = vm.ItemMo;
}
else if (vm.ItemDi != null)
{
tvm = vm.ItemDi;
}
else if (vm.ItemMi != null)
{
tvm = vm.ItemMi;
}
else if (vm.ItemDo != null)
{
tvm = vm.ItemDo;
}
else if (vm.ItemFr != null)
{
tvm = vm.ItemFr;
}
else if (vm.ItemSa != null)
{
tvm = vm.ItemSa;
}
if (tvm != null)
{
tt = tvm.CustomerToolTip;
@@ -1406,9 +1358,6 @@ namespace BeWo.SchulbegleitenderDienst
}
//private void TableView_SizeChanged(object sender, SizeChangedEventArgs e)
//{
// var view = sender as TableView;

View File

@@ -148,7 +148,7 @@
<dxg:GridColumn FieldName="Geschlecht" ReadOnly="True" Header="Geschlecht" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" BestFitMode="AllRows" AllowBestFit="True" ShowTotalSummary="False" ShowGroupPanel="False" RowDoubleClick="TableView_OnRowDoubleClick" ShowGridMenu="TableView_OnShowGridMenu"/>
<dxg:TableView AllowPerPixelScrolling="True" BestFitMode="AllRows" AllowBestFit="True" ShowTotalSummary="False" ShowGroupPanel="False" RowDoubleClick="TableView_OnRowDoubleClick" />
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel Grid.Row="4" Grid.Column="0" Margin="3" >

View File

@@ -15,9 +15,6 @@ using BS.Shared.DataContracts.Compact;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using BS.Shared.DataContracts;
using DevExpress.Xpf.Bars;
using BeWo.Core;
using BS.SharedLauncher.Translation;
namespace BeWo.SchulbegleitenderDienst
{
@@ -209,7 +206,8 @@ namespace BeWo.SchulbegleitenderDienst
{
lblCustomerName.Content = string.Empty;
lblSchoolName.Content = string.Empty;
lblBetreuungszeiten.Content = string.Empty;
if (_Tagesansicht.Customer != null)
{
lblCustomerName.Content = String.Format("{0}\n{1}\n{2} {3}", _Tagesansicht.Customer.Name,
@@ -225,8 +223,11 @@ namespace BeWo.SchulbegleitenderDienst
// _Tagesansicht.Schule.Street, _Tagesansicht.Schule.PostalCode, _Tagesansicht.Schule.Town);
}
lblBetreuungszeiten.Content = _Tagesansicht.AlleBetreuungszeiten;
if (_Tagesansicht.AssistanceTimeEntry != null)
{
lblBetreuungszeiten.Content = _Tagesansicht.AssistanceTimeEntry.ToString();
}
//"Montag 09:00 - 12:00\nDienstag 10:00 - 11:00\nMittwoch 08:00 - 12:00\nDonnerstag 08:00 - 12:00\nFreitag 08:00 - 12:00";
}
@@ -796,38 +797,6 @@ namespace BeWo.SchulbegleitenderDienst
CloseSearchView(item);
}
private void TableView_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void AddContextMenu(GridMenuEventArgs e)
{
var item = e.Source.DataControl.SelectedItem;
var btn = new BarButtonItem { Content = Translator.Translate("Steckbrief anzeigen") };
btn.ItemClick += ShowCharacteristics;
btn.Tag = item;
e.Customizations.Add(btn);
}
private void ShowCharacteristics(object sender, RoutedEventArgs e)
{
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx";
var btn = sender as BarButtonItem;
var sd = btn.Tag as SearchViewDaten;
url += $"?type={ReportTypes.SBDEmployeeReport}&employeeOid={sd.EmployeeDC.EmployeeOid}";
BeWoUtils.NavigateToReportUri(url, "Steckbrief");
}
private void CloseSearchView(SearchViewDaten item)
{
var vertreter = item.EmployeeDC.CompactEmployee;

View File

@@ -1,78 +0,0 @@
<localView:BeWoView x:Class="BeWo.SchulbegleitenderDienst.View.SbdOrganisationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:validation="clr-namespace:BeWo.Validation"
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<Grid Name="root" >
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WrapPanel Orientation="Horizontal">
<GroupBox Header="{t:Translate Freie Tage}" Style="{StaticResource ObjectEditGroupBox}" MaxWidth="400">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Name="button_addFeiertag" Click="button_addFeiertag_Click" Grid.Row="2" Grid.Column="0"
Height="25" Margin="3,3,3,3" IsDefault="True" Padding="5,0,5,1" HorizontalAlignment="Left" Content="{t:Translate Neuen Tag hinzufügen}"></Button>
<dxg:GridControl x:Name="DatagridFeiertage" Margin="0,10,0,0" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="3" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" Click="DeleteButton_Click" Visibility="{Binding Path=EditValue, Converter={StaticResource BoolVisibilityConverter}}" FontFamily="Webdings" Width="18" Height="18" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Name" Header="Bezeichnung">
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.IsSystem}" Value="True">
<Setter Property="Background" Value="#FFCA7F" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Datum" Header="Datum" SortOrder="Ascending">
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.IsSystem}" Value="True">
<Setter Property="Background" Value="#FFCA7F" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</GroupBox>
</WrapPanel>
</Grid>
</localView:BeWoView>

View File

@@ -1,58 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using BeWo.Core;
using BeWo.SchulbegleitenderDienst.ViewModel;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared.Extensions;
namespace BeWo.SchulbegleitenderDienst.View
{
public partial class SbdOrganisationView
{
private FeiertagListVM _ViewModel;
public FeiertagListVM ViewModel
{
get { return _ViewModel; }
set
{
_ViewModel = value;
root.DataContext = value;
}
}
public override bool IsDirty
{
get { return ViewModel != null && ViewModel.IsDirty; }
}
public SbdOrganisationView(FeiertagListVM pViewModel)
{
InitializeComponent();
ViewModel = pViewModel;
}
private void button_addFeiertag_Click(object sender, RoutedEventArgs e)
{
if (ValidationTrigger.Validate(this))
ViewModel.AddNewVMToList();
}
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
var lVM = DatagridFeiertage.GetCurrentValue<FeiertagVM>();
if (lVM == null) return;
ViewModel.VMList.Remove(lVM);
BeWoWpfUtils.RefreshDXGrid(DatagridFeiertage);
}
}
}

View File

@@ -120,11 +120,8 @@ namespace BeWo.SchulbegleitenderDienst
}
}
private bool _VertretungAusgewaehlt = false;
public bool AddeNeueVertretungforWochenAnsicht(WochenansichtVM wochenVm, string tag)
public void AddeNeueVertretungforWochenAnsicht(WochenansichtVM wochenVm, string tag)
{
_VertretungAusgewaehlt = false;
TagesansichtVM tagesVm = null;
if (tag.Contains("ItemMo"))
@@ -153,21 +150,16 @@ namespace BeWo.SchulbegleitenderDienst
}
if (tagesVm != null)
{
{
var view = new VertretungsSearchView(tagesVm.Datum, tagesVm.Customer, tagesVm, wochenVm, wochenVm.Employee);
view.RaiseCustomEvent += KlientenWochen_RaiseCustomEvent;
view.ShowDialog();
}
return _VertretungAusgewaehlt;
}
public void KlientenWochen_RaiseCustomEvent(object sender, VertretungSelectedEventArgs e)
{
_VertretungAusgewaehlt = true;
UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Employee, e.VertretungVon, e.VertretungBis, e.TagesItem, e.WochenItem);
}

View File

@@ -20,35 +20,5 @@ namespace BeWo.SchulbegleitenderDienst
public Dictionary<string, Dictionary<DateTime, TagesansichtVM>> VertretungsWoche { get; set; }
public Dictionary<string, Dictionary<DateTime, TagesansichtVM>> KlientvertretungsWoche { get; set; }
public TagesansichtVM GetFirstTagesansichtVM()
{
if (ItemMo != null)
{
return ItemMo;
}
else if (ItemDi != null)
{
return ItemDi;
}
else if (ItemMi != null)
{
return ItemMi;
}
else if (ItemDo != null)
{
return ItemDo;
}
else if (ItemFr != null)
{
return ItemFr;
}
else if (ItemSa != null)
{
return ItemSa;
}
return null;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -86,20 +86,6 @@ namespace BeWo.ServiceProxy
DoAsync<AccountingServiceClient, IAccountingService>(pAction, callback, true);
}
public static T DoAccountingServiceSync<T>(Func<IAccountingService, T> pFunc)
{
try
{
return pFunc.Invoke(GetInstance<AccountingServiceClient, IAccountingService>());
}
catch (Exception e)
{
ShowErrorMessage(e);
}
return default(T);
}
public static void DoAnalysisServiceAsync<T>(Func<IAnalysisService, T> pFunc, Action<T> pCallBack)
{
DoAsync<AnalysisServiceClient, IAnalysisService, T>(pFunc, pCallBack, true);
@@ -879,7 +865,7 @@ namespace BeWo.ServiceProxy
{
var lBeWoFault = (e as FaultException<BeWoFault>).Detail;
String rowUpdated = "Der Datensatz wurde in der Zwischenzeit von " + BS.SharedLauncher.Translation.Translator.Translate("einem anderen Benutzer") + " geändert. Ihre Änderungen konnten leider NICHT gespeichert werden. Das Problem tritt auf, wenn mehrere " + BS.SharedLauncher.Translation.Translator.Translate("BenutzerPlural") + " gleichzeitig den gleichen Datensatz bearbeiten.\n\nSie müssen den Datensatz schließen und erneut öffnen, um die Änderungen vornehmen zu können.";
String rowUpdated = "Der Datensatz wurde in der Zwischenzeit von " + BS.Shared.Translation.Translator.Translate("einem anderen Benutzer") + " geändert. Ihre Änderungen konnten leider NICHT gespeichert werden. Das Problem tritt auf, wenn mehrere " + BS.Shared.Translation.Translator.Translate("BenutzerPlural") + " gleichzeitig den gleichen Datensatz bearbeiten.\n\nSie müssen den Datensatz schließen und erneut öffnen, um die Änderungen vornehmen zu können.";
switch (lBeWoFault.FaultType)
{
case BeWoFaultType.Concurrency:
@@ -919,22 +905,7 @@ namespace BeWo.ServiceProxy
}
else
{
String allMessage = String.Format("{0}", e);
if (!String.IsNullOrEmpty(allMessage) && allMessage.IndexOf("Es war kein an https://") >= 0 && allMessage.IndexOf("lauschender Endpunkt") >= 0)
{
String msg = "Es konnte leider keine Verbindung zum Server hergestellt werden. Bitte prüfen Sie Ihre Internetverbindung oder versuchen Sie es später erneut. Bei wiederholter Fehlermeldung schicken Sie bitte folgende Fehlermeldung an support@bewoplaner.de";
BeWoApp.ShowError(msg, e, true);
}
else if (!String.IsNullOrEmpty(e.Message) && e.Message.IndexOf("Der Prozess kann nicht auf die Datei") >= 0 && e.Message.IndexOf("von einem anderen Prozess verwendet") >= 0)
{
BeWoApp.ShowError(e.Message, e, false);
}
else
{
BeWoApp.ShowError(null, e, true);
}
BeWoApp.ShowError(null, e, true);
}
}

View File

@@ -52,10 +52,6 @@
</view:BeWoView.Resources>
<GroupBox Header="Bargeldkassen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -157,11 +153,7 @@
</Border>
</controls:PopupNonTopmost>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Stretch">
<Label Content="Sortierung" />
<ComboBox Height="23" x:Name="SortComboBox" Margin="3" VerticalAlignment="Top" MinWidth="180" SelectionChanged="SortComboBox_SelectionChanged"/>
</StackPanel>
<TabControl Grid.Row="1" Grid.ColumnSpan="2" Margin="5" ItemsSource="{Binding VMList}" x:Name="tabcontrol_bargeldkassen" Visibility="{Binding VMList.Count, Converter={StaticResource CollectionCountToVisibilityConverter}}">
<TabControl Grid.Row="1" Margin="5" ItemsSource="{Binding VMList}" x:Name="tabcontrol_bargeldkassen" Visibility="{Binding VMList.Count, Converter={StaticResource CollectionCountToVisibilityConverter}}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
@@ -239,10 +231,13 @@
<Button Grid.Row="0" Grid.Column="0" Content="Neue Zahlung hinzufügen" Margin="3" Tag="{Binding}" Click="ButtonOpenAddBargeldtransaktionClick" IsEnabled="{Binding Path=DarfBargeldTransaktionAnlegen, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}" />
<Label Grid.Row="0" Grid.Column="1" Content="Anfangsbestand" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="3"/>
<dxe:TextEdit Grid.Row="0" Grid.Column="2" MaskType="Numeric" Mask="c" MaskUseAsDisplayFormat="True" Height="23" Margin="3" EditMode="InplaceInactive"
EditValue="{Binding Path=Anfangsbestand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalContentAlignment="Left" FontWeight="Bold" />
<Label Grid.Row="0" Grid.Column="1" Content="Kassenbestand" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="3,-10,3,3"/>
<dxe:TextEdit Grid.Row="0" Grid.Column="2" MaskType="Numeric" Mask="c" MaskUseAsDisplayFormat="True" Height="23" Margin="3,-10,3,3" EditMode="InplaceInactive"
Width="80" EditValue="{Binding Path=Kassenbestand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalContentAlignment="Right" FontWeight="Bold" />
<Label Grid.Row="0" Grid.Column="1" Content="Anfangsbestand" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="3,3,3,-10"/>
<dxe:TextEdit Grid.Row="0" Grid.Column="2" MaskType="Numeric" Mask="c" MaskUseAsDisplayFormat="True" Height="23" Margin="3,3,3,-10" EditMode="InplaceInactive"
Width="80" EditValue="{Binding Path=Anfangsbestand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalContentAlignment="Right" FontWeight="Bold" />
<!--<Label VerticalAlignment="Center">Auszahlungsintervall</Label>
<dxe:ComboBoxEdit VerticalAlignment="Center" Height="23" HorizontalAlignment="Left" Width="100" IsTextEditable="False" Margin="3,0,3,3"
@@ -252,9 +247,8 @@
EditValueChanged="AuszahlungsIntervallCBEditValueChanged"/>-->
<StackPanel Grid.Row="0" Grid.Column="7" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Left">
<Label Grid.Row="0" Grid.Column="3" Content="Startdatum" VerticalAlignment="Center"/>
<dxe:DateEdit Grid.Row="0" Grid.Column="4" x:Name="KassenBuchStartCB" MaskType="DateTimeAdvancingCaret" Height="23" Margin="3" EditValue="{Binding Path=PreselectedStartDate, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}" AllowNullInput="False" />
<dxe:DateEdit Grid.Row="0" Grid.Column="4" x:Name="KassenBuchStartCB" MaskType="DateTimeAdvancingCaret" Height="23" Margin="3" EditValue="{Binding Path=PreselectedStartDate, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}" AllowNullInput="False" />
<Label Grid.Row="0" Grid.Column="5" Content="Enddatum" VerticalAlignment="Center"/>
<dxe:DateEdit Grid.Row="0" Grid.Column="6" x:Name="KassenBuchEndCB" MaskType="DateTimeAdvancingCaret" Height="23" Margin="3" EditValue="{Binding Path=PreselectedEndDate, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}" AllowNullInput="False"/>
@@ -266,26 +260,16 @@
<uc:NullItemComboBox x:Name="KassenbuchJahresCB" Margin="3" ItemsSource="{Binding Path=JahresComboBoxSource, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}"
SelectedItem="{Binding Path=PreselectedYear, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}"/>-->
<TextBlock Grid.Row="0" Margin="3" FontSize="14" VerticalAlignment="Center" PreviewMouseLeftButtonDown="KlassenbuchLinkOnPreviewMouseLeftButtonDown" Tag="{Binding}" IsEnabled="{Binding Path=Bargeldtransaktionen.VMList.Count, Converter={StaticResource CollectionCountToBoolConverter}, UpdateSourceTrigger=PropertyChanged}">
<TextBlock Grid.Row="0" Grid.Column="7" Margin="3" FontSize="14" VerticalAlignment="Center" PreviewMouseLeftButtonDown="KlassenbuchLinkOnPreviewMouseLeftButtonDown" Tag="{Binding}" IsEnabled="{Binding Path=Bargeldtransaktionen.VMList.Count, Converter={StaticResource CollectionCountToBoolConverter}, UpdateSourceTrigger=PropertyChanged}">
<Hyperlink x:Name="LinkKassenbuchDrucken" TargetName="_NewWindow" Style="{StaticResource HyperlinkStyle}">
<Run Text="Kassenbuch drucken" />
</Hyperlink>
</TextBlock>
</StackPanel>
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="10" x:Name="BlubbTest" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="16" Foreground="{StaticResource TabItemHotTextBrush}" FontFamily="Microsoft Sans Serif" Text="Ein- und Auszahlungen" Margin="3,5,3,3"/>
<Label Content="Saldo" VerticalAlignment="Center" Margin="3,3,3,3"/>
<dxe:TextEdit MaskType="Numeric" Mask="c" MaskUseAsDisplayFormat="True" Height="23" Margin="3,3,3,3" EditMode="InplaceInactive"
EditValue="{Binding Path=Kassenbestand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" FontWeight="Bold" />
<Label Content="Stichtag" VerticalAlignment="Center" Margin="3,3,3,3"/>
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Height="23" Width="100" Margin="3" EditValue="{Binding Path=Stichtag, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AllowNullInput="True"/>
</StackPanel>
</GroupBox.Header>
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="10" x:Name="BlubbTest" Style="{StaticResource ObjectEditGroupBox}" Header="Ein- und Auszahlungen">
<dxg:GridControl Name="grid_bargeldtransaktionen" Tag="{Binding}" MaxWidth="{Binding ElementName=BlubbTest, Path=ActualWidth}" ItemsSource="{Binding Path=Bargeldtransaktionen.VMList}" CustomColumnSort="GridBargeldtransaktionenOnCustomColumnSort">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Path=DarfBargeldtransaktionenBearbeiten, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}">

View File

@@ -17,7 +17,7 @@ using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using DevExpress.Utils;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
@@ -103,66 +103,6 @@ namespace BeWo.View
}
}
private void SortiereKassen()
{
if (ViewModel != null && tabcontrol_bargeldkassen != null)
{
var alterIndex = tabcontrol_bargeldkassen.SelectedIndex;
tabcontrol_bargeldkassen.ItemsSource = null;
//var sorted =
if (SortComboBox.SelectedIndex == 0)
{
ViewModel.VMList.Sort((a, b) => Comparer<String>.Default.Compare(a.Kassenname, b.Kassenname));
//sorted = r.OrderBy(k => k.Kassenname).ToList();
}
else if (SortComboBox.SelectedIndex == 1)
{
ViewModel.VMList.Sort((a, b) => Comparer<long?>.Default.Compare(a.DataContract.BargeldkassenOid, b.DataContract.BargeldkassenOid));
//sorted = r.OrderBy(k => k.BargeldkassenOid).ToList();
}
else
{
ViewModel.VMList.Sort((a, b) => Comparer<long?>.Default.Compare(a.DataContract.BargeldkassenOid, b.DataContract.BargeldkassenOid) * -1);
//sorted = r.OrderByDescending(k => k.BargeldkassenOid).ToList();
}
tabcontrol_bargeldkassen.ItemsSource = ViewModel.VMList;
if (alterIndex == -1)
{
alterIndex = 0;
}
else
{
while (alterIndex > ViewModel.VMList.Count)
{
alterIndex--;
}
}
tabcontrol_bargeldkassen.SelectedIndex = alterIndex;
}
}
private void SelektiereKasse(String kassenname)
{
if (!String.IsNullOrEmpty(kassenname))
{
var index = tabcontrol_bargeldkassen.SelectedIndex;
int idx = 0;
foreach (var item in tabcontrol_bargeldkassen.Items)
{
var vm = item as BargeldkassenVM;
if (vm?.Kassenname == kassenname)
{
index = idx;
}
idx++;
}
tabcontrol_bargeldkassen.SelectedIndex = index;
}
}
private readonly TableID currentObjectTid;
private readonly long currentObjectOid;
@@ -177,8 +117,7 @@ namespace BeWo.View
public BargeldkassenView(TableID objectTid, long objectOid)
{
InitializeComponent();
InitSortCombos();
_JahresComboBoxSource = new List<int>();
for (var i = 9; i >= 0; i--)
{
@@ -194,7 +133,7 @@ namespace BeWo.View
InitRights();
ReloadViewModel(true, null);
ReloadViewModel();
if (tabcontrol_bargeldkassen != null && tabcontrol_bargeldkassen.SelectedIndex == -1)
@@ -203,26 +142,6 @@ namespace BeWo.View
}
}
private void InitSortCombos()
{
var list = new List<KassenSortOrderItem>();
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachName));
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachDatumAufsteigend));
list.Add(new KassenSortOrderItem(KassenSortOrderEnum.NachDatumAbsteigend));
SortComboBox.DisplayMemberPath = "Name";
SortComboBox.ItemsSource = list;
if (BeWoApp.AppSettings.LastKassenSortOrder < list.Count)
{
SortComboBox.SelectedIndex = BeWoApp.AppSettings.LastKassenSortOrder;
}
}
private void InitRights()
@@ -256,17 +175,7 @@ namespace BeWo.View
}
private void ReloadViewModelMitSortierung()
{
ReloadViewModel(true, null);
}
private void ReloadViewModelOhneSortierung()
{
ReloadViewModel(false, null);
}
private void ReloadViewModel(bool sortiereKassen, String selectedKassenname)
private void ReloadViewModel()
{
var previouslySelectedTab = tabcontrol_bargeldkassen.SelectedIndex;
@@ -275,15 +184,30 @@ namespace BeWo.View
{
if (r.Any())
{
int? alteAnzahl = null;
if (ViewModel != null)
{
alteAnzahl = ViewModel.VMList.Count;
}
ViewModel = new BargeldkassenListVM(r);
//if (sortiereKassen)
//{
SortiereKassen();
//}
var neueAnzahl = ViewModel.VMList.Count;
SelektiereKasse(selectedKassenname);
if (alteAnzahl != null && neueAnzahl > alteAnzahl)
{
tabcontrol_bargeldkassen.SelectedIndex = neueAnzahl - 1;
}
else if (previouslySelectedTab > -1)
{
tabcontrol_bargeldkassen.SelectedIndex = previouslySelectedTab;
}
else
{
tabcontrol_bargeldkassen.SelectedIndex = 0;
}
ViewModel.VMList.DoForEach(d => d.Bargeldtransaktionen.VMList.ListChanged += (sender, args) =>
{
@@ -307,8 +231,7 @@ namespace BeWo.View
{
bargeldkasse.RecalculateTransaktionsbestaende();
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r2 => this.Dispatch(ReloadViewModelOhneSortierung));
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r2 => this.Dispatch(ReloadViewModel));
}
}
});
@@ -331,12 +254,11 @@ namespace BeWo.View
var textBlock = (TextBlock) sender;
var kasse = ((BargeldkassenVM) textBlock.Tag).CommitToDataContract();
var grid = (Grid)textBlock.Parent;
var kinder = grid.Children;
var stackPanel = (StackPanel)textBlock.Parent;
var kinder = stackPanel.Children;
var startzeitraum = (DateEdit)kinder[1];
var endzeitraum = (DateEdit)kinder[3];
var startzeitraum = (DateEdit)kinder[6];
var endzeitraum = (DateEdit)kinder[8];
//var parentStackPanel = (StackPanel) textBlock.Parent;
//var kinder = parentStackPanel.Children;
@@ -376,7 +298,7 @@ namespace BeWo.View
selectedBargeldkasse.RecalculateTransaktionsbestaende();
var kb = selectedBargeldkasse.Kassenbestand;
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(selectedBargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModelOhneSortierung));
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(selectedBargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModel));
}
private void LinkZahlungsbelegDruckenClick(object sender, RoutedEventArgs e)
@@ -401,7 +323,6 @@ namespace BeWo.View
var neu = ViewModel.NewVM;
neu.ObjectOid = currentObjectOid;
neu.ObjectTid = currentObjectTid;
String name = neu.Kassenname;
ServiceFacade.DoOperationsServiceAsync(s => s.InsertNewBargeldkasse(neu.CommitToDataContract()), r => this.Dispatch(delegate
{
@@ -409,7 +330,7 @@ namespace BeWo.View
ViewModel.NewVM = new BargeldkassenVM(new BargeldkassenDC());
ReloadViewModel(true, name);
ReloadViewModel();
}));
}
@@ -429,10 +350,7 @@ namespace BeWo.View
{
return;
}
if (!NewBargeldtransaktion.Betrag.HasValue || NewBargeldtransaktion.Zahlungstyp == null)
{
return;
}
var transaktionsBetrag = NewBargeldtransaktion.Betrag * (NewBargeldtransaktion.Zahlungstyp.Enum == Zahlungstyp.Auszahlung ? -1 : 1);
var latestTransactionDate = new DateTime(1, 1, 1);
@@ -479,7 +397,7 @@ namespace BeWo.View
OnPropertyChanged("NewBargeldtransaktion");
OnPropertyChanged("SelectedBargeldkasse");
ReloadViewModel(false, null);
ReloadViewModel();
}));
}
@@ -522,7 +440,7 @@ namespace BeWo.View
ViewModel.VMList.Remove(selectedBargeldkasse);
ServiceFacade.DoOperationsServiceAsync(s => s.DeactivateBargeldkasse(selectedBargeldkasse.DataContract.BargeldkassenOid.Value, selectedBargeldkasse.DataContract.BargeldkassenVersion.Value), () => this.Dispatch(ReloadViewModelOhneSortierung));
ServiceFacade.DoOperationsServiceAsync(s => s.DeactivateBargeldkasse(selectedBargeldkasse.DataContract.BargeldkassenOid.Value, selectedBargeldkasse.DataContract.BargeldkassenVersion.Value), () => this.Dispatch(ReloadViewModel));
}
private void AuszahlungsIntervallCBEditValueChanged(object sender, EditValueChangedEventArgs e)
@@ -539,7 +457,7 @@ namespace BeWo.View
return;
}
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModelOhneSortierung));
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateBargeldkasse(bargeldkasse.CommitToDataContract()), r => this.Dispatch(ReloadViewModel));
}
public event PropertyChangedEventHandler PropertyChanged;
@@ -584,52 +502,8 @@ namespace BeWo.View
{
popup.IsOpen = false;
ReloadViewModel(false, null);
ReloadViewModel();
}));
}
private void SortComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
BargeldkassenVM selectedVM = tabcontrol_bargeldkassen.SelectedItem as BargeldkassenVM;
String lastName = null;
if (selectedVM != null)
{
lastName = selectedVM.Kassenname;
}
SortiereKassen();
SelektiereKasse(lastName);
BeWoApp.AppSettings.LastKassenSortOrder = SortComboBox.SelectedIndex;
BeWoApp.SaveAppSettings();
}
}
public class KassenSortOrderItem
{
public KassenSortOrderItem(KassenSortOrderEnum e)
{
SortOrderEnum = e;
}
public KassenSortOrderEnum SortOrderEnum { get; set; }
public String Name
{
get
{
switch (SortOrderEnum)
{
case KassenSortOrderEnum.NachName:
return Translator.Translate("Nach Name");
case KassenSortOrderEnum.NachDatumAufsteigend:
return Translator.Translate("Nach Datum (aufsteigend)");
case KassenSortOrderEnum.NachDatumAbsteigend:
return Translator.Translate("Nach Datum (absteigend)");
}
return "";
}
}
}
}

View File

@@ -6,7 +6,7 @@
WindowStartupLocation="CenterOwner"
AllowsTransparency="True"
Background="Transparent"
ResizeMode="CanResizeWithGrip" Closing="Window_Closing" Closed="Window_Closed">
ResizeMode="CanResizeWithGrip">
<Grid>
<GroupBox x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown" MouseDoubleClick="RootGroupBox_OnMouseDoubleClick">

View File

@@ -8,7 +8,7 @@ namespace BeWo.View
/// <summary>
/// Interaktionslogik für BeWoWindow.xaml
/// </summary>
public partial class BeWoWindow : System.Windows.Window
public partial class BeWoWindow : Window
{
private object _GroupBoxContent;
public object GroupBoxContent
@@ -91,15 +91,5 @@ namespace BeWo.View
WindowState = WindowState.Maximized;
}
}
public void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
}
public void Window_Closed(object sender, EventArgs e)
{
}
}
}

View File

@@ -1,72 +0,0 @@
using BeWo.View.Controls;
using BeWo.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
namespace BeWo.View
{
public static class BeWoWindowBuilder
{
public static BeWoWindow GetTextViewer(string title, string text, bool fixed_size = false, double height = 600, double width = 400)
{
if (fixed_size)
return GetTextViewer(title, text, height, height, height, width, width, width);
var min_height = Math.Min(height, 300);
var max_height = Math.Max(height, 1000);
var min_width = Math.Min(width, 200);
var max_width = Math.Max(width, 1900);
return GetTextViewer(title, text, min_height, height, max_height, min_width, width, max_width);
}
public static BeWoWindow GetTextViewer(string title, string text, double min_height, double height, double max_height, double min_width, double width, double max_width)
{
var control = new TextViewer();
control.Text = text;
var beWoWindow = GetGenericBeWoWindow(title, min_height, height, max_height, min_width, width, max_width);
beWoWindow.GroupBoxContent = control;
return beWoWindow;
}
public static BeWoWindow GetGkvAbrechnungDetailWindow(GkvAbrechnungVM vM, double height = 600, double width = 1200)
{
var detail = new GkvAbrechnungDetailControl(vM);
var beWoWindow = GetGenericBeWoWindow("Gkv Abrechnung Details", 100, height, 1000, 100, width, 1600);
beWoWindow.GroupBoxContent = detail;
return beWoWindow;
}
public static void ShowErrorMessageBox(string text)
{
MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
private static BeWoWindow GetGenericBeWoWindow(string title, double min_height, double height, double max_height, double min_width, double width, double max_width)
{
var beWoWindow = new BeWoWindow();
beWoWindow.Height = height;
beWoWindow.MinHeight = min_height;
beWoWindow.MaxHeight = max_height;
beWoWindow.Width = width;
beWoWindow.MinWidth = min_width;
beWoWindow.MaxHeight = max_width;
beWoWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
beWoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
beWoWindow.rootGroupBox.Header = title;
return beWoWindow;
}
}
}

View File

@@ -91,7 +91,6 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
@@ -103,17 +102,13 @@
Grid.Column="0" Margin="3 2"
VerticalAlignment="Center"
Click="Bd_OnClick" />
<Image Grid.Column="1" Source="..\..\Ressources\Icons\ziel.png" Stretch="Uniform" Margin="3,1,1,1" Width="16" Height="16" Visibility="{Binding Path=IsZiel, Converter={StaticResource BoolVisibilityConverter}}"/>
<Image Grid.Column="1" Source="..\..\Ressources\Icons\massnahme.png" Stretch="Uniform" Margin="3,1,1,1" Width="16" Height="16" Visibility="{Binding Path=IsMassnahme, Converter={StaticResource BoolVisibilityConverter}}"/>
<Image Grid.Column="1" Source="..\..\Ressources\Icons\iziel.png" Stretch="Uniform" Margin="3,1,1,1" Width="16" Height="16" Visibility="{Binding Path=IsIndZiel, Converter={StaticResource BoolVisibilityConverter}}"/>
<Image Grid.Column="1" Source="..\..\Ressources\Icons\imassnahme.png" Stretch="Uniform" Margin="3,1,1,1" Width="16" Height="16" Visibility="{Binding Path=IsIndMassnahme, Converter={StaticResource BoolVisibilityConverter}}"/>
<TextBlock x:Name="BdText" Tag="{Binding}"
Grid.Column="2" Margin="3 2"
<TextBlock x:Name="BdText" Tag="{Binding}"
Grid.Column="1" Margin="3 2"
Text="{Binding Path=DetailDescription}"
VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="Black"
MouseDown="BdText_OnMouseDown" TextAlignment="Left" ToolTip="{Binding Path=GoalEntryDC.Notice}" />
<TextBlock x:Name="RatingText" Tag="{Binding}"
Grid.Column="2" Grid.Row="1" Margin="3 2"
Grid.Column="1" Grid.Row="1" Margin="3 2"
Text="{Binding Path=RatingName}"
VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="MediumBlue"
MouseDown="BdText_OnMouseDown" TextAlignment="Left" Visibility="{Binding Path=HasRating, Converter={StaticResource BoolVisibilityConverter}}" />

View File

@@ -3,7 +3,7 @@
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:dx="clr-namespace:DevExpress.Xpf.Core;assembly=DevExpress.Xpf.Core.v23.2"
xmlns:dx="clr-namespace:DevExpress.Xpf.Core;assembly=DevExpress.Xpf.Core.v23.1"
xmlns:shared="clr-namespace:BeWo.Core"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">

View File

@@ -0,0 +1,90 @@
<UserControl x:Class="BeWo.View.Controls.ComboBoxTreeViewControlV2"
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:dx="clr-namespace:DevExpress.Xpf.Core;assembly=DevExpress.Xpf.Core.v17.1"
xmlns:shared="clr-namespace:BeWo.Core"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<StackPanel x:Name="ComboBox_TreeView_Imitation" Orientation="Horizontal" Margin="3,0,3,3"
Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">
<TextBox x:Name="Imitationheader" Width="182" HorizontalAlignment="Left"
Cursor="Arrow" VerticalContentAlignment="Center" Height="23" IsReadOnly="True"
Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}" />
<Button Content="6" Click="OpenPopUpBtnClick" FontFamily="Webdings" FontSize="8" Height="19" Name="OpenPopUpBtn" Width="17" Margin="-22,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</StackPanel>
<Popup Grid.Row="1" x:Name="TreeViewPopup" AllowsTransparency="True"
IsOpen="False" StaysOpen="False"
Closed="PopUpClosedEvent" PopupAnimation="Slide">
<Border BorderBrush="Black" BorderThickness="2" Background="#788991">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label x:Name="SearchFieldLabel" Grid.Column="0" Content="Suche" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Left" />
<TextBox x:Name="cbtv_search" Grid.Column="1" Margin="3" Height="23" Template="{StaticResource SearchTextBoxTemplate}" HorizontalAlignment="Stretch" />
</Grid>
<TreeView x:Name="Tree1" Margin="0" Grid.Row="1"
ItemTemplate="{DynamicResource servicecat_treeitemtemplate}"
ItemContainerStyle="{DynamicResource servicecat_treeitemstyle}"
BorderThickness="0" Background="White"
Loaded="Tree1_OnLoaded"
dx:ThemeManager.ThemeName="None">
<TreeView.ItemsSource>
<MultiBinding Converter="{StaticResource FilterDCConverter}">
<MultiBinding.Bindings>
<Binding Path="TreeViewSourceList" />
<Binding ElementName="cbtv_search" Path="Text" />
</MultiBinding.Bindings>
</MultiBinding>
</TreeView.ItemsSource>
<TreeView.Resources>
<Style x:Key="servicecat_treeitemstyle" TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded, Mode=TwoWay}" />
</Style>
<HierarchicalDataTemplate x:Key="servicecat_treeitemtemplate" DataType="{x:Type shared:ServiceCategoryTreeItem}" ItemsSource="{Binding Path=Children}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<CheckBox Tag="{Binding}"
Click="Bd_OnClick"
IsChecked="{Binding Path=IsChecked}"
Margin="3 2"
VerticalAlignment="Center" />
<TextBlock Tag="{Binding}"
MouseDown="BdText_OnMouseDown"
Grid.Column="1" Margin="3 2"
Text="{Binding Path=Name}"
VerticalAlignment="Center" />
</Grid>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<CheckBox x:Name="DeSelectAllCheckBox" Click="DeSelectAllOnClick" Content="Alle Leistungskategorien" Margin="3" VerticalAlignment="Center" />
<Button Grid.Column="1" x:Name="ApplyBtn" Margin="3" Height="23"
Content="Übernehmen" Click="ApplyBtnClose" HorizontalAlignment="Right" />
</Grid>
</Grid>
</Border>
</Popup>
</Grid>
</UserControl>

View File

@@ -84,7 +84,7 @@ namespace BeWo.View.Controls
c.Foreground = Brushes.Red;
c.Text = "ÜS";
c.ToolTip = (dc == null) ? string.Format("Überstunden:\t{0:0.00}\nAuszahlung:\t{1}\nBemerkung:\t{2}",
info.OverTime.Betrag, info.OverTime.Auszahlungsart?.Name, info.OverTime.Notice) : null;
info.OverTime.Betrag, info.OverTime.Auszahlungsart.Name, info.OverTime.Notice) : null;
if (info.DayOfWeek == DayOfWeek.Saturday || info.DayOfWeek == DayOfWeek.Sunday)
c.Background = new SolidColorBrush(ColorExtensions.FromHexString("EFEFEF"));

View File

@@ -1,11 +1,14 @@
using BeWo.View.Detail.Report;
using BS.Shared.DataContracts;
using BS.SharedLauncher.Translation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using BS.Shared.Translation;
namespace BeWo.View.Controls
{

View File

@@ -30,34 +30,32 @@ namespace BeWo.View.Controls
cb.DisplayTextConverter = (IValueConverter)Application.Current.FindResource("enumToDescriptionConverter");
}
protected override Style GetItemContainerStyle(LookUpEditBase control)
protected override Style GetItemContainerStyle(LookUpEditBase cb)
{
throw new NotImplementedException();
}
// DevExpressUpdate42
return null;
//protected override Style GetItemContainerStyle(LookUpEditBase cb)
//{
// if (HasFlagsAttribute())
// return (Style)cb.FindResource(new EditorListBoxThemeKeyExtension { ResourceKey = EditorListBoxThemeKeys.CheckBoxItemStyle, ThemeName = ThemeHelper.GetEditorThemeName(cb) });
// return (Style)cb.FindResource(new EditorListBoxThemeKeyExtension { ResourceKey = EditorListBoxThemeKeys.DefaultItemStyle, ThemeName = ThemeHelper.GetEditorThemeName(cb) });
//}
//if (hasflagsattribute())
// return (style)cb.findresource(new editorlistboxthemekeyextension { resourcekey = editorlistboxthemekeys.checkboxitemstyle, themename = themehelper.geteditorthemename(cb) });
//return (style)cb.findresource(new editorlistboxthemekeyextension { resourcekey = editorlistboxthemekeys.defaultitemstyle, themename = themehelper.geteditorthemename(cb) });
}
//protected override SelectionMode SelectionMode
//{
// get
// {
// return HasFlagsAttribute() ? SelectionMode.Multiple : SelectionMode.Single;
// }
//}
//protected override bool CloseOnMouseUp
//{
// get { return !HasFlagsAttribute(); }
//}
//protected override SelectionMode SelectionMode
//{
// get
// {
// return HasFlagsAttribute() ? SelectionMode.Multiple : SelectionMode.Single;
// }
//}
protected override bool ShowCustomItem(LookUpEditBase editor)
//protected override bool CloseOnMouseUp
//{
// get { return !HasFlagsAttribute(); }
//}
protected override bool ShowCustomItem(LookUpEditBase editor)
{
return HasFlagsAttribute();
}

View File

@@ -1,159 +0,0 @@
<UserControl x:Class="BeWo.View.Controls.GkvAbrechnungDetailControl"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
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:local="clr-namespace:BeWo.View.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TabControl Background="#eeeeee" BorderThickness="0">
<TabItem Header="Allgemein">
<Grid Background="#eeeeee" Margin="0" HorizontalAlignment="Stretch" MaxWidth="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Margin="3" Content="Gkv Oid:"/>
<TextBox Grid.Row="0" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding GkvAbrechnungOid}"/>
<Label Grid.Row="1" Grid.Column="0" Margin="3" Content="IK Leistungserbringer:"/>
<TextBox Grid.Row="1" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding IKLeistungserbringer}"/>
<Label Grid.Row="2" Grid.Column="0" Margin="3" Content="IK Krankenkasse:"/>
<TextBox Grid.Row="2" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding IKVersichertenKarte}"/>
<Label Grid.Row="3" Grid.Column="0" Margin="3" Content="IK Kostenträger:"/>
<TextBox Grid.Row="3" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding IKKostenträger}"/>
<Label Grid.Row="4" Grid.Column="0" Margin="3" Content="IK Datenannahmestelle:"/>
<TextBox Grid.Row="4" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding IKDatenannahmestelle}"/>
<Label Grid.Row="5" Grid.Column="0" Margin="3" Content="Abrechnungsbeginn:"/>
<TextBox Grid.Row="5" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding AbrechnungsZeitraumStart}"/>
<Label Grid.Row="6" Grid.Column="0" Margin="3" Content="Abrechnungsende:"/>
<TextBox Grid.Row="6" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding AbrechnungsZeitraumEnde}"/>
<Label Grid.Row="7" Grid.Column="0" Margin="3" Content="Transfername:"/>
<TextBox Grid.Row="7" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding Transfername}"/>
<Label Grid.Row="8" Grid.Column="0" Margin="3" Content="Datenaustauschreferenz:"/>
<TextBox Grid.Row="8" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding Datenaustauschreferenz}"/>
<Label Grid.Row="9" Grid.Column="0" Margin="3" Content="Erstellt am:"/>
<TextBox Grid.Row="9" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding ErstelltAm}"/>
<Label Grid.Row="10" Grid.Column="0" Margin="3" Content="Dateigröße:"/>
<TextBox Grid.Row="10" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding DateigrößeDisplayname}"/>
<Label Grid.Row="14" Grid.Column="0" Margin="3" Content="Betrag:"/>
<TextBox Grid.Row="14" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding Betrag, StringFormat={}{0:0.00 €}}"/>
<Label Grid.Row="15" Grid.Column="0" Margin="3" Content="Bezahlt:"/>
<CheckBox Grid.Row="15" Grid.Column="2" Margin="3" HorizontalAlignment="Left" x:Name="Checkbox_Bezahlt" IsChecked="{Binding Bezahlt}"/>
<!--<TextBox Grid.Row="15" Grid.Column="2" Margin="3" IsReadOnly="True" Text="{Binding Bezahlt}"/>-->
<Label Grid.Row="16" Grid.Column="0" Margin="3" Content="Bemerkung:"/>
<TextBox Grid.Row="16" Grid.Column="2" Margin="3" Text="{Binding Notice}" x:Name="Textbox_Notice" />
</Grid>
</TabItem>
<TabItem Header="Protokoll">
<dxg:GridControl Margin="3" x:Name="datagrid_transfer" DataSource="{Binding TransferProtokolle}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Dateiname" Header="Dateiname"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="PruftDatum" Header="Geprüft am">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="g" Mask="c" MaskType="DateTime"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="PruftFehler" Header="Prüffehler"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="VerschlusseltDatum" Header="Verschlüsselt am">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="g" Mask="c" MaskType="DateTime"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="VerschlusseltFehler" Header="Verschlüsselungsfehler"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="UbertragDatum" Header="Übertragen am">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="g" Mask="c" MaskType="DateTime"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="UbertragFehler" Header="Übertragungsfehler"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AbsenderBezeichnung" Header="Absender Bezeichnung"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="EmpfangerBezeichnung" Header="Empfänger Bezeichnung"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Dateityp" Header="Dateityp"></dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" BestFitMode="Smart"
AllowBestFit="True" ShowGroupPanel="False" ScrollingMode="Smart" SnapsToDevicePixels="True"
Margin="3,22,3,3"/>
</dxg:GridControl.View>
</dxg:GridControl>
</TabItem>
<TabItem x:Name="tabitem_rechnungen" Header="Enthaltene Rechnungen">
<dxg:GridControl Margin="3" x:Name="datagrid_invoices" DataSource="{Binding InvoiceBases2}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnChecked" FieldName="IsChecked" Header=" " MinWidth="30"></dxg:GridColumn>
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" FieldName="ReportLink" Header=" ">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<Button Margin="1" ToolTip="Formular anzeigen" x:Name="btn_report" Height="20" Width="20" VerticalAlignment="Center">
<TextBlock Padding="0">
<Hyperlink TextDecorations="None" TargetName="_NewWindow" NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" RequestNavigate="Hyperlink_OnRequestNavigate">
<TextBlock Padding="0" Text="¥" Foreground="#FFFFFF" FontSize="15" FontFamily="Webdings" Height="17" Width="16" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Hyperlink>
</TextBlock>
</Button>
</StackPanel>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TypeString" Header="Art der Rechnung" Width="150" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="CustomerName" Header="{markup:Translate Klient/in}" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AccountingPeriodString" SortFieldName="AccountingPeriodStart" Header="Zeitraum" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceNumber" Header="Nummer" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceDate" Header="Datum" EditSettings="{dxe:DateSettings DisplayFormat=d}" MinWidth="70" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="RecipientString" Header="{markup:Translate EmpfängerSingular}" />
<!--<dxg:GridColumn FieldName="AccountingPeriodString" Header="Abrechnungszeitraum" />-->
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TotalAmount" Header="Betrag" MinWidth="70">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="c" Mask="c" MaskType="Numeric"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Notice" Header="Bemerkung" MinWidth="200" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" x:Name="PaidColumn" FieldName="IsPaid" Header="Bezahlt"></dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" x:Name="gridView" BestFitMode="Smart"
AllowBestFit="True" ShowGroupPanel="False" ScrollingMode="Smart" SnapsToDevicePixels="True"
Loaded="gridView_Loaded"
Margin="3,22,3,3" />
</dxg:GridControl.View>
</dxg:GridControl>
</TabItem>
<TabItem Header="Nutzdatendatei">
<local:TextViewer Text="{Binding Nutzdatendatei, Mode=OneWay}"/>
</TabItem>
<TabItem Header="Auftragsdatei">
<local:TextViewer Text="{Binding Auftragsdatei, Mode=OneWay}"/>
</TabItem>
</TabControl>
</Grid>
</UserControl>

View File

@@ -1,54 +0,0 @@
using BeWo.Core;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using DevExpress.Xpf.Grid;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BeWo.View.Controls
{
/// <summary>
/// Interaktionslogik für GkvAbrechnungDetailControl.xaml
/// </summary>
public partial class GkvAbrechnungDetailControl : UserControl
{
public GkvAbrechnungVM GkvAbrechnungVM { get; set; }
public GkvAbrechnungDetailControl(GkvAbrechnungVM vm)
{
InitializeComponent();
GkvAbrechnungVM = vm;
DataContext = vm;
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
var tableView = sender as TableView;
if (tableView != null)
{
foreach (var item in tableView.VisibleColumns)
{
tableView.BestFitColumn(item);
}
}
}
}
}

View File

@@ -12,7 +12,7 @@ using System.Windows.Controls;
using BeWo.Core.Service;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Data.Helpers;
using DevExpress.Xpf.Editors.Settings;

View File

@@ -1,26 +0,0 @@
<UserControl x:Class="BeWo.View.Controls.TextViewer"
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:local="clr-namespace:BeWo.View.Controls"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Margin="3" Background="#eeeeee">
<TextBox x:Name="txt" IsReadOnly="True" Text="test" Foreground="Black" Background="#f1f1f1" BorderThickness="1">
</TextBox>
</ScrollViewer>
</Grid>
<Button Grid.Row="1" Content="Inhalt in Zwischenablage kopieren" Click="Button_Click" Margin="3"/>
</Grid>
</UserControl>

View File

@@ -1,52 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BeWo.View.Controls
{
/// <summary>
/// Interaktionslogik für TextViewer.xaml
/// </summary>
public partial class TextViewer : UserControl
{
public static readonly DependencyProperty TextViewerTextProperty = DependencyProperty.Register(
"Text",
typeof(string),
typeof(TextViewer),
new UIPropertyMetadata(
(s, e) =>
{
var info = (string)e.NewValue;
var textViewer = (TextViewer)s;
textViewer.txt.Text = info;
}));
public TextViewer()
{
InitializeComponent();
}
public string Text
{
get => (string)GetValue(TextViewerTextProperty);
set => SetValue(TextViewerTextProperty, value);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Clipboard.SetText(Text);
}
}
}

View File

@@ -35,21 +35,13 @@ namespace BeWo.View.Controls
{
CboCatalog.SelectedItem = valueListEntry.CatalogEntry;
}
bool zeigeKatalogAuswahl = massnahmenKatalog != null && (massnahmenKatalog.Count > 0) && valueListEntry.Type == BS.Shared.ValueListEntryType.SupportConceptIndividualGoalType;
bool zeigeKatalogAuswahl = massnahmenKatalog != null && (massnahmenKatalog.Count > 0);
RadioStackPanel.Visibility = zeigeKatalogAuswahl ? Visibility.Visible : Visibility.Collapsed;
if (zeigeKatalogAuswahl)
{
{
RBtnKatalog.IsChecked = true;
RBtnIndMassnahme.IsChecked = false;
if (!valueListEntry.IsNew && valueListEntry.CatalogEntry == null)
{
RBtnKatalog.IsChecked = false;
RBtnIndMassnahme.IsChecked = true;
}
UpdateControls();
}

View File

@@ -5,9 +5,7 @@
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:s="clr-namespace:System;assembly=mscorlib" Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Abwesenheitskategorien" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
@@ -45,8 +43,8 @@
Height="23" Width="50" MinValue="0"
MaxValue="59"
EditValue="{Binding Path=NewVM.Minutes, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<Button Name="button_addReason" Click="button_addReason_Click" Grid.Column="4" Grid.Row="1" Height="25"
Margin="3" IsDefault="True" Grid.ColumnSpan="2" HorizontalAlignment="Right">Hinzufügen</Button>
<Button Name="button_addReason" Click="button_addReason_Click" Grid.Column="2" Grid.Row="1" Height="25"
Margin="3" IsDefault="True" Grid.ColumnSpan="4" HorizontalAlignment="Right">Hinzufügen</Button>
<Label Grid.Column="0" Grid.Row="1">
Farbe im Belegungsplan
</Label>
@@ -64,17 +62,6 @@
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<StackPanel Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2" Orientation="Horizontal">
<Label>Nur auswählbar für</Label>
<ComboBox x:Name="combo_visibilitytype"
Grid.Column="3" Grid.Row="1" VerticalAlignment="Center" Margin="3,1,3,3"
HorizontalAlignment="Stretch"
ItemsSource="{x:Static core:EnumTranslations.AbsenceReasonVisibility2Translations}"
SelectedValue="{Binding NewVM.Sichtbarkeit, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Key"
DisplayMemberPath="Value"
Height="23" Width="200"/>
</StackPanel>
<dxg:GridControl x:Name="datagrid_absencereasons" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2"
Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
@@ -91,7 +78,6 @@
<dxg:GridColumn FieldName="Description" Header="Bezeichnung" Width="180" />
<dxg:GridColumn FieldName="Hours" Header="max. abrechenbare Stunden" Width="180" />
<dxg:GridColumn FieldName="Minutes" Header="Minuten" Width="180" />
<dxg:GridColumn x:Name="column_visibility" FieldName="Sichtbarkeit" Header="Nur auswählbar für" Width="150" />
<dxg:GridColumn x:Name="column_Color" FieldName="Brush" Header="Farbe" Width="70">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>

View File

@@ -10,13 +10,11 @@ using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared.Core;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Grid;
namespace BeWo.View.Detail
{
public partial class AbsenceReasonView
@@ -28,8 +26,6 @@ namespace BeWo.View.Detail
InitializeComponent();
combobox_brush.ItemTemplateSelector = new ComboBoxTemplateSelector(combobox_brush);
ViewModel = pViewModel;
column_visibility.EditSettings = new ComboBoxEditSettings { ItemsSource = EnumTranslations.AbsenceReasonVisibility2Translations, DisplayMember = "Value", ValueMember = "Key" };
}
public override bool IsDirty

View File

@@ -1,94 +0,0 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.DigitalInvoiceOverview"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:r="clr-namespace:BeWo.Security"
VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="Rechnungsübersicht" Style="{DynamicResource ObjectEditGroupBox}">
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<localView:YearMonthFilter Margin="3 0 0 0" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="0" x:Name="yearMonthFilter" FilterSpanChanged="YearMonthFilter_FilterSpanChanged" />
<Button x:Name="button_reload" Grid.Column="1" Content="Aktualisieren" Margin="0,0,0,8" Click="ReloadButton_OnClick" Height="24" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="80" />
<dxg:GridControl Margin="3" Grid.ColumnSpan="2" Grid.Row="1" DataSource="{Binding VMList}" x:Name="datagrid_invoices" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" MinWidth="20" Width="22" FieldName="ReportLink" Header=" ">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<Button Margin="1" ToolTip="Codierung erzeugen" x:Name="btn_report" Height="20" Width="20" VerticalAlignment="Center">
<TextBlock Padding="0">
<Hyperlink TextDecorations="None" TargetName="_NewWindow" NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" RequestNavigate="Hyperlink_OnRequestNavigate">
<TextBlock Padding="0" Text="¥" Foreground="#FFFFFF" FontSize="15" FontFamily="Webdings" Height="17" Width="16" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Hyperlink>
</TextBlock>
</Button>
</StackPanel>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TypeString" Header="Art der Rechnung" Width="150" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="CustomerName" Header="{markup:Translate Klient/in}" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AccountingPeriodString" Header="Zeitraum" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceNumber" Header="Nummer" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceDate" Header="Datum" EditSettings="{dxe:DateSettings DisplayFormat=d}" MinWidth="70" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="RecipientString" Header="{markup:Translate EmpfängerSingular}" />
<!--<dxg:GridColumn FieldName="AccountingPeriodString" Header="Abrechnungszeitraum" />-->
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TotalAmount" Header="Betrag" MinWidth="70">
<!--<dxg:GridColumn.CellStyle>
<Style TargetType="dxg:LightweightCellEditor">
<Setter Property="TextBlock.FontWeight" Value="Bold"/>
</Style>
</dxg:GridColumn.CellStyle>-->
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Notice" Header="Bemerkung" MinWidth="200" >
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" Loaded="gridView_Loaded" x:Name="gridView" BestFitMode="Smart" AllowBestFit="True" ShowGroupPanel="False" ScrollingMode="Smart" SnapsToDevicePixels="True" Margin="3,22,3,3" />
</dxg:GridControl.View>
</dxg:GridControl>
<Grid Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5,2,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<WrapPanel>
<Label FontSize="14" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0" Content="{Binding FilterResultAmountSum, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}Summe aller Rechnungen: {0:c}'}" />
<Label FontSize="14" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 0 0" Content=" | " />
<Label FontSize="14" x:Name="lblAmoutNotPaid" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 0 0" Content="{Binding FilterResultAmountNotPaidSum, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}Summe der noch offenen Rechnungen: {0:c}'}" />
</WrapPanel>
</Grid>
<TextBox x:Name="Output" Grid.Row="1" Grid.Column="2" Text="Test123\nn" IsReadOnly="True" AcceptsReturn="True" />
</Grid>
</GroupBox>
</Grid>
</localView:BeWoView>

View File

@@ -1,144 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
namespace BeWo.View.Detail.Accounting
{
public partial class DigitalInvoiceOverview : BeWoView
{
private readonly EquityInvoiceItemEditView _EquityInvoiceItemEditView;
private readonly GeneralInvoiceItemEditView _GeneralInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView _SettlementInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView2 _SettlementInvoiceItemEditView2;
private readonly ServiceInvoiceItemEditView _ServiceInvoiceItemEditView;
private InvoiceBaseListVM _Viewmodel;
public DigitalInvoiceOverview()
{
this.InitializeComponent();
this.ViewModel = new InvoiceBaseListVM(null);
RefreshInvoiceList();
}
private void RefreshInvoiceList()
{
DateTime? start = null;
DateTime? end = null;
if (ViewModel.DateTimeSpanFilter != null)
{
start = ViewModel.DateTimeSpanFilter.StartDate;
end = ViewModel.DateTimeSpanFilter.EndDate;
}
else
{
start = new DateTime(2023, 1, 1);
end = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
}
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases(start, end), UpdateInvoiceList);
}
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
ViewModel.UpdateList(dcList.Where(x => true).ToList());
this.gridView.BestFitColumns();
});
}
private InvoiceBaseListVM ViewModel
{
get
{
return this._Viewmodel;
}
set
{
this.DataContext = value;
this._Viewmodel = value;
}
}
private void RefreshItemInList(InvoiceBaseDC cb)
{
this.Dispatch(
delegate
{
var old = this.ViewModel.VMList.Single(i => i.DataContract.InvoiceBaseOid.Equals(cb.InvoiceBaseOid));
var lNew = new InvoiceBaseVM(cb);
this.ViewModel.VMList.Remove(old);
this.ViewModel.VMList.Add(lNew);
this.datagrid_invoices.RefreshData();
this.gridView.FocusedRow = lNew;
});
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
{
var ed = (CheckEdit)e.Editor;
ed.Tag = e.Row;
}
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var uri = ((Hyperlink)sender).NavigateUri;
string dcid = HttpUtility.ParseQueryString(uri.Query).Get("ibid");
var schaarf = ServiceFacade.DoOperationsServiceSync(x => x.GetDakotaFileFormat(dcid));
Output.Text = schaarf;
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshInvoiceList();
}
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
{
this.ViewModel.DateTimeSpanFilter = e.Data;
RefreshInvoiceList();
}
}
}

View File

@@ -1,113 +0,0 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.GkvAbrechnungOverview"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="GKV-Abrechnungen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid Grid.IsSharedSizeScope="True" Margin="0,3,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<localView:YearMonthFilter Margin="3 0 0 3" VerticalAlignment="Bottom" HorizontalAlignment="Left" Grid.Column="0" x:Name="yearMonthFilter" FilterSpanChanged="YearMonthFilter_FilterSpanChanged" />
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="12,5,0,0" VerticalAlignment="Center" HorizontalAlignment="Left">
<RadioButton x:Name="radioFilterByInvoiceDate" Content="Nach Erstelldatum filtern" IsChecked="True" Click="radioFilterByInvoiceDate_Click"/>
<RadioButton x:Name="radioFilterByAccountingDate" Content="Nach Abrechnungszeitraum filtern" Click="radioFilterByInvoiceDate_Click"/>
</StackPanel>
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Button x:Name="button_new" Grid.Column="2" Content="Neue Abrechnung" Margin="3" Click="NewButton_OnClick" Height="24" VerticalAlignment="Bottom" />
<Button x:Name="button_reload" Grid.Column="1" Content="Aktualisieren" Margin="3" Click="ReloadButton_OnClick" Height="24" VerticalAlignment="Bottom" Width="80" />
</Grid>
<dxg:GridControl Margin="3" Grid.ColumnSpan="3" Grid.Row="1" DataSource="{Binding VMList}" x:Name="datagrid_gkvAbrechnungen" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnChecked" FieldName="IsChecked" Header=" " MinWidth="30" Width="120" Visible="False"></dxg:GridColumn>
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" Width="70" FieldName="ReportLink" Header=" ">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<StackPanel Orientation="Horizontal" Margin="1">
<Button Click="btn_details_Click" Content="¥" Padding="0" Margin="1" ToolTip="Details anzeigen" Foreground="#FFFFFF" FontSize="11" FontFamily="Webdings" x:Name="btn_details" Height="18" Width="20" VerticalAlignment="Center" />
<!--<Button Click="btn_nutz_Click" Content="¥" Padding="0" Margin="1" ToolTip="Nutzdatendatei" Foreground="#BBBBBB" FontSize="10" FontFamily="Webdings" x:Name="btn_nutz" Height="17" Width="20" VerticalAlignment="Center" />
<Button Click="btn_auf_Click" Content="¥" Padding="0" Margin="1" ToolTip="Auftragsdatei" Foreground="#BBBBBB" FontSize="10" FontFamily="Webdings" x:Name="btn_auf" Height="17" Width="20" VerticalAlignment="Center" />-->
<Button Click="btn_send_Click" Content="*" Padding="0" Margin="1" ToolTip="Senden" Foreground="#FFFF00" FontSize="11" FontFamily="Wingdings" x:Name="btn_send" Height="18" Width="20" VerticalAlignment="Center" />
<Button Click="btn_delete_Click" Content="r" Padding="0" Margin="1" ToolTip="Löschen" Foreground="#FF0000" FontSize="11" FontFamily="Webdings" x:Name="btn_delete" Height="18" Width="20" VerticalAlignment="Center" />
</StackPanel>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="RecipientString" Width="177" Header="{markup:Translate EmpfängerSingular}" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AbrechnungsZeitraumStart" Header="Abrechnungsbeginn" Width="116">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings DisplayFormat="d" HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AbrechnungsZeitraumEnde" Header="Abrechnungsende" Width="107" >
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings DisplayFormat="d" HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Transfername" Header="Transfername" Width="84" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Datenaustauschreferenz" Header="Referenz" Width="58" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="DateigrößeDisplayname" Header="Dateigröße" Width="100" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="ErstelltAm" Header="Erstelldatum" Width="120">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Betrag" Header="Betrag" MinWidth="74">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="c" Mask="c" MaskType="Numeric" HorizontalContentAlignment="Right"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Notice" Header="Bemerkung" MinWidth="200" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings TextWrapping="Wrap" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="PaidColumn" FieldName="Bezahlt" Header="Bezahlt" Width="50"></dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" Loaded="gridView_Loaded" x:Name="gridView" BestFitMode="Smart"
AllowBestFit="True" ShowGroupPanel="False" ScrollingMode="Smart" SnapsToDevicePixels="True" ShownEditor="gridView_ShownEditor"
CellValueChanging="gridView_CellValueChanged"
CustomRowAppearance="TableView_OnCustomRowAppearance"
Margin="3,22,3,3" CellValueChanged="gridView_CellValueChanged_1" RowMinHeight="24"/>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</GroupBox>
</Grid>
</localView:BeWoView>

View File

@@ -1,350 +0,0 @@
using System;
using System.Activities.Statements;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.View.Controls;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.GkvAbrechnung;
using BS.Shared.Extensions;
using DevExpress.Data.Filtering;
using DevExpress.Mvvm;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
namespace BeWo.View.Detail.Accounting
{
public partial class GkvAbrechnungOverview : BeWoView
{
private readonly NewGkvAbrechnungPopUpView _NewGkvAbrechnungPopUpView;
private readonly GkvAbrechnungListVM _Viewmodel;
public GkvAbrechnungOverview(GkvAbrechnungListVM vm)
{
UpdateDataGridFilterCommand = new DelegateCommand(UpdateDataGridFilter);
InitializeComponent();
DownloadLinkEngine = new DownloadLinkEngine();
_Viewmodel = vm;
DataContext = vm;
//datagrid_gkvAbrechnungen.FixedFilter = new BinaryOperator("Datenaustauschreferenz", 1);
_NewGkvAbrechnungPopUpView = new NewGkvAbrechnungPopUpView();
_NewGkvAbrechnungPopUpView.CancelButtonClicked += NewGkvAbrechnungPopUpViewCancelButtonClicked;
_NewGkvAbrechnungPopUpView.CreateButtonClicked += NewGkvAbrechnungPopUpViewCreateButtonClicked;
_Viewmodel.DateTimeSpanFilter = yearMonthFilter.FilterSpan;
CheckRights();
RefreshGkvAbrechnungenList();
UpdateDataGridFilter();
}
public DownloadLinkEngine DownloadLinkEngine { get; set; }
public DelegateCommand UpdateDataGridFilterCommand { get; set; }
private bool ShowAllInvoices => _Viewmodel.DateTimeSpanFilter is null;
private void CheckRights()
{
//if (!BeWoApp.AppSettings.AllowStorno)
//{
// ColumnButtons.MinWidth = 67;
//}
}
private void RefreshGkvAbrechnungenList()
{
var test = datagrid_gkvAbrechnungen;
ServiceFacade.DoAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(null), UpdateGkvAbrechnungList);
}
private void UpdateDataGridFilter()
{
datagrid_gkvAbrechnungen.FixedFilter = null;
gridView.BestFitColumns();
if (ShowAllInvoices)
{
datagrid_gkvAbrechnungen.FixedFilter = null;
}
else
{
var filterByInvoiceDate = radioFilterByInvoiceDate.IsChecked.Value;
var filter_start = _Viewmodel.DateTimeSpanFilter.StartDate;
var filter_ende = _Viewmodel.DateTimeSpanFilter.EndDate.AddDays(1).AddMilliseconds(-1);
if (filterByInvoiceDate)
{
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.And(
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm >= filter_start),
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.ErstelltAm <= filter_ende));
}
else
{
datagrid_gkvAbrechnungen.FixedFilter = CriteriaOperator.Or(
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumStart && gkv.AbrechnungsZeitraumStart <= filter_ende),
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => filter_start <= gkv.AbrechnungsZeitraumEnde && gkv.AbrechnungsZeitraumEnde <= filter_ende),
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.AbrechnungsZeitraumStart <= filter_start && filter_ende <= gkv.AbrechnungsZeitraumEnde));
}
}
}
private void UpdateGkvAbrechnungList(IList<GkvAbrechnungDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
_Viewmodel.UpdateList(dcList);
UpdateDataGridFilter();
});
}
private void NewGkvAbrechnungPopUpViewCancelButtonClicked(object sender, EventArgs e)
{
MainControl.CloseCurrentPopUp();
}
private void NewGkvAbrechnungPopUpViewCreateButtonClicked(object sender, EventArgs<GkvAbrechnungDC> e)
{
var checked_invoice_bases = _NewGkvAbrechnungPopUpView.ViewModel.InvoiceBases.Where(x => x.IsChecked).Select(x => x.DataContract.InvoiceBaseOid.Value).ToList();
if (checked_invoice_bases.Count == 0)
{
if (MessageBox.Show("Sie haben keine Rechnung hinzugefügt. Wollen Sie fortfahren?", "GKV-Abrechnung erstellen", MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes)
{
return;
}
}
MainControl.CloseCurrentPopUp();
var gkv_abrechnung = e.Data;
var gkv_filter = new GkvAbrechnungRequestDC(gkv_abrechnung);
gkv_filter.SelectedInvoiceBases = checked_invoice_bases;
ServiceFacade.DoAccountingServiceAsync(x => x.CreateNewGkvAbrechnung(gkv_filter),
cb => Dispatcher.BeginInvoke(DispatcherPriority.Normal,
(Action)delegate
{
if (cb.Success)
{
RefreshGkvAbrechnungenList();
}
else
{
BeWoWindowBuilder.ShowErrorMessageBox(cb.Error);
}
}));
}
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
{
_Viewmodel.DateTimeSpanFilter = e.Data;
UpdateDataGridFilter();
}
private void btn_details_Click(object sender, RoutedEventArgs e)
{
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
var window = BeWoWindowBuilder.GetGkvAbrechnungDetailWindow(vm);
window.Closing += Detail_Window_Closing;
window.ShowDialog();
}
private void Detail_Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
var bewo_window = sender as BeWoWindow;
var detail_control = bewo_window.GroupBoxContent as GkvAbrechnungDetailControl;
var vm = detail_control.DataContext as GkvAbrechnungVM;
var checkbox_checked = detail_control.Checkbox_Bezahlt.IsChecked;
var textbox_text = detail_control.Textbox_Notice.Text;
vm.Notice = textbox_text;
if (vm.IsDirty)
{
var dc = ServiceFacade.DoAccountingServiceSync(x => x.UpdateGkvAbrechnung(vm.CommitToDataContract()));
vm.GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
}
}
private void btn_send_Click(object sender, RoutedEventArgs e)
{
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
string text = "Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung senden möchten?";
if (vm.TransferProtokolle != null && vm.TransferProtokolle.Any())
{
var last = vm.TransferProtokolle.Last();
var state = last.GetState();
if(state == 6)
{
text = "Die gewählte GKV-Abrechnung wurde bereits erfolgreich gesendet. Möchten Sie sie erneut senden?";
}
else
{
text = "Die gewählte GKV-Abrechnung wurde nicht erfolgreich gesendet. Möchten Sie sie erneut senden?";
}
}
if (MessageBox.Show(text, "GKV-Abrechnung senden", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var req = new GkvAbrechnungSendRequestDC();
req.GkvAbrechnungDC = vm.CommitToDataContract();
ServiceFacade.DoAccountingServiceAsync(s => s.SendNewGkvAbrechnung(req),
cb =>
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
{
if (cb.Successful)
{
var dc = cb.GkvAbrechnungDC;
vm.GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
vm.UpdateGkvTransferProtokoll(dc.TransferProtokolle.ToList());
}
else
{
MessageBox.Show(cb.Message);
}
}));
}, false);
}
}
private void btn_delete_Click(object sender, RoutedEventArgs e)
{
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
if (MessageBox.Show("Sind Sie sicher, dass Sie die gewählte GKV-Abrechnung löschen möchten?", "GKV-Abrechnung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
_Viewmodel.VMList.Remove(vm);
ServiceFacade.DoAccountingServiceAsync(s => s.DeleteGkvAbrechnung(vm.CommitToDataContract()));
}
}
private void NewButton_OnClick(object sender, RoutedEventArgs e)
{
GkvAbrechnungDC gkvAbrechnungDC = new GkvAbrechnungDC();
int year = DateTime.Now.Year;
int month = DateTime.Now.Month - 1;
gkvAbrechnungDC.AbrechnungsZeitraumStart = new DateTime(year, month, 1);
gkvAbrechnungDC.AbrechnungsZeitraumEnde = new DateTime(year, month, DateTime.DaysInMonth(year, month));
GkvAbrechnungVM gkvAbrechnungVM = new GkvAbrechnungVM(gkvAbrechnungDC);
_NewGkvAbrechnungPopUpView.Clear();
_NewGkvAbrechnungPopUpView.ViewModel = gkvAbrechnungVM;
this.MainControl.ShowControlAsModalPopup(this._NewGkvAbrechnungPopUpView);
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshGkvAbrechnungenList();
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
//this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
{
var ed = (CheckEdit)e.Editor;
ed.Tag = e.Row;
}
}
private void gridView_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
if (e.Column != null && e.Column.FieldName == "Bezahlt")
{
if (e.Value is bool b && e.Row is GkvAbrechnungVM vm)
{
SaveBezahltChange(vm, b);
}
}
}
private void TableView_OnCustomRowAppearance(object sender, CustomRowAppearanceEventArgs e)
{
if (e.Property != null && e.Property.Name == "Background")
{
var gkvAbrechnungVM = datagrid_gkvAbrechnungen.GetRow(e.RowHandle) as GkvAbrechnungVM;
/*
if (gkvAbrechnungVM != null && !String.IsNullOrEmpty(gkvAbrechnungVM.BackgroundColor))
{
e.Result = new SolidColorBrush((Color)ColorConverter.ConvertFromString(gkvAbrechnungVM.BackgroundColor));
e.Handled = true;
}
*/
}
}
private void radioFilterByInvoiceDate_Click(object sender, RoutedEventArgs e)
{
UpdateDataGridFilter();
}
private void SaveBezahltChange(GkvAbrechnungVM vm, bool b)
{
var dc_in = vm.CommitToDataContract();
dc_in.Bezahlt = b;
var dc = ServiceFacade.DoAccountingServiceSync(x => x.UpdateGkvAbrechnung(dc_in));
vm.GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
vm.Bezahlt = dc.Bezahlt;
}
private void SaveNoticeChange(GkvAbrechnungVM vm, string notice)
{
var dc = ServiceFacade.DoAccountingServiceSync(x => x.UpdateGkvAbrechnung(vm.CommitToDataContract()));
vm.GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
vm.Notice = dc.Notice;
}
private void gridView_CellValueChanged_1(object sender, CellValueChangedEventArgs e)
{
if (e.Column != null && e.Column.FieldName == "Notice")
{
if (e.Value is string s && e.Row is GkvAbrechnungVM vm)
{
SaveNoticeChange(vm, s);
}
}
}
}
}

View File

@@ -1,19 +1,4 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.InvoiceOverview"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.InvoiceOverview" xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting" xmlns:val="clr-namespace:BeWo.Validation" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="Rechnungsübersicht" Style="{DynamicResource ObjectEditGroupBox}">
@@ -121,7 +106,7 @@
HorizontalAlignment="Left">Alle abwählen</Button>
<Button Margin="10 3 0 0"
Name="button_aufklappenAllLeistungen" Click="button_printInvoices_Click"
HorizontalAlignment="Left">Ausgewählte Rechnungen drucken</Button>
HorizontalAlignment="Left">Alle ausgewählten Rechnungen drucken</Button>
</StackPanel>
</Grid>

View File

@@ -305,7 +305,7 @@ namespace BeWo.View.Detail.Accounting
lHeaderCaptions.Add("Zeitraum");
lHeaderCaptions.Add("Nummer");
lHeaderCaptions.Add("Datum");
lHeaderCaptions.Add(BS.SharedLauncher.Translation.Translator.Translate("EmpfängerSingular"));
lHeaderCaptions.Add(BS.Shared.Translation.Translator.Translate("EmpfängerSingular"));
lHeaderCaptions.Add("Betrag");
lHeaderCaptions.Add("Bemerkung");
lHeaderCaptions.Add("Bezahlt");
@@ -327,7 +327,7 @@ namespace BeWo.View.Detail.Accounting
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
@@ -365,6 +365,8 @@ namespace BeWo.View.Detail.Accounting
e.Result = new SolidColorBrush((Color)ColorConverter.ConvertFromString(ib.BackgroundColor));
e.Handled = true;
}
}
//var data = srGridControl.rowhan

View File

@@ -1,120 +0,0 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.NewGkvAbrechnungPopUpView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto"
HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security"
VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic" xmlns:localSearchView="clr-namespace:BeWo.View.Search">
<GroupBox Width="1100" Style="{StaticResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
<Image Source="..\..\..\Ressources\Icons\CoinsDisabled.png" Height="28" />
<TextBox Margin="10,4,0,0" Background="{x:Null}" Foreground="{DynamicResource MainGroupBoxForegroundBrush}"
FontSize="20" BorderBrush="{x:Null}" VerticalAlignment="Stretch" BorderThickness="0,0,0,0"
Padding="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<GroupBox Margin="10" Header="GKV-Abrechnung erstellen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label>
<StackPanel Orientation="Vertical">
<AccessText Margin="2">Es wird eine GKV-Abrechnung für die in der Tabelle selektierten Rechnungen erstellt.</AccessText>
<AccessText Margin="2">Rechnungen, die nicht enthalten sein sollen bitte ggf. deselektieren.</AccessText>
<AccessText Margin="2">Anschließend bitte auf "Erstellen" klicken.</AccessText>
</StackPanel>
</Label>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="90" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="120" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Rechnungszeitraum von" Grid.Row="0" Grid.Column="0" />
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" BorderThickness="1" Height="23" Margin="3" Grid.Row="0" Grid.Column="1" EditValue="{val:ValidationBinding Path=AbrechnungsZeitraumStart}" EditValueChanged="DateEdit_EditValueChanged"/>
<Label Content="Rechnungszeitraum bis" Grid.Row="1" Grid.Column="0" />
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" BorderThickness="1" Height="23" Margin="3" Grid.Row="1" Grid.Column="1" EditValue="{val:ValidationBinding Path=AbrechnungsZeitraumEnde}" EditValueChanged="DateEdit2_EditValueChanged"/>
<!--<Label Content="Annahmestelle" Grid.Row="0" Grid.Column="2" />
<uc:PopUpEdit IsReadOnly="True"
x:Name="popupedit_DatenannahmestelleSearch"
Grid.Column="3" Margin="3" Height="23" Grid.Row="0"
DeleteButtonVisibility="Collapsed"
PopUpClick="popupedit_DatenannahmestelleSearch_PopUpClick" />-->
<Label Content="Organisation" Grid.Row="0" Grid.Column="2" />
<uc:PopUpEdit IsReadOnly="True"
x:Name="popupedit_GkvSearch"
Grid.Column="3" Margin="3" Height="23" Grid.Row="0"
DeleteButtonVisibility="Collapsed"
PopUpClick="popupedit_GkvSearch_PopUpClick" />
<Label Content="Bemerkung" Grid.Row="0" Grid.Column="4" />
<TextBox Grid.Row="0" Grid.Column="5" Grid.RowSpan="2" Margin="3" AcceptsReturn="True" TextWrapping="Wrap" Height="50" Text="{Binding Notice}" />
</Grid>
<dxg:GridControl x:Name="grid_newInvoices" DataSource="{Binding InvoiceBases}" Margin="3" Grid.Row="1" Grid.ColumnSpan="2" MinHeight="200">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnChecked" FieldName="IsChecked" Header=" " MinWidth="30"></dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TypeString" Header="Art der Rechnung" Width="150" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceNumber" Header="Nummer" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceDate" Header="Datum" EditSettings="{dxe:DateSettings DisplayFormat=d}" MinWidth="70" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="CustomerName" Header="{markup:Translate Klient/in}" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AccountingPeriodString" SortFieldName="AccountingPeriodStart" Header="Zeitraum" Width="100" />
<!--<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="RecipientString" Header="{markup:Translate EmpfängerSingular}" />-->
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TotalAmount" Header="Betrag" MinWidth="70">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="c" Mask="c" MaskType="Numeric"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Notice" Header="Bemerkung" MinWidth="200" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings TextWrapping="Wrap" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="PaidColumn" FieldName="IsPaid" Header="Bezahlt" ReadOnly="True"></dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View >
<dxg:TableView x:Name="gridView" ShowGroupPanel="False" CellValueChanging="TableView_CellValueChanging"/>
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2">
<Button Margin="10 3 0 0"
Name="button_checkAllLeistungen" Click="button_checkAll_Click"
HorizontalAlignment="Left">Alle auswählen</Button>
<Button Margin="10 3 0 0"
Name="button_uncheckAllLeistungen" Click="button_uncheckAll_Click"
HorizontalAlignment="Left">Alle abwählen</Button>
</StackPanel>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2">
<Button Content="Erstellen" x:Name="btn_create" Click="btn_create_Click" Padding="5 0" Margin="3" />
<Button Content="Abbrechen" x:Name="btn_cancel" Click="btn_cancel_Click" Margin="3" Padding="5 0" />
</StackPanel>
</Grid>
</GroupBox>
<Popup Margin="10" x:Name="popup_organisation" StaysOpen="False" Placement="MousePoint" Width="370" Height="250" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:OrganisationSearchView SearchMode="All" x:Name="gkvsearchview" />
</Popup>
</Grid>
</GroupBox>
</localView:BeWoView>

View File

@@ -1,238 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using System.Windows.Threading;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.DataContracts.GkvAbrechnung;
using BS.Shared.Extensions;
using DevExpress.Xpf.Grid;
namespace BeWo.View.Detail.Accounting
{
public partial class NewGkvAbrechnungPopUpView : BeWoView
{
private long? _LoadedInvoiceBaseOid;
private List<InvoiceBaseDC> _InvoiceBaseDCs;
private List<string> _InvoiceNumbers;
private GkvAbrechnungVM _Viewmodel;
public event EventHandler<EventArgs<GkvAbrechnungDC>> CreateButtonClicked;
public event EventHandler CancelButtonClicked;
public NewGkvAbrechnungPopUpView()
{
this.InitializeComponent();
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close,
(s, e) =>
{
this._InvoiceBaseDCs?.Clear();
if (CancelButtonClicked != null)
CancelButtonClicked.Invoke(s, e);
}));
this.grid_newInvoices.View.Loaded += (s, e) => ((TableView)this.grid_newInvoices.View).BestFitColumns();
}
public GkvAbrechnungVM ViewModel
{
get
{
return this._Viewmodel;
}
set
{
this.DataContext = value;
this._Viewmodel = value;
}
}
public List<InvoiceBaseDC> InvoiceBaseDcs
{
set
{
this._InvoiceNumbers = value.Select(i => i.InvoiceNumber).ToList();
this._InvoiceBaseDCs = new List<InvoiceBaseDC>(value);
this.grid_newInvoices.ItemsSource = this._InvoiceBaseDCs;
}
}
private void Fire()
{
if (this.CreateButtonClicked != null)
{
if (_InvoiceBaseDCs == null)
_InvoiceBaseDCs = new List<InvoiceBaseDC>();
for (int i = 0; i < _InvoiceBaseDCs.Count; i++)
{
_InvoiceBaseDCs[i].InvoiceNumber = this._InvoiceNumbers[i];
}
var gkvAbrechnung = ViewModel.CommitToDataContract();
this.CreateButtonClicked(this, new EventArgs<GkvAbrechnungDC>(gkvAbrechnung));
}
}
public void Clear()
{
_LoadedInvoiceBaseOid = null;
popupedit_GkvSearch.Text = string.Empty;
popupedit_GkvSearch.Focus();
}
private void btn_cancel_Click(object sender, RoutedEventArgs e)
{
if (ViewModel.InvoiceBases != null)
ViewModel.InvoiceBases.Clear();
this.CancelButtonClicked(this, e);
}
private void btn_create_Click(object sender, RoutedEventArgs e)
{
this.Fire();
}
private void TableView_CellValueChanging(object sender, CellValueChangedEventArgs e)
{
var si = e.Row as InvoiceBaseDC;
if (e.Column.FieldName.Contains("NeuErstellen") && ((bool)e.Value))
{
if (si.DiffErstellen)
{
si.DiffErstellen = false;
grid_newInvoices.RefreshData();
}
}
else if (e.Column.FieldName.Contains("DiffErstellen") && ((bool)e.Value))
{
if (si.NeuErstellen)
{
si.NeuErstellen = false;
grid_newInvoices.RefreshData();
}
}
}
private void popupedit_GkvSearch_PopUpClick(object sender, RoutedEventArgs e)
{
gkvsearchview.ItemSelected += gkvsearchview_OrganisationSelected;
popup_organisation.IsOpen = true;
}
private void gkvsearchview_OrganisationSelected(object sender, EventArgs<CompactOrganisationDC> e)
{
popup_organisation.IsOpen = false;
gkvsearchview.ItemSelected -= gkvsearchview_OrganisationSelected;
ViewModel.IKKostenträger = e.Data.IKKostentrager;
ViewModel.IKVersichertenKarte = e.Data.IKKrankenkasse;
ViewModel.IKDatenannahmestelle = e.Data.IKDatenannahmestelle;
popupedit_GkvSearch.Text = e.Data.ToString();
popupedit_GkvSearch.Focus();
RefreshInvoiceBases(e.Data.OrganisationOid);
}
private void RefreshInvoiceBases() => RefreshInvoiceBases(_LoadedInvoiceBaseOid);
private void RefreshInvoiceBases(DateTime? start, DateTime? ende) => RefreshInvoiceBases(_LoadedInvoiceBaseOid, start ?? ViewModel?.AbrechnungsZeitraumStart, ende ?? ViewModel?.AbrechnungsZeitraumEnde);
private void RefreshInvoiceBases(long? costOid) => RefreshInvoiceBases(costOid, ViewModel?.AbrechnungsZeitraumStart, ViewModel?.AbrechnungsZeitraumEnde);
private void RefreshInvoiceBases(long? costOid, DateTime? start, DateTime? ende)
{
if (costOid != null && start != null && ende != null && ende >= start)
{
_LoadedInvoiceBaseOid = costOid;
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBasesForCostBearerAndId(start, ende, (long)costOid, "RechnungSoziotherapie"), UpdateInvoiceList);
}
}
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
BindingList <InvoiceBaseVM> invoiceBaseVMs = new BindingList<InvoiceBaseVM>();
foreach (var invoiceBaseDC in dcList)
{
InvoiceBaseVM invoiceBaseVM = new InvoiceBaseVM(invoiceBaseDC);
invoiceBaseVM.IsChecked = false;
invoiceBaseVMs.Add(invoiceBaseVM);
}
ViewModel.InvoiceBases = invoiceBaseVMs;
grid_newInvoices.ItemsSource = ViewModel.InvoiceBases;
this.gridView.BestFitColumns();
});
}
private void popupedit_DatenannahmestelleSearch_PopUpClick(object sender, RoutedEventArgs e)
{
// tbd
}
private void button_checkAll_Click(object sender, RoutedEventArgs e)
{
var visible = GetVisibleVMs();
foreach (var item in visible)
{
item.IsChecked = true;
}
}
private void button_uncheckAll_Click(object sender, RoutedEventArgs e)
{
var visible = GetVisibleVMs();
foreach (var item in visible)
{
item.IsChecked = false;
}
}
private IList<InvoiceBaseVM> GetVisibleVMs()
{
var list = new List<InvoiceBaseVM>();
var items = grid_newInvoices.ItemsSource as IList<InvoiceBaseVM>;
if (items != null)
{
for (int i = 0; i < items.Count; i++)
{
if (grid_newInvoices.IsRowVisible(i))
{
var vm = grid_newInvoices.GetRow(i) as InvoiceBaseVM;
if (vm != null)
{
list.Add(vm);
}
}
}
}
return list;
}
private void DateEdit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
{
RefreshInvoiceBases((DateTime)e.NewValue, null);
}
private void DateEdit2_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
{
RefreshInvoiceBases(null, (DateTime)e.NewValue);
}
}
}

View File

@@ -10,7 +10,7 @@
HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security"
VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<GroupBox Width="1100" Style="{StaticResource PopUpWindowStyle}">
<GroupBox Width="850" Style="{StaticResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
<Image Source="..\..\Ressources\Icons\CoinsDisabled.png" Height="28" />
@@ -22,10 +22,6 @@
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<GroupBox Margin="10" Header="Rechnung(en) erstellen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -38,9 +34,7 @@
<AccessText Margin="2">Klicken Sie anschließend auf "Erstellen".</AccessText>
</StackPanel>
</Label>
<TextBlock x:Name="txtWarnhinweis" Foreground="Red" Grid.Column="1" ></TextBlock>
<dxg:GridControl x:Name="grid_newInvoices" Margin="3" Grid.Row="1" Grid.ColumnSpan="2" MinHeight="200">
<dxg:GridControl x:Name="grid_newInvoices" Margin="3" Grid.Row="1" MinHeight="200">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Notice" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
@@ -58,16 +52,12 @@
<dxe:TextEditSettings DisplayFormat="c" Mask="c" MaskType="Numeric"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="InvoiceBase.Details" Header="Details"></dxg:GridColumn>
<dxg:GridColumn FieldName="InvoiceBase.NeuErstellen" Header="Neu erstellen" ></dxg:GridColumn>
<dxg:GridColumn FieldName="InvoiceBase.DiffErstellen" Header="{markup:Translate Diff.-Rg erstellen}"></dxg:GridColumn>
<dxg:GridColumn FieldName="InvoiceBase.Hinweise" Header="Hinweise"></dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView ShowGroupPanel="False" CellValueChanging="TableView_CellValueChanging"/>
<dxg:TableView ShowGroupPanel="False" />
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2">
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Grid.Row="2">
<Button Content="Erstellen" x:Name="btn_create" Click="btn_create_Click" Padding="5 0" Margin="3" />
<Button Content="Abbrechen" x:Name="btn_cancel" Click="btn_cancel_Click" Margin="3" Padding="5 0" />
</StackPanel>

View File

@@ -8,7 +8,7 @@ using System.Windows.Input;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using DevExpress.Xpf.Grid;
namespace BeWo.View.Detail.Accounting
@@ -42,16 +42,6 @@ namespace BeWo.View.Detail.Accounting
this._InvoiceNumbers = value.Select(i => i.InvoiceBase.InvoiceNumber).ToList();
this._Dcs = new BindingList<ServiceInvoiceDC>(value);
this.grid_newInvoices.ItemsSource = this._Dcs;
SetzeWarnhinweis();
}
}
private void SetzeWarnhinweis()
{
if (_Dcs.Any(s => s.InvoiceBase.DiffErstellen))
{
txtWarnhinweis.Text = Translator.Translate("Es wurden bereits Rechnungen im gewählten Zeitraum erstellt.\nWenn Sie keine Differenzrechnungen erstellen möchten,\nentfernen Sie bitte die entsprechenden Häkchen.");
}
}
@@ -83,26 +73,5 @@ namespace BeWo.View.Detail.Accounting
{
this._Dcs.Remove(this.grid_newInvoices.GetCurrentValue<ServiceInvoiceDC>());
}
private void TableView_CellValueChanging(object sender, CellValueChangedEventArgs e)
{
var si = e.Row as ServiceInvoiceDC;
if (e.Column.FieldName.Contains("NeuErstellen") && ((bool)e.Value))
{
if (si.InvoiceBase.DiffErstellen)
{
si.InvoiceBase.DiffErstellen = false;
grid_newInvoices.RefreshData();
}
}
else if (e.Column.FieldName.Contains("DiffErstellen") && ((bool)e.Value))
{
if (si.InvoiceBase.NeuErstellen)
{
si.InvoiceBase.NeuErstellen = false;
grid_newInvoices.RefreshData();
}
}
}
}
}

View File

@@ -185,7 +185,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<dxg:GridControl HorizontalAlignment="Left"
<dxg:GridControl Background="Transparent" HorizontalAlignment="Left"
DataSource="{Binding InvoiceItems.VMList}">
<!--<dxg:GridControl.Resources>
<ControlTemplate x:Key="{dxg:TableViewThemeKey ResourceKey=ControlTemplate}">
@@ -220,7 +220,7 @@
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="None" ShowIndicator="False"
AllowSorting="False" AllowColumnFiltering="False"
AllowResizing="False"
ShowHorizontalLines="False" ShowVerticalLines="False" AllowResizing="False"
ShowGroupPanel="False"
/>
</dxg:GridControl.View>

View File

@@ -1,6 +1,5 @@
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Navigation;
using BS.Shared;
@@ -14,9 +13,6 @@ using BeWo.ViewModel.ListViewModel;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using System.Windows.Media;
using System;
namespace BeWo.View.Detail.Accounting
{
@@ -132,126 +128,28 @@ namespace BeWo.View.Detail.Accounting
}
private void button_addCostBearer_Click(object sender, RoutedEventArgs e)
{
if (ViewModel.VMList.Count > 0)
{
FrageNachRechnungsart();
}
else
{
ErstelleNeueSpitzabrechnung();
}
}
private void ErstelleNeueSpitzabrechnung()
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GenerateInitialSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
s => s.GenerateInitialSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
dc =>
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
if (ShowOldEditView(vm))
{
this._EditView.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView);
}
else
{
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
}
});
});
}
private void ErstelleDifferenzrechnung()
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GenerateDifferenzSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
dc =>
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
});
});
}
private void FrageNachRechnungsart()
{
//return 0 = Cancel, 1 = Neue Rechnung, 2 = DiffRechnung
var cancelButton = new Button { Content = " Abbrechen " };
cancelButton.Margin = new Thickness(5);
var btnNeueRechnung = new Button { Content = Translator.Translate(" Neue Rechnung erstellen ") };
btnNeueRechnung.Margin = new Thickness(5);
var btnDiffRechnung = new Button { Content = Translator.Translate(" Differenzrechnung erstellen ") };
btnDiffRechnung.Margin = new Thickness(5);
var textBlock = new TextBlock
{
Foreground = Brushes.Black,
Margin = new Thickness(10, 20, 10, 20),
Text = Translator.Translate("Es wurde bereits eine Spitzabrechnung für den ausgewählten Hilfeplan erstellt.\n" +
"Möchten Sie eine neue Rechnung oder eine Differenzrechnung zur letzten\nSpitzabrechnung erstellen?")
};
textBlock.FontSize = 12;
BeWoWindow bewoWindow = BeWoWpfUtils.CreateBeWoPopupWindow(100, 800, true);
cancelButton.Click += delegate { bewoWindow.Close(); };
btnNeueRechnung.Click += delegate
{
bewoWindow.Close();
ErstelleNeueSpitzabrechnung();
};
btnDiffRechnung.Click += delegate
{
bewoWindow.Close();
ErstelleDifferenzrechnung();
};
var centeredStackPanel = new StackPanel { Orientation = Orientation.Vertical, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center };
var buttonStackPanel = new StackPanel { Orientation = Orientation.Horizontal };
buttonStackPanel.HorizontalAlignment = HorizontalAlignment.Right;
buttonStackPanel.Children.Add(btnNeueRechnung);
buttonStackPanel.Children.Add(btnDiffRechnung);
buttonStackPanel.Children.Add(cancelButton);
centeredStackPanel.Children.Add(textBlock);
centeredStackPanel.Children.Add(buttonStackPanel);
var grid = new Grid
{
Background = (LinearGradientBrush)FindResource("ObjectEditBackgroundBrush")
};
grid.Children.Add(centeredStackPanel);
bewoWindow.GroupBoxContent = grid;
bewoWindow.rootGroupBox.Header = "Spitzabrechnung erstellen";
bewoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
bewoWindow.Show();
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
if (ShowOldEditView(vm))
{
this._EditView.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView);
}
else
{
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
}
});
});
}
private bool ShowOldEditView(SettlementVM vm)

View File

@@ -57,11 +57,6 @@
</localView:BeWoView.Resources>
<Grid>
<Grid x:Name="rootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -69,9 +64,7 @@
</Grid.RowDefinitions>
<CheckBox Content="Buchungen für ausgewählten Hilfeplan" Grid.Row="0" IsChecked="True" Margin="0,3,0,0"
x:Name="chkWithClient" Checked="chkWithClient_Checked" Unchecked="chkWithClient_Unchecked" />
<uc:PopUpEdit IsReadOnly="True" Name="popupedit_file" Grid.Column="1" Margin="30,0,0,0" Height="23" Width="250" Grid.Row="0" HorizontalAlignment="Left" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_file_PopUpClick" />
<Button x:Name="ButtonImport" Grid.Column="2" Margin="5,0,0,0" Height="22" Content="Abschlagszahlungen importieren" Click="ButtonImport_Click" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="Visible" ></Button>
<Grid x:Name="customerInfoGrid" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Margin="0,3,0,0">
<Grid x:Name="customerInfoGrid" Grid.Row="1" Margin="0,3,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition />
@@ -95,7 +88,7 @@
<TextBlock Text="{Binding Path=InformationString}" Foreground="#FF2B508B" FontSize="14" />
</Grid>
</Grid>
<Grid Grid.Row="2" x:Name="customerDetailGrid" Grid.Column="0" Grid.ColumnSpan="3" Margin="0,5,0,0">
<Grid Grid.Row="2" x:Name="customerDetailGrid" Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />

View File

@@ -21,17 +21,14 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.Shared.Core;
using BS.Shared.Translation;
using Microsoft.Win32;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
namespace BeWo.View.Detail
{
public partial class AccountingTransactionBookingView
{
private bool saveInProgress = false;
private String _UploadFileName;
public static Visibility InsertedOnAndByVisibility
{
get
@@ -59,16 +56,6 @@ namespace BeWo.View.Detail
DownloadLinkEngine = new DownloadLinkEngine();
linkExcelExport.NavigateUri = DownloadLinkEngine.GenerateNewExcelLink();
if (!BeWoApp.AppSettings.ShowImportAbschlagszahlungen)
{
popupedit_file.Visibility = Visibility.Collapsed;
ButtonImport.Visibility = Visibility.Collapsed;
}
#if DEBUG
popupedit_file.Visibility = Visibility.Visible;
ButtonImport.Visibility = Visibility.Visible;
#endif
Loaded += AccountingTransactionBookingView_Loaded;
}
@@ -663,92 +650,5 @@ namespace BeWo.View.Detail
}
}
private void popupedit_file_PopUpClick(object sender, RoutedEventArgs ev)
{
var dlg = new OpenFileDialog();
if (dlg.ShowDialog() == true)
{
try
{
_UploadFileName = dlg.FileName;
popupedit_file.Text = dlg.SafeFileName;
ButtonImport.IsEnabled = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
}
private void ButtonImport_Click(object sender, RoutedEventArgs pe)
{
if (!String.IsNullOrEmpty(popupedit_file.Text))
{
try
{
var upload = new ProgressStream(File.OpenRead(_UploadFileName));
//upload.ProgressChanged += (s, e) => Dispatcher.BeginInvoke(
// DispatcherPriority.Normal,
// (Action)(() =>
// {
// progressbar_upload.Value = e.Data;
// text_progress.Content = string.Format("Bitte warten... {0:00}%", e.Data * 100);
// }));
long oid = 0;
var lUlPackage = new UploadPackage(null, 0, _UploadFileName, null, 0, 0, upload);
ServiceFacade.DoStreamingServiceAsync(
s => s.UploadImportFile(lUlPackage),
r => this.Dispatch(
delegate
{
//_UploadFileName = null;
//button_uploadDocument.IsEnabled = false;
//popupedit_file.Text = string.Empty;
upload.Dispose();
if (r != null && !String.IsNullOrEmpty(r.ResultMessage))
{
if (r.Success)
{
MessageBox.Show(r.ResultMessage, "Import", MessageBoxButton.OK,
MessageBoxImage.Information);
ViewModel.RefreshAccountingTransactionsForSelectedTreeNode();
}
else
{
MessageBox.Show(r.ResultMessage, "Import", MessageBoxButton.OK,
MessageBoxImage.Exclamation);
}
}
}),
() => this.Dispatch(
delegate
{
upload.Dispose();
}));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
}
}
}

View File

@@ -12,9 +12,9 @@
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:shared2="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:dxg="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v23.2"
xmlns:dxg="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v23.1"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:grid="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v23.2.Core"
xmlns:grid="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v23.1.Core"
xmlns:converter="clr-namespace:BeWo.Converter"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:detail="clr-namespace:BeWo.View.Detail"
@@ -672,7 +672,7 @@
</dxg:GridControl.Resources>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Customer.LastNameFirstName" Header="{markup:Translate Klient}" AllowEditing="False" />
<dxg:GridColumn FieldName="t0" Header="1." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t0" Header="1." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t1" Header="2." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t2" Header="3." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t3" Header="4." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
@@ -703,17 +703,10 @@
<dxg:GridColumn x:Name="T28" FieldName="t28" Header="29." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T29" FieldName="t29" Header="30." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T30" FieldName="t30" Header="31." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="ColumnNotice" Header="Bemerkungen" FieldName="Notice.Notice" Width="300">
<dxg:GridColumn.EditSettings>
<dxe:MemoEditSettings TextWrapping="Wrap" AcceptsReturn="True" MemoTextWrapping="Wrap" MemoAcceptsReturn="True" ShowIcon="False" ShowTooltipForTrimmedText="True">
</dxe:MemoEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView CellValueChanging="GridViewBase_OnCellValueChanging" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell" ShowingEditor="TableView_ShowingEditor"
ShownEditor="pg_ShownEditor" HiddenEditor="GridViewBase_OnHiddenEditor" PreviewMouseDoubleClick="gridView1_DoubleClick" Tag="{Binding SelectedBookings}" ShowGridMenu="TableView_ShowGridMenu" />
<dxg:TableView CellValueChanging="GridViewBase_OnCellValueChanging" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell"
ShownEditor="pg_ShownEditor" HiddenEditor="GridViewBase_OnHiddenEditor" PreviewMouseDoubleClick="gridView1_DoubleClick" Tag="{Binding SelectedBookings}" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>

View File

@@ -0,0 +1,741 @@
<localView:BeWoView x:Class="BeWo.View.Detail.AdditionalServiceView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewControls="clr-namespace:BeWo.View.Controls"
xmlns:localSearchView="clr-namespace:BeWo.View.Search"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:ve="http://schemas.devexpress.com/winfx/2008/xaml/docking/visualelements"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:shared2="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:dxg="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v17.1"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:grid="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v17.1.Core"
xmlns:converter="clr-namespace:BeWo.Converter"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:detail="clr-namespace:BeWo.View.Detail"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True" x:Name="_this">
<localView:BeWoView.Resources>
<Style TargetType="{x:Type Button}" x:Key="DockPanelMaximizeButtonStyle">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="Button" Width="18" Height="18" ve:DockPane.HitTestType="MaximizeButton" Background="Transparent">
<Grid x:Name="hoveredState" Visibility="Collapsed">
<Border Margin="2,2,0,0" Opacity="0.1" Background="#FF000000" CornerRadius="2,2,2,2" />
<Border Margin="1,1,1,1" Background="#FF666666" CornerRadius="2,2,2,2" Padding="1,1,1,1">
<Border CornerRadius="1,1,1,1" Padding="1,1,1,1">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD0E3FB" Offset="0" />
<GradientStop Color="#FFADD0F6" Offset="1" />
<GradientStop Color="#FFD5E6FA" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="1,1,1,1">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD1E4FC" Offset="0" />
<GradientStop Color="#FFAED1F6" Offset="1" />
<GradientStop Color="#FFB5D0F1" Offset="0.5" />
<GradientStop Color="#FFA4C5ED" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
</Border>
</Grid>
<Grid x:Name="pressedState" Visibility="Collapsed">
<Border Margin="2,2,1,0" Opacity="0.15" Background="#FFFFFFFF" CornerRadius="2,2,2,2" />
<Border Margin="1,1,1,1" Background="#FF333333" CornerRadius="2,2,2,2" Padding="1,1,1,1">
<Border Background="#FF555555" CornerRadius="1,1,1,1" Padding="1,1,1,1" />
</Border>
</Grid>
<Border x:Name="glyph" Background="#00FFFEFE" Width="10" Height="10" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid x:Name="grid" Width="10" Height="8">
<Path Stretch="Fill"
Data="F1 M 1182,761L 1192,761L 1192,769L 1182,769L 1182,761 Z M 1183,764L 1183,768L 1191,768L 1191,764L 1183,764 Z "
HorizontalAlignment="Stretch"
Margin="0,0,0,0"
x:Name="path2"
VerticalAlignment="Stretch"
Fill="#FF555555"
>
</Path>
<Path Stretch="Fill"
Fill="#FF555555"
Data="F1 M 1182,761L 1192,761L 1192,762L 1182,762L 1182,761 Z "
HorizontalAlignment="Stretch"
Margin="0,0,0,0"
x:Name="path3"
VerticalAlignment="Top"
Height="1" />
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" TargetName="hoveredState" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<Style TargetType="{x:Type Button}" x:Key="DockPanelRestoreButtonStyle">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="Button" Width="18" Height="18" ve:DockPane.HitTestType="RestoreButton" Background="Transparent">
<Grid x:Name="hoveredState" Visibility="Collapsed">
<Border Margin="2,2,0,0" Opacity="0.1" Background="#FF000000" CornerRadius="2,2,2,2" />
<Border Margin="1,1,1,1" Background="#FF666666" CornerRadius="2,2,2,2" Padding="1,1,1,1">
<Border CornerRadius="1,1,1,1" Padding="1,1,1,1">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD0E3FB" Offset="0" />
<GradientStop Color="#FFADD0F6" Offset="1" />
<GradientStop Color="#FFD5E6FA" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="1,1,1,1">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD1E4FC" Offset="0" />
<GradientStop Color="#FFAED1F6" Offset="1" />
<GradientStop Color="#FFB5D0F1" Offset="0.5" />
<GradientStop Color="#FFA4C5ED" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
</Border>
</Grid>
<Grid x:Name="pressedState" Visibility="Collapsed">
<Border Margin="2,2,1,0" Opacity="0.15" Background="#FFFFFFFF" CornerRadius="2,2,2,2" />
<Border Margin="1,1,1,1" Background="#FF333333" CornerRadius="2,2,2,2" Padding="1,1,1,1">
<Border Background="#FF555555" CornerRadius="1,1,1,1" Padding="1,1,1,1" />
</Border>
</Grid>
<Border x:Name="glyph" Background="#00FFFEFE" Width="10" Height="10" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid Width="10" Height="9" Margin="0,1,0,0">
<Path Stretch="Fill"
Fill="#FF555555"
x:Name="path"
Data="F1 M 1142,761.001L 1150,761.001L 1150,766L 1142,766L 1142,761.001 Z M 1143,763.001L 1143,765L 1149,765L 1149,763.001L 1143,763.001 Z "
HorizontalAlignment="Stretch"
Margin="2,0.001,0,3.999"
VerticalAlignment="Stretch"
>
</Path>
<Path Stretch="Fill"
Fill="#FF555555"
x:Name="path3"
Data="F1 M 1140,764.001L 1148,764L 1148,769L 1140,769.001L 1140,764.001 Z M 1141,766L 1141,768.001L 1147,768L 1147,766L 1141,766 Z "
HorizontalAlignment="Stretch"
Margin="0,3,2,1"
VerticalAlignment="Stretch"
>
</Path>
<Path Stretch="Fill"
Fill="#FF555555"
x:Name="path1"
Data="F1 M 1142,761L 1150,761L 1150,762L 1142,762L 1142,761 Z "
HorizontalAlignment="Stretch"
Margin="2,0,0,0"
VerticalAlignment="Top"
Height="1" />
<Path Stretch="Fill"
x:Name="path6"
Fill="#FF555555"
Data="F1 M 1140,764L 1148,764L 1148,765L 1140,765L 1140,764 Z "
HorizontalAlignment="Stretch"
Margin="0,3,2,0"
VerticalAlignment="Top"
Height="1" />
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" TargetName="hoveredState" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<ControlTemplate x:Key="ServiceRecordListBoxTemplate" TargetType="{x:Type ListBox}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}">
<ScrollViewer Focusable="False" Padding="{TemplateBinding Padding}" HorizontalScrollBarVisibility="Disabled">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
<Style x:Key="ServiceRecordListStyle" TargetType="{x:Type ListBox}">
<Setter Property="Template" Value="{StaticResource ServiceRecordListBoxTemplate}" />
<Setter Property="Padding" Value="2,0,2,2" />
</Style>
<Style x:Key="serviceRecordListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="#00FFFFFF" />
<Setter Property="HorizontalContentAlignment"
Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="VerticalContentAlignment"
Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="Padding" Value="2,0,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="Monat">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="shared2:Monat" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<Style x:Key="customCellStyle"
BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=LightweightCellStyle}}"
TargetType="dxg:LightweightCellEditor">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{converter:CellColorConverter}">
<Binding />
<Binding Path="Column.Header" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</localView:BeWoView.Resources>
<Grid x:Name="rootGrid">
<uc:ShadowChrome>
<GroupBox Style="{StaticResource MainContentGroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0,11,0,0">
<Image Source="..\..\Ressources\Icons\HistoryDisabled.png" RenderTransformOrigin="0.5,0.5" Width="32">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1.3" ScaleY="1.3" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="-2" />
</TransformGroup>
</Image.RenderTransform>
</Image>
<TextBox Text="Ergänzende Dienste" Margin="10,0,0,0" Background="{x:Null}"
Foreground="{DynamicResource MainGroupBoxForegroundBrush}" FontSize="22"
BorderBrush="{x:Null}" VerticalAlignment="Stretch" BorderThickness="0,0,0,0"
Padding="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid>
<Grid x:Name="DetailContentGrid" Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle Fill="{DynamicResource ServiceRecordContentBrush}" Height="6" />
<Grid x:Name="root" Grid.Row="1" Margin="8,0,8,-8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,3,0,0" Grid.Column="1" Visibility="Collapsed">
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Margin="0,3,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
<Grid Grid.Row="1" Grid.RowSpan="2" Grid.Column="0">
<GroupBox x:Name="GroupBoxAdditionalService"
Header="Ergänzende Dienste" Padding="0"
Style="{DynamicResource ObjectEditGroupBox}" Margin="0,0,0,-3" Width="250">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Bereich: " Grid.Column="0" Grid.Row="0" />
<ComboBox SelectedIndex="0" x:Name="Bereichscombobox" Margin="3,0,3,3"
Height="23" Grid.Column="1" Grid.Row="0"
ItemsSource="{Binding Path=AdditionalServices}"
SelectionChanged="BereichsComboboxChange" />
<Label Content="Angebot: " Grid.Column="0" Grid.Row="1" />
<ComboBox SelectedIndex="0" x:Name="Angebotscombobox" Margin="3,0,3,3"
Height="23" Grid.Column="1" Grid.Row="1"
SelectionChanged="AngebotsComboboxChange" />
<Label Content="Datum: " Grid.Column="0" Grid.Row="2" />
<dxe:DateEdit EditValue="{val:ValidationBinding Mode=TwoWay, Path=AdditionalServiceBookings.NewVM.Date}"
Height="23" Margin="3,0,3,3"
Grid.Column="1" Grid.Row="2" />
<Label Grid.Column="0" Grid.Row="3" Content="Startzeit" />
<Grid Grid.Row="3" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="60" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<dxe:TextEdit MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{Binding Mode=TwoWay, Path=AdditionalServiceBookings.NewVM.StartTimeEditString, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,0,3,3" />
<Label Grid.Row="0" Grid.Column="1" Content="Endzeit" />
<dxe:TextEdit MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
Grid.Row="0" Grid.Column="2"
EditValue="{Binding Mode=TwoWay, Path=AdditionalServiceBookings.NewVM.EndTimeEditString, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,0,3,3" />
<Label Content="Dauer (min)" Grid.Column="1" Grid.Row="1" />
<dxe:SpinEdit MinValue="0" Increment="5" IsFloatValue="False" AllowNullInput="False"
Grid.Column="2" Grid.Row="1"
EditValue="{Binding Mode=TwoWay, Path=AdditionalServiceBookings.NewVM.RoundedDuration, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}"
Height="23" Margin="3,0,3,3" />
</Grid>
<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="5" Margin="0,10,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<localViewControls:MultiEmployeeSelectionControl Margin="5,3,0,0" Grid.Row="0"
x:Name="MultiEmployeeControlAddServ" MinHeight="100" MaxHeight="200" VerticalAlignment="Top"
Visibility="Visible" />
<localViewControls:MultiAddServGroupOfPeopleSelectionControl x:Name="MultiAddServGroupOfPeopleSelectionControl"
MinHeight="100" VerticalAlignment="Top"
HorizontalContentAlignment="Stretch"
Grid.Row="1" Visibility="Visible"
PropertyChanged="MultiAddServGroupOfPeopleSelectionControl_OnPropertyChanged" />
</Grid>
<Button x:Name="button_ADadd" Click="button_ADadd_Click" FontWeight="Normal"
Grid.Column="1" Grid.Row="6" Content="Buchen" Height="23"
BorderThickness="3" Margin="4" HorizontalAlignment="Right" />
</Grid>
</GroupBox>
</Grid>
<Grid Grid.Row="2" Grid.Column="1" Margin="10,10,0,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Content="FLS anlegen" Grid.Column="0" Click="FLSAnlegenBtn_OnClick" />
<Label x:Name="MonatsLabel" Content="Monat" Grid.Column="1" />
<ComboBox x:Name="MonatsCombobox" Grid.Column="2" MinWidth="90" ItemsSource="{Binding Source={StaticResource Monat}}" SelectedItem="{Binding Path=SelectedMonth}" />
<Label x:Name="JahresLabel" Content="Jahr" Grid.Column="3" />
<ComboBox x:Name="JahresCombobox" Grid.Column="4" MinWidth="75" ItemsSource="{Binding Path=Years}" SelectedItem="{Binding Path=SelectedYear}" />
<TextBlock Grid.Column="5" x:Name="TextblockLinkPdfexport2" Margin="5,0,5,3" FontSize="14" HorizontalAlignment="Right">
<Hyperlink x:Name="LinkPdfExport2" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPdfExport2_OnRequestNavigate">
<Run Text="Drucken" />
</Hyperlink>
</TextBlock>
</Grid>
<Grid Grid.Row="1" Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Top" x:Name="FLSInfoGrid" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<localViewControls:SingleSupportConceptSelectionControl x:Name="SupportConceptSelectionControl" Width="250" Margin="0,0,10,0"
ItemSelected="supportConceptSelectionControl_ItemSelected" Height="62" VerticalAlignment="Top"
HorizontalContentAlignment="Stretch" />
<TextBlock Grid.Column="1" Text="{Binding Path=FLSInformationStringLabels,Mode=OneWay}"
Foreground="{DynamicResource BigInfoTextBrush}" FontSize="14" />
<TextBlock Margin="10 0 0 0" Grid.Column="2" Text="{Binding Path=FLSInformationStringContent,Mode=OneWay}"
Foreground="{DynamicResource BigInfoTextBrush}" FontSize="14" />
<StackPanel Grid.Column="3" Orientation="Horizontal" Visibility="{Binding Path=IsCustomerWarningActive, Converter={StaticResource BoolVisibilityConverter}}" VerticalAlignment="Top" Margin="8,-3,0,0">
<Button Content="I" HorizontalAlignment="Left" Style="{DynamicResource WarningButton}">
<Button.ToolTip>
<TextBlock Text="{Binding Path=CustomerWarning}" />
</Button.ToolTip>
</Button>
<TextBlock Margin="5 3 0 0" Text="{markup:Translate Der Klient ist in dieser Woche abwesened}" Foreground="#B80000" FontSize="14">
<TextBlock.ToolTip>
<TextBlock Text="{Binding Path=CustomerWarning}" />
</TextBlock.ToolTip>
</TextBlock>
</StackPanel>
</Grid>
<Grid Grid.Row="1" x:Name="FLSGrid" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<GroupBox x:Name="GroupBoxNeueLeistung" Header="Neue Leistung hinzufügen" Padding="0,0,0,0"
Style="{DynamicResource ObjectEditGroupBox}" Margin="0,0,0,-3" Grid.Column="1">
<Grid x:Name="GridNeueLeistung">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid x:Name="NewObjectInfoGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Column="0" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="{t:Translate MitarbeiterSingular}" />
<uc:PopUpEdit IsReadOnly="True" x:Name="PopupeditEmployee"
DeleteButtonVisibility="Collapsed"
PopUpClick="popupedit_employee_PopUpClick"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" Height="23" Grid.Column="1"
Grid.ColumnSpan="1" Grid.Row="0" Margin="3,0,3,3" />
<StackPanel Margin="0" Grid.Column="0" Grid.Row="1">
<Label Content="Ziele" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}" />
</StackPanel>
<StackPanel Margin="0" Grid.Column="1" Grid.Row="1">
<StackPanel Orientation="Horizontal" Margin="3,0,3,0"
Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">
<localViewControls:ComboBoxTreeViewControl Margin="-3,0,3,0" x:Name="ComboBoxTreeViewControl" TreeViewSourceList="{Binding Path=PrototypeVM.GoalTree, Mode=TwoWay}" />
</StackPanel>
</StackPanel>
<Label Grid.Column="0" Grid.Row="2" Content="Kategorie" />
<ComboBox Grid.Column="1" Grid.Row="2"
SelectedItem="{val:ValidationBinding Path=PrototypeVM.Category}"
ItemsSource="{Binding Path=PrototypeVM.SortedCategories}"
SelectedIndex="0" Margin="3,0,3,3"
Height="23" />
<Label Grid.Column="0" Grid.Row="3" Content="Leistung" />
<ComboBox Grid.Column="1" Grid.Row="3" SelectedItem="{val:ValidationBinding Path=PrototypeVM.ServiceDescription}"
ItemsSource="{Binding Path=PrototypeVM.PossibleServiceDescriptions}"
SelectedIndex="0" x:Name="ComboboxServices" Margin="3,0,3,3"
Height="23" />
<Label Grid.Column="0" Grid.Row="4" Content="Datum" />
<dxe:DateEdit Grid.Column="1" Grid.Row="4" x:Name="DatepickerNewDate"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=PrototypeVM.EditStartDate}"
Height="23" Margin="3,0,3,3" />
<Label Grid.Column="0" Grid.Row="5" Content="Startzeit" />
<Grid Grid.Column="1" Grid.Row="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="60" />
</Grid.ColumnDefinitions>
<dxe:TextEdit MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{Binding Mode=TwoWay, Path=PrototypeVM.StartTimeString, UpdateSourceTrigger=PropertyChanged}"
Height="23" Margin="3,0,3,3" />
<Label Grid.Column="1" Content="Endzeit" />
<dxe:TextEdit MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{Binding Mode=TwoWay, Path=PrototypeVM.EndTimeString, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="2" Height="23" Margin="3,0,3,3" />
</Grid>
<Grid Grid.Column="1" Grid.Row="6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="60" />
</Grid.ColumnDefinitions>
<Label Content="Dauer (min)" Grid.Column="1" />
<dxe:SpinEdit MinValue="0" Increment="5" IsFloatValue="False" AllowNullInput="False"
EditValue="{Binding Path=PrototypeVM.Duration, Mode=TwoWay, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="2" Height="23" Margin="3,0,3,3" />
</Grid>
<StackPanel Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" MaxWidth="320" HorizontalAlignment="Left" Visibility="Collapsed">
<Label Content="{Binding Path=PrototypeVM.Date, Converter={StaticResource Date2CalendarWeekStringConverter}}" />
<WrapPanel x:Name="WrapPanelDays" />
</StackPanel>
<Label Grid.Column="0" Grid.Row="7" VerticalAlignment="Top" Content="Dokumentation" HorizontalAlignment="Left" Grid.ColumnSpan="2" />
<TextBox Grid.Column="0" Grid.Row="8" Grid.RowSpan="1"
Text="{val:ValidationBinding Path=PrototypeVM.Notice, UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Stretch" Grid.ColumnSpan="2"
AcceptsReturn="True" VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Hidden" TextWrapping="Wrap"
AutoWordSelection="True" />
</Grid>
</Grid>
<Grid Grid.Row="1" Margin="0,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap" VerticalAlignment="Center" Text="{Binding Path=Information}" Foreground="#FF000000" Margin="0,0,3,0" />
<Button x:Name="ButtonAdd" Click="button_add_Click" FontWeight="Normal" Grid.Column="1" Content="Speichern" Height="23" BorderThickness="3,3,3,3" Margin="4" />
</Grid>
</Grid>
</Grid>
</GroupBox>
<Grid x:Name="ServiceRecordListContent" Margin="0,0,0,25" Grid.Column="2" Grid.Row="0" MinWidth="300">
<ListBox x:Name="SrListBox" ScrollViewer.CanContentScroll="True" IsSynchronizedWithCurrentItem="True"
AlternationCount="-1" Background="{x:Null}" MouseDoubleClick="serviceRecordListBox_MouseDoubleClick"
ItemTemplate="{DynamicResource ServiceRecordListBoxItemTemplate}" Style="{DynamicResource ServiceRecordListStyle}"
HorizontalContentAlignment="Stretch" ItemContainerStyle="{DynamicResource serviceRecordListBoxItemStyle}" TabIndex="1">
<ListBox.Resources>
<DataTemplate x:Key="ServiceRecordListBoxItemTemplate" DataType="{x:Type localViewModel:ServiceRecordVM}">
<Grid x:Name="template" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Border x:Name="ItemBorder" CornerRadius="4,4,4,4" Width="Auto" Height="Auto" Padding="6"
Margin="0,0,0,3" Background="{Binding Path=BackgroundBrush}" BorderThickness="1,1,1,1" BorderBrush="#FF7E7E7E">
<Grid TextBlock.Foreground="{Binding Path=TextBlock.Foreground, RelativeSource={RelativeSource TemplatedParent}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="12" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="12" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="17" />
<RowDefinition Height="14" />
<RowDefinition Height="14" />
<RowDefinition Height="14" />
<RowDefinition Height="14" />
<RowDefinition Height="14" />
<RowDefinition Height="24" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="1" Text="Minuten (gerundet):" />
<TextBlock Grid.Column="0" Grid.Row="2" Text="Leistungskategorie:" />
<TextBlock Grid.Column="0" Grid.Row="3" Text="Leistung:" />
<TextBlock Grid.Column="0" Grid.Row="4" Text="Angelegt von:" Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type detail:AdditionalServiceView}}, Path=InsertedOnAndByVisibility}" />
<TextBlock Grid.Column="0" Grid.Row="5" Text="Angelegt am:" Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type detail:AdditionalServiceView}}, Path=InsertedOnAndByVisibility}" />
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding Path=LongDateString}" Grid.ColumnSpan="5" FontWeight="Bold" FontSize="13" Foreground="#FF494949" />
<TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding Path=DurationAndRoundedDuration}" FontWeight="Bold" Background="{x:Null}" Foreground="#FF4E7BC4" />
<TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding Path=Category}" />
<TextBlock Grid.Column="2" Grid.Row="3" Text="{Binding Path=ServiceDescription}" />
<TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding Path=EmployeeName}" Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type detail:AdditionalServiceView}}, Path=InsertedOnAndByVisibility}" />
<TextBlock Grid.Column="2" Grid.Row="5" Text="{Binding Path=InsertedOn}" Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type detail:AdditionalServiceView}}, Path=InsertedOnAndByVisibility}" />
<TextBox Grid.Column="4" Grid.Row="1" Grid.RowSpan="6" HorizontalAlignment="Stretch" Text="{Binding Path=Notice}"
HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" Margin="0,0,0,15"
BorderThickness="0" BorderBrush="{x:Null}" Background="{x:Null}" SnapsToDevicePixels="True"
MaxHeight="200" TextWrapping="Wrap" AutoWordSelection="True" IsReadOnly="True" GotFocus="TextBox_GotFocus" Tag="{Binding}"
IsEnabled="True" Focusable="True" />
<StackPanel Orientation="Horizontal" Grid.Column="2" Grid.ColumnSpan="3" Grid.Row="6" Margin="0,7,0,0">
<TextBlock Text="Ziele:" Visibility="{Binding Path=HasGoals, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock Text="{Binding Path=GoalString}" Margin="3,0,3,0" ToolTip="{Binding Path=GoalString}" />
</StackPanel>
<Button x:Name="btnEdit" Grid.Column="0" Grid.Row="6" Width="32"
Height="22" HorizontalAlignment="Left" Margin="0,0,0,0"
BorderThickness="1,1,1,1"
Padding="1,1,1,1"
Click="btnEdit_Click" Style="{DynamicResource GlassButton}"
Tag="{Binding}" Visibility="{Binding Path=EditAllowed, Converter={StaticResource BoolVisibilityConverter}}">
<Image Source="..\..\Ressources\Icons\Symbol Edit.png" Stretch="Uniform" Margin="1,1,1,1" />
</Button>
<Button x:Name="btnDelete" Grid.Column="0" Grid.Row="6" Width="32"
Height="22" HorizontalAlignment="Left" Margin="35,0,0,0"
Padding="1,1,1,1"
BorderThickness="1,1,1,1"
Click="btnDelete_Click" Style="{DynamicResource GlassButton}"
Tag="{Binding}" Visibility="{Binding Path=EditAllowed, Converter={StaticResource BoolVisibilityConverter}}">
<Image Source="..\..\Ressources\Icons\Symbol Delete.png" Stretch="Uniform" Margin="1,1,1,1" />
</Button>
</Grid>
</Border>
</Grid>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="ItemBorder" Value="{Binding Path=MouseOverBackgroundBrush}" />
</Trigger>
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}, Mode=FindAncestor}}" Value="True">
<Setter Property="Background" TargetName="ItemBorder" Value="{Binding Path=SelectedBackgroundBrush}" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.Resources>
</ListBox>
</Grid>
<TextBlock Grid.Column="1" x:Name="TxtServiceListCount"
Text="{Binding Path=RecordCountInformationString}" VerticalAlignment="Bottom"
Margin="5,0,5,3" Foreground="#FF2B508B" HorizontalAlignment="Left" FontSize="14" />
<StackPanel x:Name="StackPanelInfoText" Orientation="Horizontal" Grid.Column="2" VerticalAlignment="Bottom" HorizontalAlignment="Right">
<TextBlock Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="LinkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPdfExport_OnRequestNavigate">
<Run Text="Drucken" />
</Hyperlink>
</TextBlock>
<TextBlock Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="LinkExcelExport" TargetName="newWindow" Foreground="#FF2B508B" RequestNavigate="linkExcelExport_RequestNavigate">
<Run Text="Excel Export" />
</Hyperlink>
</TextBlock>
</StackPanel>
<Grid x:Name="PunktebogenRootGrid" Grid.Column="2">
<Border Width="200" BorderBrush="Green" />
</Grid>
</Grid>
<dxg:GridControl Grid.Row="1" x:Name="TeilnahmeGrid" ItemsSource="{Binding TeilnehmerListe}">
<dxg:GridControl.Resources>
<Style x:Key="CustomCellStyle"
BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=LightweightCellStyle}}"
TargetType="dxg:LightweightCellEditor">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{converter:CellColorConverter}">
<Binding />
<Binding Path="Column.Header" />
<Binding Path="RowData.Row" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</dxg:GridControl.Resources>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Customer.LastNameFirstName" Header="{markup:Translate Klient}" AllowEditing="False" />
<dxg:GridColumn FieldName="t0" Header="1." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t1" Header="2." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t2" Header="3." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t3" Header="4." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t4" Header="5." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t5" Header="6." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t6" Header="7." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t7" Header="8." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t8" Header="9." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t9" Header="10." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t10" Header="11." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t11" Header="12." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t12" Header="13." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t13" Header="14." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t14" Header="15." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t15" Header="16." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t16" Header="17." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t17" Header="18." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t18" Header="19." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t19" Header="20." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t20" Header="21." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t21" Header="22." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t22" Header="23." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t23" Header="24." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t24" Header="25." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t25" Header="26." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t26" Header="27." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t27" Header="28." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T28" FieldName="t28" Header="29." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T29" FieldName="t29" Header="30." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T30" FieldName="t30" Header="31." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView CellValueChanging="GridViewBase_OnCellValueChanging" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell"
ShownEditor="pg_ShownEditor" HiddenEditor="GridViewBase_OnHiddenEditor" PreviewMouseDoubleClick="gridView1_DoubleClick" Tag="{Binding SelectedBookings}" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
<Grid Grid.Row="2"><Button x:Name="SaveBtn" Content="Speichern" HorizontalAlignment="Right" Click="SaveBookingChanges" Margin="4,4,0,4" /></Grid>
</Grid>
</Grid>
</Grid>
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="40" Margin="0,10,0,0" VerticalAlignment="Stretch"
Background="#FF000000">
<Border.OpacityMask>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#19000000" Offset="0" />
<GradientStop Color="#33FFFFFF" Offset="1" />
</LinearGradientBrush>
</Border.OpacityMask>
</Border>
<StackPanel Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center" Height="Auto"
Margin="5,10,0,0" HorizontalAlignment="Right">
<Button Content="Schließen" Margin="0,0,3,0"
Command="ApplicationCommands.Close" Height="25" />
</StackPanel>
</Grid>
<Popup Margin="10" x:Name="PopupEmployee" StaysOpen="False" Placement="MousePoint" Width="400"
Height="400">
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_CustomerSelected" />
</Popup>
</Grid>
</GroupBox>
</uc:ShadowChrome>
<Border x:Name="PopupContent" />
</Grid>
</localView:BeWoView>

View File

@@ -28,8 +28,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using DevExpress.Xpf.Bars;
using BS.Shared.Translation;
using DevExpress.Xpf.Docking;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
@@ -162,9 +161,6 @@ namespace BeWo.View.Detail
public List<AdditionalServiceRegionDC> AdditionalServiceRegions { get; set; }
public AdditionalServiceBookingListVM AdditionalServiceBookings { get; set; }
public List<AdditionalServiceNoticeDC> AdditionalServiceNoticeList { get; set; }
public int GridColumnCount { get; set; }
public int[] Years { get; set; }
@@ -295,25 +291,8 @@ namespace BeWo.View.Detail
//{
// int test = 0;
//}
//Notice raussuchen
var region = Angebotscombobox.SelectedItem as AdditionalServiceRegionDC;
AdditionalServiceNoticeDC notice = null;
if (region != null && customer != null)
{
notice = AdditionalServiceNoticeList.Where(n => n.RegionOid == region.AdditionalServiceRegionOid && n.CustomerOid == customer.CustomerOid).FirstOrDefault();
}
if (notice == null)
{
notice = new AdditionalServiceNoticeDC();
notice.Monat = new DateTime(booking.StartDate.Value.Year, booking.StartDate.Value.Month, 1);
notice.RegionOid = region?.AdditionalServiceRegionOid;
notice.CustomerOid = customer?.Oid;
}
TeilnehmerListe.Add(new Teilnehmer(customer, anwesenheiten, bookingRel, notice));
TeilnehmerListe.Add(new Teilnehmer(customer, anwesenheiten, bookingRel));
var klienten = new Dictionary<long, bool>();
foreach (var test2 in TeilnehmerListe)
@@ -369,12 +348,6 @@ namespace BeWo.View.Detail
private void pg_ShownEditor(object sender, EditorEventArgs e)
{
//if (!CheckEditRight())
//{
// e.Handled = true;
// return;
//}
if (!(e.Editor is CheckEdit))
return;
@@ -385,20 +358,7 @@ namespace BeWo.View.Detail
(e.Editor as CheckEdit).Checked += checked_changed;
}
private bool CheckEditRight(bool showMessage)
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AdditionalService_Edit))
{
if (showMessage)
{
MessageBox.Show("Sie besitzen leider nicht das benötigte Recht \"Ergänzenden Dienste bearbeiten\".", "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
return false;
}
return true;
}
private void GridViewBase_OnHiddenEditor(object sender, EditorEventArgs e)
private void GridViewBase_OnHiddenEditor(object sender, EditorEventArgs e)
{
if (!(e.Editor is CheckEdit))
return;
@@ -408,9 +368,6 @@ namespace BeWo.View.Detail
}
private readonly List<AdditionalServiceBookingDC> _BookingsToUpdate = new List<AdditionalServiceBookingDC>();
private readonly List<AdditionalServiceNoticeDC> _NoticesToUpdate = new List<AdditionalServiceNoticeDC>();
private readonly List<CompactCustomerDC> _Customer2Delete = new List<CompactCustomerDC>();
private void checked_changed(object sender, RoutedEventArgs e)
{
var s = sender as CheckEdit;
@@ -476,18 +433,7 @@ namespace BeWo.View.Detail
ServiceFacade.DoOperationsServiceSync(
o => o.InsertNewAdditionalServiceBookings(new List<AdditionalServiceBookingDC>(newShortAddAD)));
}
if (_NoticesToUpdate.Count > 0)
{
ServiceFacade.DoOperationsServiceSync(o => o.UpdateAdditionalServiceNoticeList(_NoticesToUpdate));
}
if (_Customer2Delete.Count > 0)
{
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
var bereich = Angebotscombobox.SelectedItem as AdditionalServiceRegionDC;
ServiceFacade.DoOperationsServiceSync(o => o.RemoveAdditionalServiceCustomer(_Customer2Delete.Select(c => c.CustomerOid).ToList(), bereich?.AdditionalServiceRegionOid, start));
}
if (updateGrid)
if (updateGrid)
UpdateTeilnahmeGrid();
SaveBtn.IsEnabled = false;
}
@@ -501,7 +447,7 @@ namespace BeWo.View.Detail
public override bool IsDirty
{
get { return (ViewModel != null && ViewModel.AddedCount != 0) || IsGridDirty(); }
get { return ViewModel != null && ViewModel.AddedCount != 0; }
}
public override string Title
@@ -597,28 +543,8 @@ namespace BeWo.View.Detail
SrListBox.SelectedItem = vm;
}
internal override bool DoSaveCheck()
{
if (this.IsDirty)
{
MessageBoxResult lResult = this.ShowSaveQuestion();
if (lResult == MessageBoxResult.Cancel)
{
this.Focus();
return false;
}
if (lResult == MessageBoxResult.Yes)
{
this.SaveData();
SaveGridChanges(false);
}
}
return true;
}
//SRV2
protected override void Save()
//SRV2
protected override void Save()
{
var lToDos = new List<Action<IOperationsService>>();
@@ -675,11 +601,8 @@ namespace BeWo.View.Detail
newShortAddAD.Clear();
if (_BookingsToUpdate != null)
_BookingsToUpdate.Clear();
if (_NoticesToUpdate != null)
_NoticesToUpdate.Clear();
if (_Customer2Delete != null)
_Customer2Delete.Clear();
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
var end = start.AddMonths(1);
AdditionalServiceBookings.VMList.Clear();
@@ -697,11 +620,7 @@ namespace BeWo.View.Detail
}
AdditionalServiceBookings.NewVM.AdditionalServiceRegion = (AdditionalServiceRegionDC)Angebotscombobox.SelectedItem;
AdditionalServiceNoticeList = ServiceFacade.DoOperationsServiceSync(t => t.GetAdditionalServiceNoticeList(regionOid, start, end));
}
}
private void ClosePopupView()
{
@@ -867,104 +786,85 @@ namespace BeWo.View.Detail
private void GridViewBase_OnCellValueChanging(object sender, CellValueChangedEventArgs e)
{
// Das Datum ist der eindeutige Identifikator
var ausgewaehlterTeilnehmer = (Teilnehmer)e.Row;
// Das Datum ist der eindeutige Identifikator
var tableView = (TableView)sender;
var spalten = (List<Teilnehmer>) tableView.Grid.ItemsSource;
var alleTeilnehmer = spalten.Select(s => s.Customer);
if (e.Column.FieldName.Contains("Notice"))
var ausgewaehlterTeilnehmer = (Teilnehmer) e.Row;
var ausgewaehlterTag = Convert.ToInt32(e.Column.Header.ToString().Split('.')[0]);
var ausgewaehltesDatum = new DateTime(SelectedYear, (int)_SelectedMonth, ausgewaehlterTag);
var existiert = ausgewaehlterTeilnehmer.BookingRelation.Any(br => br.Value.Datum.Equals(ausgewaehltesDatum));
if (existiert) return;
if (_SelectedBookings.Any(vm => vm.Date.Equals(ausgewaehltesDatum)))
{
var btu = _SelectedBookings.First(vm => vm.Date.Equals(ausgewaehltesDatum));
if (btu.CustomerOidDict.ContainsKey(ausgewaehlterTeilnehmer.Customer.CustomerOid))
btu.CustomerOidDict.Remove(ausgewaehlterTeilnehmer.Customer.CustomerOid);
btu.CustomerOidDict.Add(ausgewaehlterTeilnehmer.Customer.CustomerOid, Convert.ToBoolean(e.Value));
_BookingsToUpdate.Add(btu.CommitToDataContract());
SaveBtn.IsEnabled = true;
return;
}
if (newShortAddAD.Any(ad => ad.Date.Equals(ausgewaehltesDatum)))
{
newShortAddAD.First(ad => ad.Date.Equals(ausgewaehltesDatum)).CustomerOidDict[ausgewaehlterTeilnehmer.Customer.CustomerOid] = Convert.ToBoolean(e.Value);
return;
}
var mitarbeiter = MultiEmployeeControlAddServ.SelectedEmployees.Select(emp => emp.EmployeeOid).ToList();
var temp = alleTeilnehmer.ToList();
//Dictionary<long, bool> klienten = new Dictionary<long, bool>();
//foreach (var customer in alleTeilnehmer)
//{
// if (!klienten.ContainsKey(customer.CustomerOid))
// {
// klienten.Add(customer.CustomerOid, customer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
// }
// else
// {
// //Fehler
// //int test = 0;
// }
//}
var klienten = new Dictionary<long, bool>();
foreach (var teilnehmer in alleTeilnehmer)
{
if (e.Value == null)
if (teilnehmer.CustomerOid == 0)
{
ausgewaehlterTeilnehmer.Notice.Notice = "";
int test = 0;
}
else
if (!klienten.ContainsKey(teilnehmer.CustomerOid))
{
ausgewaehlterTeilnehmer.Notice.Notice = e.Value.ToString();
klienten.Add(teilnehmer.CustomerOid, teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
}
_NoticesToUpdate.Add(ausgewaehlterTeilnehmer.Notice);
}
else
{
//var klienten = alleTeilnehmer.ToDictionary(teilnehmer => teilnehmer.CustomerOid, teilnehmer => (teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value)));
var bereich = (AdditionalServiceRegionDC) Angebotscombobox.SelectedItem;
var neueBuchung = new AdditionalServiceBookingDC
{
AdditionalServiceRegion = bereich,
CustomerOidDict = klienten,
EmployeeOidList = mitarbeiter,
Date = ausgewaehltesDatum,
StartDate = ausgewaehltesDatum,
EndDate = ausgewaehltesDatum.AddHours(23).AddMinutes(59).AddSeconds(59)
};
var tableView = (TableView)sender;
var spalten = (List<Teilnehmer>)tableView.Grid.ItemsSource;
var alleTeilnehmer = spalten.Select(s => s.Customer);
if(neueBuchung.EndDate.HasValue && neueBuchung.StartDate.HasValue)
{
var roundedDuration = Convert.ToDecimal((neueBuchung.EndDate.Value - neueBuchung.StartDate.Value).GetTotalMinutes());
neueBuchung.RoundedDuration = roundedDuration;
}
newShortAddAD.Add(neueBuchung);
var ausgewaehlterTag = Convert.ToInt32(e.Column.Header.ToString().Split('.')[0]);
var ausgewaehltesDatum = new DateTime(SelectedYear, (int)_SelectedMonth, ausgewaehlterTag);
var existiert = ausgewaehlterTeilnehmer.BookingRelation.Any(br => br.Value.Datum.Equals(ausgewaehltesDatum));
if (existiert) return;
if (_SelectedBookings.Any(vm => vm.Date.Equals(ausgewaehltesDatum)))
{
var btu = _SelectedBookings.First(vm => vm.Date.Equals(ausgewaehltesDatum));
if (btu.CustomerOidDict.ContainsKey(ausgewaehlterTeilnehmer.Customer.CustomerOid))
btu.CustomerOidDict.Remove(ausgewaehlterTeilnehmer.Customer.CustomerOid);
btu.CustomerOidDict.Add(ausgewaehlterTeilnehmer.Customer.CustomerOid, Convert.ToBoolean(e.Value));
_BookingsToUpdate.Add(btu.CommitToDataContract());
SaveBtn.IsEnabled = true;
return;
}
if (newShortAddAD.Any(ad => ad.Date.Equals(ausgewaehltesDatum)))
{
newShortAddAD.First(ad => ad.Date.Equals(ausgewaehltesDatum)).CustomerOidDict[ausgewaehlterTeilnehmer.Customer.CustomerOid] = Convert.ToBoolean(e.Value);
return;
}
var mitarbeiter = MultiEmployeeControlAddServ.SelectedEmployees.Select(emp => emp.EmployeeOid).ToList();
var temp = alleTeilnehmer.ToList();
//Dictionary<long, bool> klienten = new Dictionary<long, bool>();
//foreach (var customer in alleTeilnehmer)
//{
// if (!klienten.ContainsKey(customer.CustomerOid))
// {
// klienten.Add(customer.CustomerOid, customer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
// }
// else
// {
// //Fehler
// //int test = 0;
// }
//}
var klienten = new Dictionary<long, bool>();
foreach (var teilnehmer in alleTeilnehmer)
{
if (teilnehmer.CustomerOid == 0)
{
int test = 0;
}
if (!klienten.ContainsKey(teilnehmer.CustomerOid))
{
klienten.Add(teilnehmer.CustomerOid, teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
}
}
//var klienten = alleTeilnehmer.ToDictionary(teilnehmer => teilnehmer.CustomerOid, teilnehmer => (teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value)));
var bereich = (AdditionalServiceRegionDC)Angebotscombobox.SelectedItem;
var neueBuchung = new AdditionalServiceBookingDC
{
AdditionalServiceRegion = bereich,
CustomerOidDict = klienten,
EmployeeOidList = mitarbeiter,
Date = ausgewaehltesDatum,
StartDate = ausgewaehltesDatum,
EndDate = ausgewaehltesDatum.AddHours(23).AddMinutes(59).AddSeconds(59)
};
if (neueBuchung.EndDate.HasValue && neueBuchung.StartDate.HasValue)
{
var roundedDuration = Convert.ToDecimal((neueBuchung.EndDate.Value - neueBuchung.StartDate.Value).GetTotalMinutes());
neueBuchung.RoundedDuration = roundedDuration;
}
newShortAddAD.Add(neueBuchung);
}
SaveBtn.IsEnabled = true;
}
@@ -1144,11 +1044,6 @@ namespace BeWo.View.Detail
private void button_ADadd_Click(object sender, RoutedEventArgs e)
{
if (!CheckEditRight(true))
{
return;
}
if (AdditionalServiceBookings.NewVM == null ||
AdditionalServiceBookings.NewVM.CustomerOidDict == null)
return;
@@ -1280,7 +1175,7 @@ namespace BeWo.View.Detail
private bool IsGridDirty()
{
return _BookingsToUpdate.Count > 0 || newShortAddAD.Any() || _NoticesToUpdate.Count > 0 || _Customer2Delete.Count > 0;
return _BookingsToUpdate.Count > 0 || newShortAddAD.Any();
}
private void button_add_Click(object sender, RoutedEventArgs e)
@@ -1553,63 +1448,6 @@ namespace BeWo.View.Detail
{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
private void TableView_ShowingEditor(object sender, ShowingEditorEventArgs e)
{
if (!CheckEditRight(true))
{
e.Cancel = true;
e.Handled = true;
}
}
private void TableView_ShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void AddContextMenu(GridMenuEventArgs e)
{
var item = e.Source.DataControl.SelectedItem as Teilnehmer;
if (item != null)
{
e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
var btn = new BarButtonItem { Content = "Zeile löschen", Tag = item };
btn.ItemClick += DeleteRow_OnClick;
e.Customizations.Add(btn);
}
//if (tvm != null)
//{
// if (tvm.Absencetime != null)
// {
// e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
// var btn = new BarButtonItem { Content = "Abwesenheit löschen", Tag = tvm };
// btn.ItemClick += DeleteRow_OnClick;
// e.Customizations.Add(btn);
// }
//}
}
private void DeleteRow_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem)sender;
var item = barButtonItem.Tag as Teilnehmer;
if (item != null && MessageBox.Show(String.Format("Möchten Sie '{0}' wirklich aus der Liste entfernen?", item.Customer), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
_Customer2Delete.Add(item.Customer);
var teilnehmer = (List<Teilnehmer>)TeilnahmeGrid.ItemsSource;
teilnehmer.Remove(item);
TeilnahmeGrid.RefreshData();
SaveBtn.IsEnabled = true;
}
}
}
public class Teilnehmer
@@ -1658,12 +1496,9 @@ namespace BeWo.View.Detail
public bool ContainsOneRelationOnly { get; set; }
public AdditionalServiceNoticeDC Notice { get; set; }
public Teilnehmer(CompactCustomerDC customer, IList<bool> teilnahmen, Dictionary<long, BookingRelationDictionaryValue> bookingRelation, AdditionalServiceNoticeDC notice, bool containsOneRelationOnly = false)
public Teilnehmer(CompactCustomerDC customer, IList<bool> teilnahmen, Dictionary<long, BookingRelationDictionaryValue> bookingRelation, bool containsOneRelationOnly = false)
{
Customer = customer;
Notice = notice;
ContainsOneRelationOnly = containsOneRelationOnly;

View File

@@ -214,7 +214,7 @@ namespace BeWo.View.Detail
{
if (this.ViewModel.EditVM.Employee != null && !BeWoApp.LoggedOnUser.Employee.Equals(this.ViewModel.EditVM.Employee))
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
return;
}
}
@@ -225,7 +225,7 @@ namespace BeWo.View.Detail
{
if (!BeWoApp.LoggedOnUser.Employee.Equals(lSequence.Employee))
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
return;
}
}
@@ -526,7 +526,7 @@ namespace BeWo.View.Detail
{
if (this.ViewModel.EditVM.Employee != null && !BeWoApp.LoggedOnUser.Employee.Equals(this.ViewModel.EditVM.Employee))
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
return;
}
}
@@ -537,7 +537,7 @@ namespace BeWo.View.Detail
{
if (!BeWoApp.LoggedOnUser.Employee.Equals(lSequence.Employee))
{
MessageBox.Show(BS.SharedLauncher.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
MessageBox.Show(BS.Shared.Translation.Translator.Translate("Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!"), "BeWoPlaner", MessageBoxButton.OK);
return;
}
}

View File

@@ -5,7 +5,7 @@
xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe2="clr-namespace:DevExpress.XtraEditors;assembly=DevExpress.XtraEditors.v23.2"
xmlns:dxe2="clr-namespace:DevExpress.XtraEditors;assembly=DevExpress.XtraEditors.v23.1"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Budgets" Style="{StaticResource ObjectEditGroupBox}">

View File

@@ -0,0 +1,54 @@
<localView:BeWoView
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
x:Class="BeWo.View.Detail.BudgetView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe2="clr-namespace:DevExpress.XtraEditors;assembly=DevExpress.XtraEditors.v17.1"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Budgets" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label>Bezeichnung</Label>
<TextBox Grid.Column="1" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="2">Budget</Label>
<dxe:TextEdit Grid.Column="3" MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Height="23" Margin="3" EditValue="{val:ValidationBinding Path=NewVM.Betragshoehe, UpdateSourceTrigger=PropertyChanged}" />
<Button Name="button_addBudget" Click="Button_addBudget_Click" Grid.Column="4" Height="25" Margin="3,3,3,3" Padding="5 0" IsDefault="True" Content="Hinzufügen" />
<dxg:GridControl x:Name="DatagridRegions" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" IsEnabled="{Binding Path=EditValue}" FontFamily="Webdings" Click="DeleteButton_Click" Width="18" Height="18" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Name" Header="Bezeichnung" Width="200" />
<dxg:GridColumn FieldName="Betragshoehe" Header="Budget" Width="200" SortOrder="Ascending" SortIndex="0">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="##,###,##0.00" Mask="##,###,##0.00" MaskType="Numeric"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</GroupBox>
</localView:BeWoView>

View File

@@ -379,13 +379,15 @@
<Label Grid.Column="2" Grid.Row="2" Content="{markup:Translate Kinder}" />
<Label Grid.Column="2" Grid.Row="3" Content="{markup:Translate Eigenbeteiligung}" />
<Label Grid.Column="2" Grid.Row="4" Content="{markup:Translate Krankenkasse}" />
<Label Grid.Column="2" Grid.Row="5" Content="{markup:Translate Versichertennummer}" />
<Label Grid.Column="2" Grid.Row="6" Content="{markup:Translate Versichertenstatus}" />
<Label x:Name="lblArchiviert" Grid.Column="2" Grid.Row="7" Content="Archiviert" />
<Label Grid.Column="2" Grid.Row="5" Content="{markup:Translate Versicherungsnummer}" />
<Label x:Name="lblArchiviert" Grid.Column="2" Grid.Row="6" Content="Archiviert" />
<Label Grid.Column="0" Grid.Row="4" Content="Geschlecht" />
<Grid Grid.Column="1" Grid.Row="4" Margin="3" Height="23">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -472,9 +474,7 @@
Text="{Binding Path=HealthInsurance, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="3" Grid.Row="5" Margin="3" Height="23"
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="3" Grid.Row="6" Margin="3" Height="23"
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}" />
<CheckBox x:Name="chkArchiviert" Grid.Column="3" Grid.Row="7" Margin="3,5,3,1" Height="23"
<CheckBox x:Name="chkArchiviert" Grid.Column="3" Grid.Row="6" Margin="3,5,3,1" Height="23"
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Margin="3" Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="9"
Text="{Binding Path=Notice, UpdateSourceTrigger=PropertyChanged}" Height="100"
@@ -687,10 +687,10 @@
</StackPanel>
</GroupBox.Header>
<Grid>
<dxg:GridControl MouseDoubleClick="grid_possibleDiagnosis_MouseDoubleClick" Name="grid_possibleDiagnosis">
<dxg:GridControl.Columns>
<dxg:GridControl MouseDoubleClick="grid_possibleDiagnosis_MouseDoubleClick" Name="grid_possibleDiagnosis" >
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Key" FixedWidth="True" Width="70" AllowResizing="True"
AutoFilterCondition="Contains" Header="ICD 10" />
AutoFilterCondition="Contains" Header="ICD 10" />
<dxg:GridColumn FieldName="Value" AutoFilterCondition="Contains" Header="Beschreibung">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings TextWrapping="Wrap" />
@@ -899,7 +899,7 @@
</ScrollViewer>
</GroupBox>
</TabItem>
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewBetreuung" Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewBetreuung" Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid x:Name="grid_emplyeeRel">
<Grid.RowDefinitions>
@@ -1024,7 +1024,6 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -1044,21 +1043,15 @@
<uc:NullItemComboBox Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" Margin="3" Height="23"
ItemsSource="{Binding Path=EmployeeRelations.PossibleRoles}"
SelectedItem="{val:ValidationBinding Path=EmployeeRelations.NewVM.Role}" />
<Label Content="Startdatum" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" />
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" EditValue="{Binding Path=EmployeeRelations.NewVM.StartDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Height="23" Grid.Row="2" Margin="3" Width="100" HorizontalAlignment="Left"/>
<Label Content="Enddatum" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" />
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" EditValue="{Binding Path=EmployeeRelations.NewVM.EndDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Height="23" Grid.Row="3" Margin="3" Width="100" HorizontalAlignment="Left"/>
<Label Content="Notiz" Grid.Row="4" Grid.Column="0" VerticalAlignment="Top" />
<TextBox Grid.Row="4" Grid.Column="1" Height="50" Margin="3" Grid.ColumnSpan="2"
<Label Content="Notiz" Grid.Row="2" Grid.Column="0" VerticalAlignment="Top" />
<TextBox Grid.Row="2" Grid.Column="1" Height="50" Margin="3" Grid.ColumnSpan="2"
Text="{Binding Path=EmployeeRelations.NewVM.Notice, UpdateSourceTrigger=PropertyChanged}" />
<!--<Label Content="Chatpartner" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center"/>-->
<!--<CheckBox Grid.Row="3" Grid.Column="2" IsChecked="{Binding Path=EmployeeRelations.NewVM.Chatpartner, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Right" Margin="3"/>-->
<Button Grid.Row="5" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25"
<Button Grid.Row="4" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Hinzufügen" x:Name="button_addEmployeeRelation"
Click="button_addEmployeeRelation_Click" />
<Button Grid.Row="5" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="25"
<Button Grid.Row="4" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Abbrechen" x:Name="button_cancelEmployeeRelation"
Click="button_cancelEmployeeRelation_Click" />
</Grid>
@@ -1120,7 +1113,7 @@
</Grid>
</ScrollViewer>
</TabItem>
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewAbsenceTimes" Header="Abwesenheiten">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewAbsenceTimes" Header="Abwesenheiten">
<Grid>
<detail:AbsenceTimesView x:Name="AbsenceTimesView" AbsenceTimes="{Binding ViewModel.AbsenceTimes, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, ElementName=CustomerBeWoView}" />
</Grid>
@@ -1615,8 +1608,8 @@
</Hyperlink>
</TextBlock>
</StackPanel>
<Button Content="Bearbeiten" x:Name="ButtonAktuelleMedBearbeiten" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="EditMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Löschen" x:Name="ButtonAktuelleMedLoeschen" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Margin="3,0,0,0" Click="RemoveMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Bearbeiten" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="EditMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Löschen" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Margin="3,0,0,0" Click="RemoveMedVerordnungClick" VerticalAlignment="Center" />
</StackPanel>
<Grid x:Name="AktuelleMVRGrid" Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" />
</Grid>
@@ -1657,8 +1650,8 @@
</Hyperlink>
</TextBlock>
</StackPanel>
<Button Content="Bearbeiten" x:Name="ButtonBedarfMedBearbeiten" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="EditBedarfMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Löschen" x:Name="ButtonBedarfMedLoeschen" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Margin="3,0,0,0" Click="RemoveBedarfsMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Bearbeiten" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="EditBedarfMedVerordnungClick" VerticalAlignment="Center" />
<Button Content="Löschen" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Margin="3,0,0,0" Click="RemoveBedarfsMedVerordnungClick" VerticalAlignment="Center" />
</StackPanel>
<Grid x:Name="BedarfsMVRGrid" Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" />
</Grid>
@@ -1666,9 +1659,9 @@
<GroupBox x:Name="GroupBoxMedikamentenverordnungen" Header="Historie" Style="{StaticResource ObjectEditGroupBox}" />
</UniformGrid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="1">
<Button Content="Neu aus Bedarfsverordnung" x:Name="ButtonNeuAusBedarfsverordnung" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="MedVerAusBedarfsListeClick" Margin="3" />
<Button Content="Neu aus aktueller Verordnung" x:Name="ButtonNeuAusAktuellerVerordnung" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="MedVerAusListeClick" Margin="3" />
<Button Content="Neue Medikamentenverordnung" x:Name="ButtonNeueMedikamentenverordnung" Click="NeueMVLHinzufuegenClick" Margin="3" />
<Button Content="Neu aus Bedarfsverordnung" IsEnabled="{Binding Path=Bedarfsmedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="MedVerAusBedarfsListeClick" Margin="3" />
<Button Content="Neu aus aktueller Verordnung" IsEnabled="{Binding Path=AktuelleMedikamentenverordnungsliste, Converter={StaticResource BoolNullCheckConverter}}" Click="MedVerAusListeClick" Margin="3" />
<Button Content="Neue Medikamentenverordnung" Click="NeueMVLHinzufuegenClick" Margin="3" />
</StackPanel>
</Grid>
</TabItem>

View File

@@ -36,7 +36,7 @@ using System.Windows.Threading;
using BeWo.Annotations;
using BeWo.ownChat;
using BeWo.SchulbegleitenderDienst;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.XtraGrid;
using Binding = System.Windows.Data.Binding;
using Button = System.Windows.Controls.Button;
@@ -228,16 +228,6 @@ namespace BeWo.View.Detail
{
tabitem_Medikamentenverordnungen.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_EditMedication))
{
ButtonAktuelleMedBearbeiten.Visibility = Visibility.Collapsed;
ButtonAktuelleMedLoeschen.Visibility = Visibility.Collapsed;
ButtonBedarfMedBearbeiten.Visibility = Visibility.Collapsed;
ButtonBedarfMedLoeschen.Visibility = Visibility.Collapsed;
ButtonNeuAusBedarfsverordnung.Visibility = Visibility.Collapsed;
ButtonNeuAusAktuellerVerordnung.Visibility = Visibility.Collapsed;
ButtonNeueMedikamentenverordnung.Visibility = Visibility.Collapsed;
}
var l = new List<int>();
for (var i = 9; i >= 0; i--)
@@ -732,7 +722,7 @@ namespace BeWo.View.Detail
foreach (var liste in ViewModel.EmployeeRelations.VMList)
{
if (ViewModel.EmployeeRelations.NewVM.Employee != null && ViewModel.EmployeeRelations.NewVM.Employee.EmployeeOid == liste.Employee.EmployeeOid && ViewModel.EmployeeRelations.NewVM.Role.Equals(liste.Role))
if (ViewModel.EmployeeRelations.NewVM.Employee.EmployeeOid == liste.Employee.EmployeeOid && ViewModel.EmployeeRelations.NewVM.Role.Equals(liste.Role))
{
isEmployeeRolleVorhanden = true;
MessageBox.Show(Translator.Translate("Der/die Mitarbeiter/in wurde bereits mit dieser Rolle zugewiesen."), "Hinzufügen nicht möglich", MessageBoxButton.OK, MessageBoxImage.Exclamation);

View File

@@ -202,7 +202,7 @@ namespace BeWo.View.Detail
}
catch (FaultException<BeWoFault>)
{
MessageBox.Show("Dieser Datensatz wurde in der Zwischenzeit von " + BS.SharedLauncher.Translation.Translator.Translate("einem anderen Benutzer") + " geändert. Klicken Sie Ok um den Datansatz erneut zu laden. Ihre Änderungen gehen dabei leider verloren.");
MessageBox.Show("Dieser Datensatz wurde in der Zwischenzeit von " + BS.Shared.Translation.Translator.Translate("einem anderen Benutzer") + " geändert. Klicken Sie Ok um den Datansatz erneut zu laden. Ihre Änderungen gehen dabei leider verloren.");
this.ReloadViewModel(lDataContract.CustomerOid.Value);
}
}

View File

@@ -20,7 +20,7 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;

View File

@@ -70,13 +70,13 @@ namespace BeWo.View.Detail
public DebugWindowMessage(string messageText)
{
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss.fff}: {messageText}";
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss}: {messageText}";
CustomColor = Colors.Black;
}
public DebugWindowMessage(string messageText, Color customColor)
{
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss.fff}: {messageText}";
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss}: {messageText}";
CustomColor = customColor;
}
}

View File

@@ -72,7 +72,6 @@
<dxg:GridColumn FieldName="Betrag" Header="Stunden" Width="150" EditSettings="{dxe:TextSettings DisplayFormat=f2, Mask=f2, MaskType=Numeric}" />
<dxg:GridColumn x:Name="gridcolumn_auszahlungsart" FieldName="Auszahlungsart" Header="Art der Auszahlung" Width="150" />
<dxg:GridColumn FieldName="Notice" Header="Erläuterung" Width="550" />
<dxg:GridColumn FieldName="InsUser" Header="Angelegt von" Width="200" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
@@ -445,16 +444,16 @@
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">Vertragsbeginn</Label>
<Label Grid.Column="0" Grid.Row="2" Margin="3" VerticalAlignment="Center">Befristet bis</Label>
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Center">beschäftigt als</Label>
<Label Grid.Column="0" Grid.Row="4" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Stundensatz}" />
<Label Grid.Column="0" Grid.Row="4" Margin="3" VerticalAlignment="Center">Stundensatz</Label>
<Label Grid.Column="0" Grid.Row="5" Margin="3" VerticalAlignment="Center" Content="{markup:Translate FLS/Woche}" />
<Label Grid.Column="0" Grid.Row="6" Margin="3" VerticalAlignment="Center" Content="{markup:Translate FLS/Monat}" />
<Label Grid.Column="0" Grid.Row="7" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Gesamtstunden/Woche}" />
<Label Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Gesamtstunden/Monat}" />
<Label Grid.Column="0" Grid.Row="7" Margin="3" VerticalAlignment="Center">Gesamtstunden/Woche</Label>
<Label Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center">Gesamtstunden/Monat</Label>
<Label x:Name="lbl_ArbeitstageProWoche" Grid.Column="0" Grid.Row="9" Margin="3" VerticalAlignment="Center">Arbeitstage pro Woche</Label>
<Label Grid.Column="0" Grid.Row="10" Margin="3" VerticalAlignment="Center">Urlaubstage</Label>
<Label Grid.Column="0" Grid.Row="11" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Probezeit (Tage)}"></Label>
<Label Grid.Column="0" Grid.Row="12" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Probezeit (Monate)}"></Label>
<Label Grid.Column="0" Grid.Row="13" Margin="3" VerticalAlignment="Center" Content="{markup:Translate Künd.-frist (Tage)}" />
<Label Grid.Column="0" Grid.Row="13" Margin="3" VerticalAlignment="Center">Künd.-frist (Tage)</Label>
<Label Grid.Column="3" Grid.Row="0" Margin="3" VerticalAlignment="Center">Bemerkungen</Label>
@@ -469,10 +468,10 @@
<uc:NullItemComboBox x:Name="comboBox_HourlyRate" DisplayMemberPath="UnitName" ItemsSource="{Binding Path=AllHourlyRateCostRatePeriods}" Visibility="{Binding IsHourlyRateComboVisible, Converter={StaticResource BoolVisibilityConverter}}"
Grid.Column="1" Grid.Row="4" Margin="3" Height="23" SelectedValue="{Binding Path=HourlyRateCostRatePeriod, Mode=TwoWay}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="5" Margin="3" Height="23" AllowNullInput="True" EditValue="{Binding Path=WeeklyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" AllowNullInput="True" EditValue="{Binding Path=MonthlyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" AllowNullInput="True" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" AllowNullInput="True" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="5" Margin="3" Height="23" EditValue="{Binding Path=WeeklyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" EditValue="{Binding Path=MonthlyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" MaxValue="7" IsFloatValue="False" Grid.Column="1" Grid.Row="9" Margin="3" Height="23" EditValue="{Binding Path=WeeklyDays, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}"/>
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=EmploymentType.LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding EmploymentTypeLeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="False" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding LeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="True" />

View File

@@ -25,7 +25,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Grid;

View File

@@ -20,7 +20,7 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.SharedLauncher.Translation;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;

View File

@@ -131,8 +131,8 @@ namespace BeWo.View.Detail
TemplateTypeString = "Klienten";
ObjectListBox.Background = BeWoApp.CurrentBeWo.Resources["CustomerContentBrush"] as Brush;
fileType = FileAttachmentType.CustomerTemplate;
ChkShowOnlyMyObjects.Content = BS.SharedLauncher.Translation.Translator.Translate("Nur meine Klienten anzeigen");
ChkShowArchived.Content = BS.SharedLauncher.Translation.Translator.Translate("Archivierte Klienten anzeigen");
ChkShowOnlyMyObjects.Content = BS.Shared.Translation.Translator.Translate("Nur meine Klienten anzeigen");
ChkShowArchived.Content = BS.Shared.Translation.Translator.Translate("Archivierte Klienten anzeigen");
}
else if (templateType == typeof(PersonDC))
{

View File

@@ -9,9 +9,8 @@
VerticalAlignment="Stretch" Focusable="True">
<Grid x:Name="root">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -21,14 +20,9 @@
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
<ColumnDefinition Width="*" MaxWidth="420" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Name</Label>
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">IK Nummer (Leistungserbringer)</Label>
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}" />
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="1" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -51,7 +45,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<Grid x:Name="EinstellungenGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -94,7 +88,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -107,7 +101,6 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="430" />
@@ -137,17 +130,10 @@
<CheckBox Margin="3,5,3,5" Content="{markup:Translate Enddatum anzeigen}" IsChecked="{Binding Path=IsEndDateVisible}" Grid.ColumnSpan="2" Grid.Row="6" />
<CheckBox x:Name="EnableArbeitszeiterfassung" Margin="3,20,3,5" Content="{markup:Translate Arbeitszeit mit BeWoPlaner erfassen}" IsChecked="{Binding Path=EnableArbeitszeiterfassung}" Grid.ColumnSpan="2" Grid.Row="7" />
<CheckBox x:Name="EnableAutomaticPauses" Margin="3,5,3,5" Content="{markup:Translate Automatischer Pausenabzug}" IsChecked="{Binding Path=EnableAutomaticPauses}" Grid.ColumnSpan="2" Grid.Row="8" />
<CheckBox x:Name="EnableRestTimeWarning" Margin="3,5,3,5" Content="{markup:Translate Warnung bei nicht einhalten der Ruhezeit}" IsChecked="{Binding Path=EnableRestTimeWarning}" Grid.ColumnSpan="2" Grid.Row="9" />
<TextBlock x:Name="TextBlockShowWarning" Foreground="Black" Grid.Column="0" Grid.Row="10" Margin="3,5,3,5" TextWrapping="Wrap" VerticalAlignment="Center" Text="{markup:Translate Anzahl Stunden\, ab der eine Warnung angezeigt wird}"/>
<dxe:SpinEdit x:Name="SpinEditShowWarning" IsFloatValue="False" Value="10" MinValue="0" Grid.Column="1" Grid.Row="10" Margin="3,5,3,5" Height="23" EditValue="{Binding Path=MaxWorkTimeHoursBeforeWarning, Converter={StaticResource Int2DecimalConverter}}" />
</Grid>
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="5" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -190,7 +176,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="6" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="5" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -30,15 +30,6 @@ namespace BeWo.View.Detail
GroupOwnChatSettings.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.AppSettings.Arbeitszeiterfassung)
{
EnableArbeitszeiterfassung.Visibility = Visibility.Collapsed;
EnableAutomaticPauses.Visibility = Visibility.Collapsed;
EnableRestTimeWarning.Visibility = Visibility.Collapsed;
TextBlockShowWarning.Visibility = Visibility.Collapsed;
SpinEditShowWarning.Visibility = Visibility.Collapsed;
}
ComboZeiteinheit.ItemsSource = new List<String> { "Minuten", "Stunden", "Stunden und Minuten" };
if (viewModel.EinheitZeiterfassung.Equals("1"))

View File

@@ -71,7 +71,6 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -82,8 +81,8 @@
<TextBox Grid.Column="1" Margin="1" VerticalContentAlignment="Center" Text="{Binding ViewModel.NewVM.Description, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Column="2" Height="25" Content="Hinzufügen" Margin="3" Click="ZielHinzufuegenButton_Click" />
<Button Grid.Column="3" Height="25" Content="Icf Importieren" Margin="3" Click="IcfImport_Click" />
<ToggleButton Grid.Column="4" Height="25" Content="Bearbeiten" Margin="3" Checked="ToggleButton_Checked" Unchecked="ToggleButton_Unchecked" Visibility="Collapsed"/>
<StackPanel Orientation="Horizontal" Grid.Column="5" Grid.Row="0" Grid.ColumnSpan="10" HorizontalAlignment="Right" Visibility="Collapsed">
<ToggleButton Grid.Column="4" Height="25" Content="Bearbeiten" Margin="3" Checked="ToggleButton_Checked" Unchecked="ToggleButton_Unchecked" />
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="10" HorizontalAlignment="Right">
<Button x:Name="PrevButton" Height="25" Content="Prev" Margin="3" Click="PrevButton_Click" />
<Button x:Name="NextButton" Height="25" Content="Next" Margin="3" Click="NextButton_Click" />
</StackPanel>

Some files were not shown because too many files have changed in this diff Show More