Konflikte gelöst.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -10,6 +10,7 @@
|
||||
/BeWoPlanerMobil/bin
|
||||
/BeWoPlanerMobil/obj
|
||||
/Host/bin
|
||||
/Host/binRelease
|
||||
/Host/obj
|
||||
/Controls/bin
|
||||
/Controls/obj
|
||||
|
||||
208
BeWo/BeWo.csproj
208
BeWo/BeWo.csproj
@@ -39,16 +39,16 @@
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>true</UpdateRequired>
|
||||
<MapFileExtensions>false</MapFileExtensions>
|
||||
<InstallUrl>https://app.ownsoft.de/</InstallUrl>
|
||||
<InstallUrl>https://app.ownsoft.de/test/</InstallUrl>
|
||||
<TargetCulture>de-DE</TargetCulture>
|
||||
<ProductName>BeWoPlaner</ProductName>
|
||||
<PublisherName>ownSoft GmbH</PublisherName>
|
||||
<MinimumRequiredVersion>2.0.1.253</MinimumRequiredVersion>
|
||||
<MinimumRequiredVersion>2.0.1.258</MinimumRequiredVersion>
|
||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||
<WebPage>publish.htm</WebPage>
|
||||
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
|
||||
<TrustUrlParameters>true</TrustUrlParameters>
|
||||
<ApplicationRevision>254</ApplicationRevision>
|
||||
<ApplicationRevision>259</ApplicationRevision>
|
||||
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||
@@ -391,14 +391,26 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Controls\ComboBoxes\ComboBoxEmployeeSearch.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Controls\CustomerVermittlungArbeitControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Controls\Utils\ColorPicker.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Controls\Wohnhilfe\CustomerWohnhilfeControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\Administration\SoziotherapieSettingsView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\CustomerVermittlungArbeitView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -447,6 +459,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Document\SingleTemplateSelectionView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\HilfeplanImportView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -543,11 +559,11 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Detail\TemplatePrintSelection.xaml">
|
||||
<Page Include="View\Document\TemplatePrintSelection.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Detail\VorlageEditView.xaml">
|
||||
<Page Include="View\Document\VorlageEditView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
@@ -651,7 +667,7 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Master\DokumenteView.xaml">
|
||||
<Page Include="View\Document\DokumenteView.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Master\SchedulingMasterView.xaml">
|
||||
@@ -962,6 +978,8 @@
|
||||
<DependentUpon>BSLogoControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Converter\AnonymizationRight2VisibilityConverter.cs" />
|
||||
<Compile Include="Converter\ValidationToTooltipConverter.cs" />
|
||||
<Compile Include="Converter\ValidationToBrushConverter.cs" />
|
||||
<Compile Include="Converter\BooleanOrVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\BooleanAndVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\BoolNullCheckConverter.cs" />
|
||||
@@ -995,6 +1013,7 @@
|
||||
<Compile Include="Converter\StringLengthVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\TooltipTextConverter.cs" />
|
||||
<Compile Include="Converter\UserPermission2BoolConverter.cs" />
|
||||
<Compile Include="Converter\ValidationConverter.cs" />
|
||||
<Compile Include="Converter\ValueConverterGroup.cs" />
|
||||
<Compile Include="Core\AutoLockUI.cs" />
|
||||
<Compile Include="Core\BeWoUtils.cs" />
|
||||
@@ -1298,12 +1317,22 @@
|
||||
<Compile Include="ViewModel\OrganisationPersonRelationVM.cs" />
|
||||
<Compile Include="ViewModel\TextModuleVM.cs" />
|
||||
<Compile Include="ViewModel\VerordnungslistenVM.cs" />
|
||||
<Compile Include="View\Controls\ComboBoxes\ComboBoxEmployeeSearch.xaml.cs">
|
||||
<DependentUpon>ComboBoxEmployeeSearch.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Controls\ComboBoxes\ComboBoxGenericSearch.cs" />
|
||||
<Compile Include="View\Controls\CustomerVermittlungArbeitControl.xaml.cs">
|
||||
<DependentUpon>CustomerVermittlungArbeitControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Controls\Utils\ColorPicker.xaml.cs">
|
||||
<DependentUpon>ColorPicker.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Controls\Wohnhilfe\CustomerWohnhilfeControl.xaml.cs">
|
||||
<DependentUpon>CustomerWohnhilfeControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\Administration\SoziotherapieSettingsView.xaml.cs">
|
||||
<DependentUpon>SoziotherapieSettingsView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\CustomerVermittlungArbeitView.xaml.cs">
|
||||
<DependentUpon>CustomerVermittlungArbeitView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -1340,6 +1369,10 @@
|
||||
<Compile Include="View\Detail\Wohneinheit\WohneinheitVerwaltungViewV2.xaml.cs">
|
||||
<DependentUpon>WohneinheitVerwaltungViewV2.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Document\DokumentViewHelper.cs" />
|
||||
<Compile Include="View\Document\SingleTemplateSelectionView.xaml.cs">
|
||||
<DependentUpon>SingleTemplateSelectionView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\HilfeplanImportView.xaml.cs">
|
||||
<DependentUpon>HilfeplanImportView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -1427,10 +1460,10 @@
|
||||
<Compile Include="View\Detail\Suchergebnis.xaml.cs">
|
||||
<DependentUpon>Suchergebnis.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\TemplatePrintSelection.xaml.cs">
|
||||
<Compile Include="View\Document\TemplatePrintSelection.xaml.cs">
|
||||
<DependentUpon>TemplatePrintSelection.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\VorlageEditView.xaml.cs">
|
||||
<Compile Include="View\Document\VorlageEditView.xaml.cs">
|
||||
<DependentUpon>VorlageEditView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\RatingTypeView.xaml.cs">
|
||||
@@ -1511,7 +1544,7 @@
|
||||
<Compile Include="View\HomeView.xaml.cs">
|
||||
<DependentUpon>HomeView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Master\DokumenteView.xaml.cs">
|
||||
<Compile Include="View\Document\DokumenteView.xaml.cs">
|
||||
<DependentUpon>DokumenteView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Master\SchedulingMasterView.xaml.cs">
|
||||
@@ -2887,392 +2920,392 @@
|
||||
<ItemGroup>
|
||||
<PublishFile Include="Blacklight.Wpf.Controls">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Charts.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v23.2.Linq">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Office.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.PivotGrid.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Printing.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.RichEdit.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.RichEdit.v23.2.Export">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Sparkline.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Utils.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Accordion.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Charts.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Core.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Docking.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Layout.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Mvvm.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Ribbon.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Scheduler.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2013.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraBars.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraCharts.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraEditors.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraNavBar.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPivotGrid.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPrinting.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraReports.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Reporting">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraTreeList.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
</ItemGroup>
|
||||
@@ -3412,6 +3445,7 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Ressources\Icons\chatbot.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
<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/test/|https://app.ownsoft.de/dev/|http://app.ownsoft.de/dev/|http://app.beyondsoft.de/dev/</InstallUrlHistory>
|
||||
<InstallUrlHistory>https://app.ownsoft.de/test/|https://app.ownsoft.de/|https://app.ownsoft.de/dev/|http://app.ownsoft.de/dev/|http://app.beyondsoft.de/dev/</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>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableSecurityDebugging>false</EnableSecurityDebugging>
|
||||
|
||||
@@ -83,6 +83,16 @@
|
||||
<conv:EnumTranslationConverter x:Key="EnumTranslationConverter" />
|
||||
<conv:TooltipTextConverter x:Key="TooltipTextConverter" />
|
||||
|
||||
<conv:ValidationConverter x:Key="ValidationConverter" />
|
||||
<conv:ValueConverterGroup x:Key="Validation2BrushConverter">
|
||||
<conv:ValidationConverter />
|
||||
<conv:ValidationToBrushConverter />
|
||||
</conv:ValueConverterGroup>
|
||||
<conv:ValueConverterGroup x:Key="Validation2TooltipConverter">
|
||||
<conv:ValidationConverter />
|
||||
<conv:ValidationToTooltipConverter />
|
||||
</conv:ValueConverterGroup>
|
||||
|
||||
<conv:UserPermission2BoolConverter x:Key="UserPermission2BoolConverter" />
|
||||
<conv:ValueConverterGroup x:Key="UserPermission2ReverseBoolConverter">
|
||||
<conv:UserPermission2BoolConverter />
|
||||
|
||||
@@ -45,17 +45,19 @@ namespace BeWo
|
||||
{
|
||||
private static DebugMessageLogView _DebugMessageLogView;
|
||||
|
||||
|
||||
private static FrameworkElement _lockedContent;
|
||||
|
||||
public static LoginControl LoginControl;
|
||||
|
||||
public static MainControl MainControl;
|
||||
public static string ShortVersion = "3.22";
|
||||
public static string Version = "Version 3.22";
|
||||
public static string ShortVersion = "3.23";
|
||||
|
||||
public static string Version = "Version 3.24 TEST";
|
||||
|
||||
public static int RenderTier = 0;
|
||||
|
||||
public static bool IsInDesignMode = DesignerProperties.GetIsInDesignMode(new DependencyObject());
|
||||
|
||||
internal static string IpAddress = string.Empty;
|
||||
|
||||
internal static string Tenant = string.Empty;
|
||||
@@ -648,6 +650,11 @@ namespace BeWo
|
||||
AppSettings.ShowInfoButtonInCalender = showInfoButtonInCalender;
|
||||
|
||||
BS.Shared.Settings.ApplicationSettings.SupportConceptExpirationLimitInMonths = AppSettings.HilfeplanAuslaufAuswahl;
|
||||
|
||||
if(MainControl is object)
|
||||
{
|
||||
MainControl.UpdateMandator();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -862,6 +869,7 @@ namespace BeWo
|
||||
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.LastBewilligungSortOrder, _AppSettings.LastBewilligungSortOrder.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);
|
||||
@@ -976,6 +984,11 @@ namespace BeWo
|
||||
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
|
||||
}
|
||||
|
||||
public static void ShowInfoMessage(string message)
|
||||
{
|
||||
MessageBox.Show(message, "Information", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
}
|
||||
|
||||
public static void ShowErrorMessage(Exception e)
|
||||
{
|
||||
if (e is FaultException<BeWoFault>)
|
||||
@@ -1170,6 +1183,11 @@ namespace BeWo
|
||||
_AppSettings.LastKassenSortOrder = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastKassenSortOrder, settings));
|
||||
}
|
||||
|
||||
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastBewilligungSortOrder, settings);
|
||||
if (val != null)
|
||||
{
|
||||
_AppSettings.LastBewilligungSortOrder = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastBewilligungSortOrder, settings));
|
||||
}
|
||||
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, settings);
|
||||
if (val != null)
|
||||
{
|
||||
@@ -1294,12 +1312,17 @@ namespace BeWo
|
||||
foreach (var blubb in openWindowCollection)
|
||||
{
|
||||
var abc = (Window)blubb;
|
||||
var title = abc.Title;
|
||||
|
||||
if (!abc.Title.Equals("BeWoPlaner") && blubb.GetType() == typeof(WindowContentHolder))
|
||||
if (!title.Equals("BeWoPlaner") && blubb.GetType() == typeof(WindowContentHolder))
|
||||
{
|
||||
abc.Close();
|
||||
}
|
||||
else if (abc.Title.IndexOf("Popup") >= 0)
|
||||
else if (title.IndexOf("Popup") >= 0)
|
||||
{
|
||||
abc.Close();
|
||||
}
|
||||
else if (title.IndexOf("Druckvorschau") >= 0)
|
||||
{
|
||||
abc.Close();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace BeWo.Converter
|
||||
case GkvState.WaitingForDakota: return "Warte auf Übertragung";
|
||||
case GkvState.WaitingForKrankenkasse: return "Warte auf Gkv";
|
||||
case GkvState.WaitingForKrankenkasseTooLong: return "Keine Antwort von Gkv";
|
||||
case GkvState.WaitingForUrbelege: return "Sende Urbelege";
|
||||
case GkvState.WaitingForUrbelege: return "Urbelege per Post senden";
|
||||
}
|
||||
|
||||
return state.ToString();
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace BeWo.Converter
|
||||
if (value is null)
|
||||
return null;
|
||||
|
||||
return "Test";
|
||||
return value;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
|
||||
@@ -13,7 +13,12 @@ namespace BeWo.Converter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is GkvAbrechnungVM gkv)
|
||||
if (value is bool val_bool)
|
||||
{
|
||||
return val_bool ? null : parameter;
|
||||
}
|
||||
|
||||
if (value is GkvAbrechnungVM gkv)
|
||||
{
|
||||
if (parameter is string s)
|
||||
{
|
||||
@@ -29,6 +34,12 @@ namespace BeWo.Converter
|
||||
return invoice.IsGkvValidError;
|
||||
}
|
||||
|
||||
if (value is MandatorVM mandator)
|
||||
{
|
||||
return mandator.CanEditIKLeistungserbringerTooltip;
|
||||
}
|
||||
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
|
||||
@@ -14,20 +14,34 @@ namespace BeWo.Converter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is UserRightType type)
|
||||
try
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type);
|
||||
}
|
||||
if (value is UserRightType type)
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type);
|
||||
}
|
||||
|
||||
if (parameter is UserRightType type2)
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type2);
|
||||
}
|
||||
if (parameter is UserRightType type2)
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type2);
|
||||
}
|
||||
|
||||
if (parameter is string setting && !string.IsNullOrWhiteSpace(setting))
|
||||
if (parameter is string setting && !string.IsNullOrWhiteSpace(setting))
|
||||
{
|
||||
if (setting == SettingsKeys.AllowGkvAbrechnung)
|
||||
return BeWoApp.AppSettings.AllowGkvAbrechnung;
|
||||
|
||||
if (setting == SettingsKeys.ShowGkvBzEinzel)
|
||||
return BeWoApp.Mandator.ShowGkvBzEinzel;
|
||||
|
||||
if (setting == SettingsKeys.ShowGkvBzUrbelege)
|
||||
return BeWoApp.Mandator.ShowGkvBzUrbelege;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (setting == SettingsKeys.AllowGkvAbrechnung)
|
||||
return BeWoApp.AppSettings.AllowGkvAbrechnung;
|
||||
if (BeWoApp.IsInDesignMode)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
32
BeWo/Converter/ValidationConverter.cs
Normal file
32
BeWo/Converter/ValidationConverter.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is string val_str && parameter is ValidationType val_type)
|
||||
{
|
||||
return Validator.IsValid(val_type, val_str);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
34
BeWo/Converter/ValidationToBrushConverter.cs
Normal file
34
BeWo/Converter/ValidationToBrushConverter.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToBrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is null)
|
||||
{
|
||||
return Brushes.Black;
|
||||
}
|
||||
|
||||
if(value is bool val_bool)
|
||||
{
|
||||
return val_bool ? Brushes.Black : Brushes.Red;
|
||||
}
|
||||
|
||||
return Brushes.Blue;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
36
BeWo/Converter/ValidationToTooltipConverter.cs
Normal file
36
BeWo/Converter/ValidationToTooltipConverter.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToTooltipConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (value is bool val_bool && parameter is ValidationType val_type)
|
||||
{
|
||||
return val_bool ? null : Validator.InvalidTooltipTxt(val_type);
|
||||
}
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using BeWo.View.Navigation.Filter;
|
||||
using BS.Shared;
|
||||
using DevExpress.Xpf.Accordion;
|
||||
using DevExpress.Xpf.Scheduling;
|
||||
using DevExpress.XtraScheduler;
|
||||
|
||||
@@ -41,6 +42,8 @@ namespace BeWo.Core.Config
|
||||
|
||||
private int mLastKassenSortOrder = 1;
|
||||
|
||||
private int mLastBewilligungSortOrder = 0;
|
||||
|
||||
private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
|
||||
|
||||
public enum WindowStateType
|
||||
@@ -352,6 +355,20 @@ namespace BeWo.Core.Config
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int LastBewilligungSortOrder
|
||||
{
|
||||
get { return mLastBewilligungSortOrder; }
|
||||
|
||||
set
|
||||
{
|
||||
if (mLastBewilligungSortOrder != value)
|
||||
{
|
||||
mLastBewilligungSortOrder = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -421,6 +438,8 @@ namespace BeWo.Core.Config
|
||||
public bool ShowPivotGrid { get; set; }
|
||||
|
||||
public string ExpandedAdministrationItems { get; set; }
|
||||
public string SelectedAdministrationItem { get; set; }
|
||||
|
||||
public bool ShowUrlaubsplanung { get; set; }
|
||||
public bool DontShowSpitzabrechnung { get; set; }
|
||||
public bool ShowDienstplanung { get; set; }
|
||||
|
||||
@@ -125,9 +125,9 @@ namespace BeWo
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Finance,
|
||||
SelectIndex = 8,
|
||||
Username = "m1",
|
||||
Password = "bewobewo",
|
||||
Profilename = "5000000000"
|
||||
//Username = "m1",
|
||||
//Password = "bewobewo",
|
||||
//Profilename = "5000000000"
|
||||
});
|
||||
|
||||
return name2config;
|
||||
|
||||
@@ -61,9 +61,9 @@
|
||||
HorizontalAlignment="Stretch"
|
||||
Grid.IsSharedSizeScope="True">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="150" />
|
||||
<ColumnDefinition x:Name="column2" Width="150" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
@@ -71,8 +71,9 @@
|
||||
</Grid.RowDefinitions>
|
||||
<!--<Frame x:Name="chatFrame" Grid.Column="2" Grid.Row="0" />-->
|
||||
<TextBlock
|
||||
x:Name="txt_logo"
|
||||
Width="Auto"
|
||||
Margin="5,2,0,0"
|
||||
Margin="5,2,5,2"
|
||||
HorizontalAlignment="Center">
|
||||
<Hyperlink
|
||||
Foreground="Transparent"
|
||||
@@ -99,7 +100,35 @@
|
||||
</InlineUIContainer>
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
|
||||
<TextBlock
|
||||
x:Name="txt_logo2"
|
||||
Width="Auto"
|
||||
Margin="5,2,5,2"
|
||||
HorizontalAlignment="Center">
|
||||
<Hyperlink
|
||||
x:Name="hyperlink_2"
|
||||
Foreground="Transparent"
|
||||
RequestNavigate="Hyperlink_OnRequestNavigate"
|
||||
TargetName="newWindow">
|
||||
<InlineUIContainer>
|
||||
<Image
|
||||
x:Name="image2"
|
||||
Width="130"
|
||||
HorizontalAlignment="Left"
|
||||
RenderTransformOrigin="0.5,0.5"
|
||||
Style="{StaticResource toolbarImageStyle}">
|
||||
<Image.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Image.RenderTransform>
|
||||
</Image>
|
||||
</InlineUIContainer>
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<!--<TextBlock HorizontalAlignment="Right" Width="Auto" Margin="0,2,5,0" Grid.Column="2">
|
||||
<Hyperlink NavigateUri="http://www.bewoplaner.de" TargetName="newWindow" Foreground="Transparent" RequestNavigate="Hyperlink_OnRequestNavigate">
|
||||
<InlineUIContainer>
|
||||
|
||||
@@ -22,11 +22,13 @@ using BeWo.ServiceProxy;
|
||||
using BeWo.View;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Zeiterfassung;
|
||||
using BeWo.View.Document;
|
||||
using BeWo.View.Master;
|
||||
using BeWo.View.Navigation;
|
||||
using BeWo.ViewModel;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
@@ -51,7 +53,8 @@ namespace BeWo
|
||||
Vertretungen,
|
||||
CustomerTeam,
|
||||
Scheduling,
|
||||
Finance
|
||||
Finance,
|
||||
Administration
|
||||
}
|
||||
|
||||
public partial class MainControl
|
||||
@@ -167,6 +170,8 @@ namespace BeWo
|
||||
#if DEBUG
|
||||
//DebugHelperViewButton.Visibility = Visibility.Visible;
|
||||
#endif
|
||||
|
||||
UpdateMandator();
|
||||
}
|
||||
|
||||
public List<ModalViewWindow> OpenedModalViewWindows { get; set; }
|
||||
@@ -246,6 +251,9 @@ namespace BeWo
|
||||
|
||||
private BeWoView GetViewForUIContext(UIContext uiContext)
|
||||
{
|
||||
if (uiContext == UIContext.Administration)
|
||||
return new AdministrationView();
|
||||
|
||||
if (!_Views.ContainsKey(uiContext))
|
||||
{
|
||||
BeWoView view = null;
|
||||
@@ -783,6 +791,42 @@ namespace BeWo
|
||||
}, (s, e) => e.CanExecute = _CurrentDetailView != null));
|
||||
}
|
||||
|
||||
internal void UpdateMandator()
|
||||
{
|
||||
if (BeWoApp.Mandator is null)
|
||||
return;
|
||||
|
||||
var url = BeWoApp.Mandator.Website.ToNullIfEmpty();
|
||||
|
||||
var haslogo = BeWoApp.Mandator.Logo?.Original is object;
|
||||
|
||||
if (haslogo)
|
||||
{
|
||||
image2.Source = Utils.CreateBitmapImageFromByteArray(BeWoApp.Mandator.Logo.Original);
|
||||
|
||||
Grid.SetColumn(txt_logo, 2);
|
||||
txt_logo2.Visibility = Visibility.Visible;
|
||||
|
||||
if(Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out Uri res))
|
||||
{
|
||||
hyperlink_2.NavigateUri = res;
|
||||
}
|
||||
else
|
||||
{
|
||||
hyperlink_2.NavigateUri = null;
|
||||
}
|
||||
|
||||
column2.Width = new GridLength(1, GridUnitType.Auto);
|
||||
}
|
||||
else
|
||||
{
|
||||
Grid.SetColumn(txt_logo, 0);
|
||||
txt_logo2.Visibility = Visibility.Collapsed;
|
||||
|
||||
column2.Width = new GridLength(150);
|
||||
}
|
||||
}
|
||||
|
||||
private void NavigateToParentView(BeWoView beWoView)
|
||||
{
|
||||
if (beWoView is CustomerNavigationView && !_Views.ContainsKey(UIContext.Customer))
|
||||
@@ -913,7 +957,7 @@ namespace BeWo
|
||||
{
|
||||
if (DoSaveCheck())
|
||||
{
|
||||
NavigateTo(new AdministrationView());
|
||||
NavigateTo(GetViewForUIContext(UIContext.Administration));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1188,7 +1232,13 @@ namespace BeWo
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
// Hier Token anfordern; Hier nicht notwendig -> Link auf www.beyondsoft.de
|
||||
Process.Start(new ProcessStartInfo((sender as Hyperlink).NavigateUri.ToString()));
|
||||
|
||||
var url = (sender as Hyperlink).NavigateUri.ToString();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(url))
|
||||
return;
|
||||
|
||||
Process.Start(new ProcessStartInfo(url));
|
||||
}
|
||||
|
||||
private void button_Support_Click(object sender, RoutedEventArgs e)
|
||||
@@ -1796,5 +1846,5 @@ namespace BeWo
|
||||
NavigateTo(GetViewForUIContext(UIContext.Scheduling));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1892,6 +1892,8 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.List<string>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
|
||||
@@ -2064,6 +2066,7 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.BankAccountDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))]
|
||||
@@ -4815,6 +4818,12 @@ namespace BeWo.ServiceProxy
|
||||
"ultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool> OverlappingAppointmentsExistForMultiple(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinder", ReplyAction="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderRespo" +
|
||||
"nse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderBeWoF" +
|
||||
"aultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/DeactivateResource", ReplyAction="http://tempuri.org/IResourceService/DeactivateResourceResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/DeactivateResourceBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
void DeactivateResource(long pOid, long pVersion);
|
||||
@@ -5154,6 +5163,11 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.OverlappingAppointmentsExistForMultiple(appointments);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends)
|
||||
{
|
||||
return base.Channel.FindAppointmentsInRangeForIntervalFinder(duration, startDate, endDate, resourceOids, customerOids, employeeOids, loggedInEmployeeOid, intervalBuffer, skipWeekends);
|
||||
}
|
||||
|
||||
public void DeactivateResource(long pOid, long pVersion)
|
||||
{
|
||||
base.Channel.DeactivateResource(pOid, pVersion);
|
||||
@@ -5480,6 +5494,19 @@ namespace BeWo.ServiceProxy
|
||||
public interface IOperationsService
|
||||
{
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginated", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginatedResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginatedBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsWithStartEndDatePaginated(out int rowCount, long pEmployeeOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2Paginated", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2PaginatedRespons" +
|
||||
"e")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2PaginatedBeWoFau" +
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecords2Paginated(out int rowCount, long pEmployeeOid, System.Nullable<long> days, int firstResult, int maxResults);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetCustomerServiceRecordsWithStartEndDatePa" +
|
||||
"ginated", ReplyAction="http://tempuri.org/IOperationsService/GetCustomerServiceRecordsWithStartEndDatePa" +
|
||||
"ginatedResponse")]
|
||||
@@ -5592,6 +5619,10 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertTemplateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.DokumentvorlageDC InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForTemplate", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForTemplateResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForTemplateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForTemplate(BS.Shared.DataContracts.VorlagentabelleDC vt);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConcept", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
@@ -5617,6 +5648,10 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetDokumentvorlagenInFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.DokumentvorlageDC> GetDokumentvorlagenInFolder(long folderOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetDokumentvorlagenForType", ReplyAction="http://tempuri.org/IOperationsService/GetDokumentvorlagenForTypeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetDokumentvorlagenForTypeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.DokumentvorlageDC> GetDokumentvorlagenForType(BS.Shared.TableID objecTid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetSupportConceptsById", ReplyAction="http://tempuri.org/IOperationsService/GetSupportConceptsByIdResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetSupportConceptsByIdBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptDC> GetSupportConceptsById(System.Collections.Generic.List<long> idList);
|
||||
@@ -6135,6 +6170,8 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.List<string>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
|
||||
@@ -6307,6 +6344,7 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Invoicing.BankAccountDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))]
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))]
|
||||
@@ -6365,19 +6403,6 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.QueryDC>))]
|
||||
string GetDakotaFileFormat(object param);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginated", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginatedResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
|
||||
"aginatedBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsWithStartEndDatePaginated(out int rowCount, long pEmployeeOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2Paginated", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2PaginatedRespons" +
|
||||
"e")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecords2PaginatedBeWoFau" +
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecords2Paginated(out int rowCount, long pEmployeeOid, System.Nullable<long> days, int firstResult, int maxResults);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/AnonymizeEmployee", ReplyAction="http://tempuri.org/IOperationsService/AnonymizeEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/AnonymizeEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
void AnonymizeEmployee(long pEmployeeOid);
|
||||
@@ -7561,6 +7586,16 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsWithStartEndDatePaginated(out int rowCount, long pEmployeeOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults)
|
||||
{
|
||||
return base.Channel.GetEmployeesServiceRecordsWithStartEndDatePaginated(out rowCount, pEmployeeOid, start, ende, firstResult, maxResults);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecords2Paginated(out int rowCount, long pEmployeeOid, System.Nullable<long> days, int firstResult, int maxResults)
|
||||
{
|
||||
return base.Channel.GetEmployeesServiceRecords2Paginated(out rowCount, pEmployeeOid, days, firstResult, maxResults);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetCustomerServiceRecordsWithStartEndDatePaginated(out int rowCount, long pCustomerOid, long costbearer2SupportConceptOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults)
|
||||
{
|
||||
return base.Channel.GetCustomerServiceRecordsWithStartEndDatePaginated(out rowCount, pCustomerOid, costbearer2SupportConceptOid, start, ende, firstResult, maxResults);
|
||||
@@ -7671,6 +7706,11 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.InsertTemplate(dc);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForTemplate(BS.Shared.DataContracts.VorlagentabelleDC vt)
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForTemplate(vt);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForSupportConcept();
|
||||
@@ -7701,6 +7741,11 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetDokumentvorlagenInFolder(folderOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.DokumentvorlageDC> GetDokumentvorlagenForType(BS.Shared.TableID objecTid)
|
||||
{
|
||||
return base.Channel.GetDokumentvorlagenForType(objecTid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptDC> GetSupportConceptsById(System.Collections.Generic.List<long> idList)
|
||||
{
|
||||
return base.Channel.GetSupportConceptsById(idList);
|
||||
@@ -7931,16 +7976,6 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetDakotaFileFormat(param);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsWithStartEndDatePaginated(out int rowCount, long pEmployeeOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults)
|
||||
{
|
||||
return base.Channel.GetEmployeesServiceRecordsWithStartEndDatePaginated(out rowCount, pEmployeeOid, start, ende, firstResult, maxResults);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecords2Paginated(out int rowCount, long pEmployeeOid, System.Nullable<long> days, int firstResult, int maxResults)
|
||||
{
|
||||
return base.Channel.GetEmployeesServiceRecords2Paginated(out rowCount, pEmployeeOid, days, firstResult, maxResults);
|
||||
}
|
||||
|
||||
public void AnonymizeEmployee(long pEmployeeOid)
|
||||
{
|
||||
base.Channel.AnonymizeEmployee(pEmployeeOid);
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.ServiceModel;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
using BeWo.Multitenancy;
|
||||
@@ -75,17 +76,14 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
DoAsync<AccountingServiceClient, IAccountingService, T>(pFunc, pCallBack, true);
|
||||
}
|
||||
|
||||
public static void DoAccountingServiceAsync(Action<IAccountingService> pAction)
|
||||
{
|
||||
DoAsync<AccountingServiceClient, IAccountingService>(pAction, true);
|
||||
}
|
||||
|
||||
public static void DoAccountingServiceAsync(Action<IAccountingService> pAction, Action callback)
|
||||
{
|
||||
DoAsync<AccountingServiceClient, IAccountingService>(pAction, callback, true);
|
||||
}
|
||||
|
||||
public static T DoAccountingServiceSync<T>(Func<IAccountingService, T> pFunc)
|
||||
{
|
||||
try
|
||||
@@ -99,19 +97,16 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
return default(T);
|
||||
}
|
||||
|
||||
public static void DoAnalysisServiceAsync<T>(Func<IAnalysisService, T> pFunc, Action<T> pCallBack)
|
||||
{
|
||||
DoAsync<AnalysisServiceClient, IAnalysisService, T>(pFunc, pCallBack, true);
|
||||
|
||||
}
|
||||
|
||||
public static void DoAnalysisServiceAsync<T>(Func<IAnalysisService, T> pFunc, Action<T> pCallBack, bool showWaitDialog)
|
||||
{
|
||||
DoAsync<AnalysisServiceClient, IAnalysisService, T>(pFunc, pCallBack, showWaitDialog);
|
||||
|
||||
}
|
||||
|
||||
public static void DoAccountingServiceSync(Action<IAccountingService> pAction)
|
||||
{
|
||||
pAction.Invoke(GetInstance<AccountingServiceClient, IAccountingService>());
|
||||
@@ -806,17 +801,6 @@ namespace BeWo.ServiceProxy
|
||||
}
|
||||
}
|
||||
|
||||
private static void EndWaiting()
|
||||
{
|
||||
Monitor.Enter(_Lock);
|
||||
if ((--_RunningAsyncs) == 0 && BeWoApp.MainControl != null)
|
||||
{
|
||||
BeWoApp.MainControl.EndWaiting();
|
||||
}
|
||||
|
||||
Monitor.Exit(_Lock);
|
||||
}
|
||||
|
||||
private static TInterface GetInstance<TClient, TInterface>()
|
||||
where TClient : ClientBase<TInterface>, TInterface, new()
|
||||
where TInterface : class
|
||||
@@ -878,7 +862,7 @@ namespace BeWo.ServiceProxy
|
||||
BeWoApp.ShowErrorMessage(e);
|
||||
}
|
||||
|
||||
private static void StartWaiting()
|
||||
private static void StartWaiting()
|
||||
{
|
||||
Monitor.Enter(_Lock);
|
||||
if ((++_RunningAsyncs) == 1 && BeWoApp.MainControl != null)
|
||||
@@ -889,5 +873,49 @@ namespace BeWo.ServiceProxy
|
||||
Monitor.Exit(_Lock);
|
||||
}
|
||||
|
||||
private static void EndWaiting()
|
||||
{
|
||||
Monitor.Enter(_Lock);
|
||||
if ((--_RunningAsyncs) == 0 && BeWoApp.MainControl != null)
|
||||
{
|
||||
BeWoApp.MainControl.EndWaiting();
|
||||
}
|
||||
|
||||
Monitor.Exit(_Lock);
|
||||
}
|
||||
|
||||
//public static bool IsWaiting()
|
||||
//{
|
||||
// return _RunningAsyncs != 0;
|
||||
//}
|
||||
//public static void WaitUntilAsyncIsFinished(Action<bool> callback = null)
|
||||
//{
|
||||
// if (!IsWaiting())
|
||||
// {
|
||||
// callback(true);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// try
|
||||
// {
|
||||
// Task.Run(() => WaitUntil(() => !IsWaiting(), callback));
|
||||
// }
|
||||
// catch(Exception)
|
||||
// {
|
||||
// callback(false);
|
||||
// }
|
||||
//}
|
||||
//private static async Task WaitUntil(Func<bool> condition, Action<bool> callback, int frequency = 25, int timeout = -1)
|
||||
//{
|
||||
// var waitTask = Task.Run(async () =>
|
||||
// {
|
||||
// while (!condition()) await Task.Delay(frequency);
|
||||
// callback(true);
|
||||
// });
|
||||
|
||||
// if (waitTask != await Task.WhenAny(waitTask,
|
||||
// Task.Delay(timeout)))
|
||||
// throw new TimeoutException();
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -2515,7 +2515,7 @@
|
||||
x:Name="PART_NewButton"
|
||||
Grid.Column="2"
|
||||
Width="{Binding Path=ActualHeight, RelativeSource={RelativeSource Self}}"
|
||||
Height="20"
|
||||
Height="18"
|
||||
Margin="1,0,1,0"
|
||||
Padding="0"
|
||||
VerticalAlignment="Stretch"
|
||||
@@ -2537,7 +2537,7 @@
|
||||
x:Name="PART_DeleteButton"
|
||||
Grid.Column="3"
|
||||
Width="{Binding Path=ActualHeight, RelativeSource={RelativeSource Self}}"
|
||||
Height="20"
|
||||
Height="18"
|
||||
Margin="1,0,1,0"
|
||||
Padding="0"
|
||||
VerticalAlignment="Stretch"
|
||||
|
||||
@@ -10,194 +10,198 @@ using BS.Shared;
|
||||
|
||||
namespace BeWo.View
|
||||
{
|
||||
public class BeWoView : UserControl
|
||||
{
|
||||
public Action ModalEditViewUpdateCallback;
|
||||
public class BeWoView : UserControl
|
||||
{
|
||||
public Action ModalEditViewUpdateCallback;
|
||||
|
||||
public virtual bool IsDoneWithInsertOrUpdate { get; set; }
|
||||
public virtual bool IsDoneWithInsertOrUpdate { get; set; }
|
||||
|
||||
public event EventHandler BlendOutComplete;
|
||||
public event EventHandler BlendOutComplete;
|
||||
|
||||
public virtual bool CanDelete
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public virtual bool CanDelete
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool CanExcelExport
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public virtual bool CanExcelExport
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool CanWordExport
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public virtual bool CanWordExport
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public virtual bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual BeWoView ParentView { get; set; }
|
||||
public virtual BeWoView ParentView { get; set; }
|
||||
|
||||
public virtual string SaveObjectName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.Title;
|
||||
}
|
||||
}
|
||||
public virtual string SaveObjectName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.Title;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
public virtual string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsInWindow { get; set; }
|
||||
public virtual bool IsInWindow { get; set; }
|
||||
|
||||
internal virtual DependencyObject ValidationOnSaveRootElement
|
||||
{
|
||||
get
|
||||
{
|
||||
return this;
|
||||
}
|
||||
}
|
||||
internal virtual DependencyObject ValidationOnSaveRootElement
|
||||
{
|
||||
get
|
||||
{
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
protected MainControl MainControl
|
||||
{
|
||||
get
|
||||
{
|
||||
return BeWoApp.MainControl;
|
||||
}
|
||||
}
|
||||
protected MainControl MainControl
|
||||
{
|
||||
get
|
||||
{
|
||||
return BeWoApp.MainControl;
|
||||
}
|
||||
}
|
||||
|
||||
public void BlendIn()
|
||||
{
|
||||
DoubleAnimation lAnim = new DoubleAnimation(1, new Duration(TimeSpan.FromSeconds(0.3)));
|
||||
this.BeginAnimation(OpacityProperty, lAnim);
|
||||
}
|
||||
public void BlendIn()
|
||||
{
|
||||
DoubleAnimation lAnim = new DoubleAnimation(1, new Duration(TimeSpan.FromSeconds(0.3)));
|
||||
this.BeginAnimation(OpacityProperty, lAnim);
|
||||
}
|
||||
|
||||
public void BlendOut()
|
||||
{
|
||||
DoubleAnimation lAnim = new DoubleAnimation(0, new Duration(TimeSpan.FromSeconds(0.3)));
|
||||
lAnim.Completed += (s, e) =>
|
||||
{
|
||||
if (this.BlendOutComplete != null)
|
||||
{
|
||||
this.BlendOutComplete(this, e);
|
||||
}
|
||||
};
|
||||
this.BeginAnimation(OpacityProperty, lAnim);
|
||||
}
|
||||
public void BlendOut()
|
||||
{
|
||||
DoubleAnimation lAnim = new DoubleAnimation(0, new Duration(TimeSpan.FromSeconds(0.3)));
|
||||
lAnim.Completed += (s, e) =>
|
||||
{
|
||||
if (this.BlendOutComplete != null)
|
||||
{
|
||||
this.BlendOutComplete(this, e);
|
||||
}
|
||||
};
|
||||
this.BeginAnimation(OpacityProperty, lAnim);
|
||||
}
|
||||
|
||||
public virtual void Delete()
|
||||
{
|
||||
}
|
||||
public virtual void Delete()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void ExportToExcel(string pFileID)
|
||||
{
|
||||
}
|
||||
public virtual void ExportToExcel(string pFileID)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void ExportToWord(string pFileID)
|
||||
{
|
||||
}
|
||||
public virtual void ExportToWord(string pFileID)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void ModalPopUpCloseInvoked()
|
||||
{
|
||||
}
|
||||
public virtual void ModalPopUpCloseInvoked()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void ModalPopUpSaveInvoked()
|
||||
{
|
||||
}
|
||||
public virtual void ModalPopUpSaveInvoked()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void ChildViewClosed()
|
||||
{
|
||||
}
|
||||
public virtual void ChildViewClosed()
|
||||
{
|
||||
}
|
||||
|
||||
public bool SaveData()
|
||||
{
|
||||
if (!BeWoApp.HasLoggedOnUserRight(this.GetSaveDemands()))
|
||||
{
|
||||
MessageBox.Show("Sie besitzen nicht die nötigen Rechte um zu speichern. Bitte wenden Sie sich an den Administrator!", "Autorisierung fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
return false;
|
||||
}
|
||||
public bool SaveData()
|
||||
{
|
||||
if (!BeWoApp.HasLoggedOnUserRight(this.GetSaveDemands()))
|
||||
{
|
||||
MessageBox.Show("Sie besitzen nicht die nötigen Rechte um zu speichern. Bitte wenden Sie sich an den Administrator!", "Autorisierung fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
return false;
|
||||
}
|
||||
|
||||
var lValid = ValidationTrigger.Validate(this.ValidationOnSaveRootElement);
|
||||
if (lValid)
|
||||
{
|
||||
Save();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Bitte füllen Sie alle Pflichtfelder aus!", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
}
|
||||
var lValid = ValidationTrigger.Validate(this.ValidationOnSaveRootElement);
|
||||
if (lValid)
|
||||
{
|
||||
Save();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Bitte füllen Sie alle Pflichtfelder aus!", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
}
|
||||
|
||||
return lValid;
|
||||
}
|
||||
return lValid;
|
||||
}
|
||||
|
||||
public virtual MessageBoxResult ShowSaveQuestion()
|
||||
{
|
||||
return string.IsNullOrEmpty(this.SaveObjectName) ? MessageBox.Show("Wollen Sie die Änderungen speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question) : MessageBox.Show("Wollen Sie die Änderungen an " + this.SaveObjectName + " speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
|
||||
}
|
||||
public virtual MessageBoxResult ShowSaveQuestion()
|
||||
{
|
||||
return string.IsNullOrEmpty(this.SaveObjectName) ? MessageBox.Show("Wollen Sie die Änderungen speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question) : MessageBox.Show("Wollen Sie die Änderungen an " + this.SaveObjectName + " speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
|
||||
}
|
||||
|
||||
internal virtual bool DoSaveCheck()
|
||||
{
|
||||
if (this.IsDirty)
|
||||
{
|
||||
MessageBoxResult lResult = this.ShowSaveQuestion();
|
||||
if (lResult == MessageBoxResult.Cancel)
|
||||
{
|
||||
this.Focus();
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gibt false zurück, wenn Speicherfrage abgelehnt wird, sonst true
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
internal virtual bool DoSaveCheck()
|
||||
{
|
||||
if (!IsDirty)
|
||||
return true;
|
||||
|
||||
if (lResult == MessageBoxResult.Yes)
|
||||
{
|
||||
this.SaveData();
|
||||
}
|
||||
}
|
||||
MessageBoxResult lResult = this.ShowSaveQuestion();
|
||||
if (lResult == MessageBoxResult.Cancel)
|
||||
{
|
||||
this.Focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
if (lResult == MessageBoxResult.Yes)
|
||||
{
|
||||
this.SaveData();
|
||||
}
|
||||
|
||||
protected virtual UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected virtual UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
protected virtual void Save()
|
||||
{
|
||||
}
|
||||
protected virtual void Save()
|
||||
{
|
||||
}
|
||||
|
||||
protected bool Validate(DependencyObject lElement)
|
||||
{
|
||||
return ValidationTrigger.Validate(lElement);
|
||||
}
|
||||
protected bool Validate(DependencyObject lElement)
|
||||
{
|
||||
return ValidationTrigger.Validate(lElement);
|
||||
}
|
||||
|
||||
protected virtual void popup_Closed(object sender, EventArgs e)
|
||||
{
|
||||
this.MainControl.AnimateOpacity(1, 100);
|
||||
}
|
||||
protected virtual void popup_Closed(object sender, EventArgs e)
|
||||
{
|
||||
this.MainControl.AnimateOpacity(1, 100);
|
||||
}
|
||||
|
||||
protected virtual void popup_Opened(object sender, EventArgs e)
|
||||
{
|
||||
this.MainControl.AnimateOpacity(0.5, 200);
|
||||
}
|
||||
}
|
||||
protected virtual void popup_Opened(object sender, EventArgs e)
|
||||
{
|
||||
this.MainControl.AnimateOpacity(0.5, 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,22 @@
|
||||
<Window x:Class="BeWo.View.BeWoWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner" MinHeight="300" MinWidth="300"
|
||||
WindowStyle="None"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
ResizeMode="CanResizeWithGrip" Closing="Window_Closing" Closed="Window_Closed">
|
||||
<Window
|
||||
x:Class="BeWo.View.BeWoWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner"
|
||||
MinWidth="300"
|
||||
MinHeight="300"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
Closed="Window_Closed"
|
||||
Closing="Window_Closing"
|
||||
ResizeMode="CanResizeWithGrip"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
WindowStyle="None">
|
||||
<Grid>
|
||||
<GroupBox x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown" MouseDoubleClick="RootGroupBox_OnMouseDoubleClick">
|
||||
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
x:Name="rootGroupBox"
|
||||
MouseDoubleClick="RootGroupBox_OnMouseDoubleClick"
|
||||
MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown"
|
||||
Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" />
|
||||
</Grid>
|
||||
</Window>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -12,7 +13,7 @@ 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)
|
||||
public static BeWoWindow GetTextViewer(string title, string text, bool fixed_size = false, double height = 600, double width = 600)
|
||||
{
|
||||
if (fixed_size)
|
||||
return GetTextViewer(title, text, height, height, height, width, width, width);
|
||||
@@ -36,11 +37,12 @@ namespace BeWo.View
|
||||
return beWoWindow;
|
||||
}
|
||||
|
||||
public static BeWoWindow GetGkvAbrechnungDetailWindow(GkvAbrechnungVM vM, double height = 800, double width = 600)
|
||||
public static BeWoWindow GetGkvAbrechnungDetailWindow(GkvAbrechnungVM vM, double height = 800, double width = 900)
|
||||
{
|
||||
var detail = new GkvAbrechnungDetailControl(vM);
|
||||
|
||||
var beWoWindow = GetGenericBeWoWindow("GKV-Abrechnung Nr. " + vM.GkvAbrechnungOid + ": Details", 100, height, 1000, 400, width, 1600);
|
||||
|
||||
var detail = new GkvAbrechnungDetailControl(vM, beWoWindow);
|
||||
|
||||
beWoWindow.GroupBoxContent = detail;
|
||||
|
||||
return beWoWindow;
|
||||
@@ -54,11 +56,6 @@ namespace BeWo.View
|
||||
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();
|
||||
@@ -77,5 +74,18 @@ namespace BeWo.View
|
||||
|
||||
return beWoWindow;
|
||||
}
|
||||
|
||||
public static void ShowErrorMessageBox(string text)
|
||||
{
|
||||
MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
|
||||
}
|
||||
|
||||
public static void ShowTitleErrorMessageBox(string text, string title)
|
||||
{
|
||||
if (title.IsNullOrWhiteSpace())
|
||||
ShowErrorMessageBox(text);
|
||||
else
|
||||
MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
BeWo/View/Controls/ComboBoxes/ComboBoxEmployeeSearch.xaml
Normal file
31
BeWo/View/Controls/ComboBoxes/ComboBoxEmployeeSearch.xaml
Normal file
@@ -0,0 +1,31 @@
|
||||
<local:ComboBoxGenericSearch
|
||||
x:Class="BeWo.View.Controls.ComboBoxes.ComboBoxEmployeeSearch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWo.View.Controls.ComboBoxes"
|
||||
xmlns:localSearchView="clr-namespace:BeWo.View.Search"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
x:Name="root"
|
||||
d:DesignWidth="200"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<uc:PopUpEdit
|
||||
x:Name="popupedit"
|
||||
MinHeight="23"
|
||||
DeleteButtonVisibility="Visible"
|
||||
DeleteClick="popupedit_DeleteClick"
|
||||
IsReadOnly="True"
|
||||
PopUpClick="popupedit_PopUpClick" />
|
||||
<Popup
|
||||
x:Name="popup"
|
||||
Width="370"
|
||||
Height="250"
|
||||
Margin="10"
|
||||
Placement="MousePoint"
|
||||
StaysOpen="False">
|
||||
<localSearchView:EmployeeSearchView x:Name="searchview" />
|
||||
</Popup>
|
||||
</Grid>
|
||||
</local:ComboBoxGenericSearch>
|
||||
85
BeWo/View/Controls/ComboBoxes/ComboBoxEmployeeSearch.xaml.cs
Normal file
85
BeWo/View/Controls/ComboBoxes/ComboBoxEmployeeSearch.xaml.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
using BeWo.View.Search;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
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.ComboBoxes
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für ComboBoxEmployeeSearch.xaml
|
||||
/// </summary>
|
||||
public partial class ComboBoxEmployeeSearch : ComboBoxGenericSearch
|
||||
{
|
||||
// Using a DependencyProperty as the backing store for SelectedCompactEmployeeDC. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty SelectedCompactEmployeeDCProperty =
|
||||
DependencyProperty.Register("SelectedCompactEmployeeDC",
|
||||
typeof(CompactEmployeeDC),
|
||||
typeof(ComboBoxEmployeeSearch),
|
||||
new UIPropertyMetadata(null,
|
||||
selectCompactEmployee2));
|
||||
|
||||
public CompactEmployeeDC SelectedCompactEmployeeDC
|
||||
{
|
||||
get { return (CompactEmployeeDC)GetValue(SelectedCompactEmployeeDCProperty); }
|
||||
set { SetValue(SelectedCompactEmployeeDCProperty, value); }
|
||||
}
|
||||
|
||||
static ComboBoxEmployeeSearch()
|
||||
{
|
||||
SearchModeProperty.OverrideMetadata(typeof(ComboBoxEmployeeSearch), new UIPropertyMetadata(SearchMode.All, updateSearchMode));
|
||||
}
|
||||
|
||||
public ComboBoxEmployeeSearch()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void popupedit_PopUpClick(object sender, EventArgs e)
|
||||
{
|
||||
searchview.ItemSelected += searchview_Selected;
|
||||
popup.IsOpen = true;
|
||||
}
|
||||
|
||||
private void searchview_Selected(object sender, EventArgs<CompactEmployeeDC> e)
|
||||
{
|
||||
popup.IsOpen = false;
|
||||
searchview.ItemSelected -= searchview_Selected;
|
||||
|
||||
SelectedCompactEmployeeDC = e.Data;
|
||||
|
||||
popupedit.Focus();
|
||||
}
|
||||
|
||||
private static void selectCompactEmployee2(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
var control = d as ComboBoxEmployeeSearch;
|
||||
|
||||
control.popupedit.Text = e.NewValue?.ToString();
|
||||
}
|
||||
|
||||
private static void updateSearchMode(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
var control = d as ComboBoxEmployeeSearch;
|
||||
|
||||
control.searchview.SearchMode = (SearchMode)e.NewValue;
|
||||
}
|
||||
|
||||
private void popupedit_DeleteClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SelectedCompactEmployeeDC = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
34
BeWo/View/Controls/ComboBoxes/ComboBoxGenericSearch.cs
Normal file
34
BeWo/View/Controls/ComboBoxes/ComboBoxGenericSearch.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using BeWo.View.Search;
|
||||
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.Controls.ComboBoxes
|
||||
{
|
||||
public class ComboBoxGenericSearch : UserControl
|
||||
{
|
||||
// Using a DependencyProperty as the backing store for DeleteButtonVisibility. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty DeleteButtonVisibilityProperty =
|
||||
DependencyProperty.Register("DeleteButtonVisibility", typeof(Visibility), typeof(ComboBoxGenericSearch), new PropertyMetadata(null));
|
||||
|
||||
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty SearchModeProperty =
|
||||
DependencyProperty.Register("SearchMode", typeof(SearchMode), typeof(ComboBoxGenericSearch), new UIPropertyMetadata(SearchMode.All));
|
||||
|
||||
public Visibility DeleteButtonVisibility
|
||||
{
|
||||
get { return (Visibility)GetValue(DeleteButtonVisibilityProperty); }
|
||||
set { SetValue(DeleteButtonVisibilityProperty, value); }
|
||||
}
|
||||
|
||||
public SearchMode SearchMode
|
||||
{
|
||||
get { return (SearchMode)GetValue(SearchModeProperty); }
|
||||
set { SetValue(SearchModeProperty, value); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ namespace BeWo.View.Controls
|
||||
if (overtime != null)
|
||||
{
|
||||
TxtUeberstunden.Text = string.Format("{0:0.00}", overtime.Betrag);
|
||||
TxtAuszahlungsart.Text = overtime.Auszahlungsart.Name;
|
||||
TxtAuszahlungsart.Text = overtime.Auszahlungsart != null ? overtime.Auszahlungsart.Name : "-";
|
||||
|
||||
TxtUeberstunden.Visibility = Visibility.Visible;
|
||||
TxtAuszahlungsart.Visibility = Visibility.Visible;
|
||||
|
||||
@@ -136,7 +136,8 @@
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
IsChecked="{Binding UrbelegeGesendet}" />
|
||||
IsChecked="{Binding UrbelegeGesendet}"
|
||||
IsEnabled="{Binding IsUrbelegeEditEnabled}"/>
|
||||
<Label
|
||||
Grid.Row="14"
|
||||
Grid.Column="0"
|
||||
@@ -148,7 +149,8 @@
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
IsChecked="{Binding Bezahlt}" />
|
||||
IsChecked="{Binding Bezahlt}"
|
||||
IsEnabled="{Binding IsBezahltEditEnabled}"/>
|
||||
<Label
|
||||
Grid.Row="15"
|
||||
Grid.Column="0"
|
||||
@@ -352,6 +354,11 @@
|
||||
FieldName="IKKostentrager"
|
||||
Header="Kostentrager"
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="IKDatenannahmestelle"
|
||||
Header="Datenannahmestelle"
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Rechnungsnummer"
|
||||
@@ -412,6 +419,48 @@
|
||||
FieldName="SentDakotaSuccess"
|
||||
Header="Sent Dakota"
|
||||
IsEnabledBinding="{Binding Source=false}" />
|
||||
<dxg:GridColumn
|
||||
x:Name="ColumnButtons2"
|
||||
Width="Auto"
|
||||
AllowEditing="False"
|
||||
Header=" ">
|
||||
<dxg:GridColumn.DisplayTemplate>
|
||||
<ControlTemplate>
|
||||
<ControlTemplate.Resources />
|
||||
<StackPanel Margin="1" Orientation="Horizontal">
|
||||
<StackPanel.Resources />
|
||||
<Button
|
||||
x:Name="btn_auftragsdatei"
|
||||
Width="17"
|
||||
Height="15"
|
||||
Margin="1"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Click="btn_auftragsdatei_Click"
|
||||
Content="¥"
|
||||
FontFamily="Webdings"
|
||||
FontSize="9"
|
||||
Foreground="#BBBBBB"
|
||||
ToolTip="Auftragsdatei anzeigen" />
|
||||
<!--<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
|
||||
x:Name="btn_nutzdatendatei"
|
||||
Width="17"
|
||||
Height="15"
|
||||
Margin="1"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Click="btn_nutzdatendatei_Click"
|
||||
Content="¥"
|
||||
FontFamily="Webdings"
|
||||
FontSize="9"
|
||||
Foreground="#BBBBBB"
|
||||
ToolTip="Nutzdatendatei anzeigen" />
|
||||
</StackPanel>
|
||||
</ControlTemplate>
|
||||
</dxg:GridColumn.DisplayTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn
|
||||
Width="100"
|
||||
AllowEditing="False"
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using BeWo.Core;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -24,14 +26,18 @@ namespace BeWo.View.Controls
|
||||
/// </summary>
|
||||
public partial class GkvAbrechnungDetailControl : UserControl
|
||||
{
|
||||
public GkvAbrechnungVM GkvAbrechnungVM { get; set; }
|
||||
public GkvAbrechnungVM GkvAbrechnungVM { get; set; }
|
||||
|
||||
public GkvAbrechnungDetailControl(GkvAbrechnungVM vm)
|
||||
public Window Window { get; private set; }
|
||||
|
||||
public GkvAbrechnungDetailControl(GkvAbrechnungVM vm, Window window)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
GkvAbrechnungVM = vm;
|
||||
DataContext = vm;
|
||||
|
||||
Window = window;
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
@@ -50,5 +56,27 @@ namespace BeWo.View.Controls
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btn_auftragsdatei_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_transfer.GetCurrentValue<GkvTransferProtokollDC>();
|
||||
|
||||
var window = BeWoWindowBuilder.GetTextViewer("Auftragsdatei", vm.Auftragsdatei);
|
||||
|
||||
window.Owner = Window;
|
||||
|
||||
window.ShowDialog();
|
||||
}
|
||||
|
||||
private void btn_nutzdatendatei_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = datagrid_transfer.GetCurrentValue<GkvTransferProtokollDC>();
|
||||
|
||||
var window = BeWoWindowBuilder.GetTextViewer("Nutzdatendatei", vm.Nutzdatendatei);
|
||||
|
||||
window.Owner = Window;
|
||||
|
||||
window.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,46 @@
|
||||
<UserControl x:Class="BeWo.View.Controls.ListboxSelectControl"
|
||||
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:validation="clr-namespace:BeWo.Validation"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="230" d:DesignWidth="300">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox x:Name="Listbox" Grid.ColumnSpan="3" Margin="3, 3, 3, 0" SelectionMode="Single" FontSize="14" MouseDoubleClick="Listbox_OnMouseDoubleClick"/>
|
||||
<Button x:Name="SelectButton" Grid.Row="1" Grid.Column="1" Content=" Auswählen " Margin="3" Click="SelectButton_Click"/>
|
||||
<Button x:Name="CancelButton" Grid.Row="1" Grid.Column="2" Content=" Abbrechen " Margin="3" Click="CancelButton_Click"/>
|
||||
|
||||
</Grid>
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Controls.ListboxSelectControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:validation="clr-namespace:BeWo.Validation"
|
||||
d:DesignHeight="230"
|
||||
d:DesignWidth="300"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox
|
||||
x:Name="Listbox"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="3,3,3,0"
|
||||
FontSize="14"
|
||||
MouseDoubleClick="Listbox_OnMouseDoubleClick"
|
||||
SelectionMode="Single" />
|
||||
<Button
|
||||
x:Name="SelectButton"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
Click="SelectButton_Click"
|
||||
Content=" Auswählen " />
|
||||
<Button
|
||||
x:Name="CancelButton"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
Click="CancelButton_Click"
|
||||
Content=" Abbrechen " />
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
79
BeWo/View/Controls/Utils/ColorPicker.xaml
Normal file
79
BeWo/View/Controls/Utils/ColorPicker.xaml
Normal file
@@ -0,0 +1,79 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Controls.Utils.ColorPicker"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:BeWo.Controls.Controls;assembly=BeWo.Controls"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
x:Name="root"
|
||||
d:DesignWidth="100"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Button
|
||||
x:Name="btn"
|
||||
Height="24"
|
||||
Padding="0"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
dx:ThemeManager.ThemeName="None"
|
||||
Background="White"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="1"
|
||||
Click="button_select_color_Click"
|
||||
Style="{x:Null}">
|
||||
<Grid Background="{Binding ElementName=root, Path=SelectedColor}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button
|
||||
x:Name="delete_btn"
|
||||
Grid.Column="1"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="2"
|
||||
Click="delete_btn_DeleteClick">
|
||||
X
|
||||
</Button>
|
||||
</Grid>
|
||||
</Button>
|
||||
<Popup
|
||||
x:Name="popup_color"
|
||||
Placement="MousePoint"
|
||||
StaysOpen="false">
|
||||
<ListBox
|
||||
x:Name="listbox_colorpicker"
|
||||
BorderThickness="0"
|
||||
ItemsSource="{Binding ElementName=root, Path=AllBrushes}"
|
||||
SelectionChanged="listbox_colorpicker_SelectionChanged">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid
|
||||
Columns="12"
|
||||
IsItemsHost="True"
|
||||
Rows="12" />
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Border
|
||||
Height="20"
|
||||
MinWidth="20"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="{Binding}"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="1"
|
||||
CornerRadius="1" />
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type ListBoxItem}">
|
||||
<Setter Property="Margin" Value="2" />
|
||||
<Setter Property="Padding" Value="0" />
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
</Popup>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
88
BeWo/View/Controls/Utils/ColorPicker.xaml.cs
Normal file
88
BeWo/View/Controls/Utils/ColorPicker.xaml.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using BeWo.Core;
|
||||
using BS.Shared.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
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;
|
||||
|
||||
using Color = System.Drawing.Color;
|
||||
|
||||
namespace BeWo.View.Controls.Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für ColorPicker.xaml
|
||||
/// </summary>
|
||||
public partial class ColorPicker : UserControl
|
||||
{
|
||||
public SolidColorBrush SelectedColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(SelectedColorProperty); }
|
||||
set { SetValue(SelectedColorProperty, value); }
|
||||
}
|
||||
|
||||
// Using a DependencyProperty as the backing store for SelectedColor. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty SelectedColorProperty =
|
||||
DependencyProperty.Register("SelectedColor", typeof(SolidColorBrush), typeof(ColorPicker), new PropertyMetadata(null, SelectedColor_Update));
|
||||
|
||||
private static void SelectedColor_Update(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
//var btn = (d as ColorPicker).btn;
|
||||
|
||||
//btn.Background = e.NewValue as SolidColorBrush;
|
||||
//btn.DataContext = e.NewValue as SolidColorBrush;
|
||||
}
|
||||
|
||||
public ColorPicker()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public List<SolidColorBrush> AllBrushes
|
||||
{
|
||||
get
|
||||
{
|
||||
var lTemp = typeof(Color).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Static).Select(pi => (Color)pi.GetGetMethod().Invoke(null, null)).ToList();
|
||||
|
||||
lTemp.Sort((x, y) => x.GetBrightness().CompareTo(y.GetBrightness()));
|
||||
|
||||
return lTemp.Select(c => new SolidColorBrush(System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B))).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
private void listbox_colorpicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (e.AddedItems.Count == 1)
|
||||
{
|
||||
var selection = e.AddedItems[0] as SolidColorBrush;
|
||||
|
||||
SelectedColor = selection;
|
||||
|
||||
popup_color.IsOpen = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void button_select_color_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
popup_color.IsOpen = true;
|
||||
}
|
||||
|
||||
private void delete_btn_DeleteClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SelectedColor = null;
|
||||
listbox_colorpicker.SelectedItem = null;
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,7 +113,7 @@
|
||||
Grid.Column="2"
|
||||
EditValue="{Binding Path=AlterAmStichtag, UpdateSourceTrigger=PropertyChanged}"
|
||||
IsReadOnly="{Binding PermissionCustomerWohnhilfeManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
|
||||
Style="{StaticResource BaseNumberTextEdit}"/>
|
||||
Style="{StaticResource BaseNumberTextEdit}" />
|
||||
|
||||
<Label Grid.Row="3" Grid.Column="0">B1040 Haushaltsgröße</Label>
|
||||
<dxe:TextEdit
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
x:Class="BeWo.View.Detail.Accounting.GkvAbrechnungOverview"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
@@ -135,22 +136,26 @@
|
||||
<StackPanel.Resources />
|
||||
<Button
|
||||
x:Name="btn_details"
|
||||
Width="20"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="1"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Click="btn_details_Click"
|
||||
Content="¥"
|
||||
FontFamily="Webdings"
|
||||
FontSize="11"
|
||||
FontFamily="Wingdings"
|
||||
FontSize="8"
|
||||
Foreground="#FFFFFF"
|
||||
ToolTip="Details anzeigen" />
|
||||
ToolTip="Details anzeigen">
|
||||
1
|
||||
</Button>
|
||||
<!--<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
|
||||
x:Name="btn_send"
|
||||
Width="20"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="1"
|
||||
Padding="0"
|
||||
@@ -158,12 +163,69 @@
|
||||
Click="btn_send_Click"
|
||||
Content="*"
|
||||
FontFamily="Wingdings"
|
||||
FontSize="11"
|
||||
FontSize="9"
|
||||
Foreground="#ffffff"
|
||||
IsEnabled="{Binding Row.IsReady2Send}"
|
||||
ToolTip="{Binding Row, Converter={StaticResource TooltipTextConverter}, ConverterParameter=Send}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static shared:UserRightType.Finance_Gkv_Send}}" />
|
||||
<Button
|
||||
x:Name="btn_report"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="1"
|
||||
VerticalAlignment="Center"
|
||||
IsEnabled="{Binding Row.IsFormularEnabled}"
|
||||
ToolTip="Begleitzettel einzeln anzeigen"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.ShowGkvBzEinzel}}">
|
||||
<TextBlock Padding="0">
|
||||
<Hyperlink
|
||||
NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
RequestNavigate="Hyperlink_OnRequestNavigate"
|
||||
TextDecorations="None"
|
||||
TargetName="_NewWindow">
|
||||
<TextBlock
|
||||
Width="12"
|
||||
Height="12"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="Wingdings 2"
|
||||
FontSize="12"
|
||||
Foreground="#FFFFFF"
|
||||
Text="0"
|
||||
TextAlignment="Center" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="btn_report2"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="1"
|
||||
VerticalAlignment="Center"
|
||||
IsEnabled="{Binding Row.IsFormularEnabled}"
|
||||
ToolTip="Begleitzettel mit Quittierungsbelegen anzeigen"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.ShowGkvBzUrbelege}}">
|
||||
<TextBlock Padding="0">
|
||||
<Hyperlink
|
||||
NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
RequestNavigate="Hyperlink_OnRequestNavigate2"
|
||||
TextDecorations="None"
|
||||
TargetName="_NewWindow">
|
||||
<TextBlock
|
||||
Width="12"
|
||||
Height="12"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="Wingdings 2"
|
||||
FontSize="11"
|
||||
Foreground="#FFFFFF"
|
||||
Text="1"
|
||||
TextAlignment="Center" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="btn_delete"
|
||||
Width="20"
|
||||
@@ -174,7 +236,7 @@
|
||||
Click="btn_delete_Click"
|
||||
Content="r"
|
||||
FontFamily="Webdings"
|
||||
FontSize="11"
|
||||
FontSize="12"
|
||||
Foreground="#FF0000"
|
||||
ToolTip="Löschen"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static shared:UserRightType.Finance_Gkv_Delete}}" />
|
||||
@@ -197,7 +259,7 @@
|
||||
<dxg:GridColumn
|
||||
Width="Auto"
|
||||
AllowEditing="False"
|
||||
FieldName="ErstelltAm"
|
||||
FieldName="ErstelltAmDate"
|
||||
Header="Erstelldatum"
|
||||
ReadOnly="True">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
@@ -243,7 +305,8 @@
|
||||
x:Name="UrbelegeColumn"
|
||||
Width="Auto"
|
||||
FieldName="UrbelegeGesendet"
|
||||
Header="Urbelege gesendet">
|
||||
Header="Urbelege gesendet"
|
||||
IsEnabledBinding="{Binding IsUrbelegeEditEnabled}">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<dxe:CheckEdit Name="PART_Editor" />
|
||||
@@ -254,7 +317,8 @@
|
||||
x:Name="PaidColumn"
|
||||
Width="Auto"
|
||||
FieldName="Bezahlt"
|
||||
Header="Bezahlt">
|
||||
Header="Bezahlt"
|
||||
IsEnabledBinding="{Binding IsBezahltEditEnabled}">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<dxe:CheckEdit Name="PART_Editor" />
|
||||
@@ -299,7 +363,13 @@
|
||||
RowMinHeight="24"
|
||||
ScrollingMode="Smart"
|
||||
ShownEditor="gridView_ShownEditor"
|
||||
SnapsToDevicePixels="True" />
|
||||
SnapsToDevicePixels="True">
|
||||
<dxg:TableView.RuntimeLocalizationStrings>
|
||||
<dxg:GridRuntimeStringCollection>
|
||||
<dxg:RuntimeStringIdInfo Id="GridGroupPanelText" Value="Ziehen Sie eine Spaltenüberschrift hierher, um nach dieser Spalte zu gruppieren." />
|
||||
</dxg:GridRuntimeStringCollection>
|
||||
</dxg:TableView.RuntimeLocalizationStrings>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</Grid>
|
||||
|
||||
@@ -63,8 +63,6 @@ namespace BeWo.View.Detail.Accounting
|
||||
|
||||
private void RefreshGkvAbrechnungenList()
|
||||
{
|
||||
var test = datagrid_gkvAbrechnungen;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(null), UpdateGkvAbrechnungList);
|
||||
}
|
||||
|
||||
@@ -112,6 +110,9 @@ namespace BeWo.View.Detail.Accounting
|
||||
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.AbrechnungsZeitraumStart <= filter_start && filter_ende <= gkv.AbrechnungsZeitraumEnde));
|
||||
}
|
||||
}
|
||||
|
||||
gridView.BestFitColumns();
|
||||
gridView.BestFitColumn(ColumnButtons);
|
||||
}
|
||||
|
||||
private void NewGkvAbrechnungPopUpViewCancelButtonClicked(object sender, EventArgs e)
|
||||
@@ -120,25 +121,45 @@ namespace BeWo.View.Detail.Accounting
|
||||
}
|
||||
private void NewGkvAbrechnungPopUpViewCreateButtonClicked(object sender, EventArgs<GkvAbrechnungDC> e)
|
||||
{
|
||||
var gkv_abrechnung = e.Data;
|
||||
|
||||
var checked_invoice_bases = _NewGkvAbrechnungPopUpView.ViewModel.InvoiceBases.Where(x => x.IsChecked);
|
||||
|
||||
// MessageBox.Show("Sie haben keine Rechnung hinzugefügt.", "GKV-Abrechnung erstellen", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
if (!checked_invoice_bases.Any())
|
||||
return;
|
||||
|
||||
var success = ValidatorExtended.TryValidateGkvAbrechnung(gkv_abrechnung, checked_invoice_bases, false);
|
||||
if (!success)
|
||||
{
|
||||
var txt = "Sie haben Rechnungen mit verschiedenen Rechnungsadressen ausgewählt.";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
var already_used_invoices = checked_invoice_bases.Where(x => x.IsAlreadyInActiveGkvAbrechnung.Value);
|
||||
if (already_used_invoices.Any())
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits in einer anderen aktiven GKV-Abrechnung enthalten sind. Möchten Sie fortfahren?";
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits in einer " +
|
||||
"anderen aktiven GKV-Abrechnung enthalten sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
var bereits_bezahlt = checked_invoice_bases.Where(x => x.IsPaid);
|
||||
if (bereits_bezahlt.Any())
|
||||
{
|
||||
var txt = "Sie haben eine oder mehrere Rechnungen ausgewählt, welche bereits als 'Bezahlt' " +
|
||||
"markiert sind. Möchten Sie fortfahren?";
|
||||
var result = MessageBox.Show(txt, "Hinweis", MessageBoxButton.OKCancel);
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
MainControl.CloseCurrentPopUp();
|
||||
|
||||
var gkv_abrechnung = e.Data;
|
||||
var gkv_filter = new GkvAbrechnungCreateRequestDC
|
||||
{
|
||||
GkvAbrechnungDC = gkv_abrechnung,
|
||||
@@ -155,7 +176,7 @@ namespace BeWo.View.Detail.Accounting
|
||||
}
|
||||
else
|
||||
{
|
||||
BeWoWindowBuilder.ShowErrorMessageBox(cb.Message);
|
||||
BeWoWindowBuilder.ShowTitleErrorMessageBox(cb.Message, cb.TitleMessage);
|
||||
}
|
||||
}));
|
||||
}
|
||||
@@ -232,10 +253,14 @@ namespace BeWo.View.Detail.Accounting
|
||||
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));
|
||||
|
||||
var start = DateTime.Today.AddMonths(-1);
|
||||
var first = new DateTime(start.Year, start.Month, 1);
|
||||
var last = first.AddMonths(1).AddDays(-1);
|
||||
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumStart = first;
|
||||
gkvAbrechnungDC.AbrechnungsZeitraumEnde = last;
|
||||
|
||||
GkvAbrechnungVM gkvAbrechnungVM = new GkvAbrechnungVM(gkvAbrechnungDC);
|
||||
_NewGkvAbrechnungPopUpView.Clear();
|
||||
_NewGkvAbrechnungPopUpView.ViewModel = gkvAbrechnungVM;
|
||||
@@ -291,14 +316,14 @@ namespace BeWo.View.Detail.Accounting
|
||||
if (gkvAbrechnungVM is null)
|
||||
return;
|
||||
|
||||
if (gkvAbrechnungVM.GkvState == GkvState.WaitingForKrankenkasseTooLong)
|
||||
if (gkvAbrechnungVM.GkvState == GkvState.WaitingForKrankenkasseTooLong && BeWoApp.Mandator.ColorWaitTooLong is string colorWaiting)
|
||||
{
|
||||
e.Result = Brushes.Orange;
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorWaiting);
|
||||
e.Handled = true;
|
||||
}
|
||||
else if (gkvAbrechnungVM.GkvState == GkvState.WaitingForUrbelege)
|
||||
else if (gkvAbrechnungVM.GkvState == GkvState.WaitingForUrbelege && BeWoApp.Mandator.ColorSendUrbelege is string colorSend)
|
||||
{
|
||||
e.Result = Brushes.Green;
|
||||
e.Result = ColorExtensions.ParseSolidColorBrush(colorSend);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
@@ -364,7 +389,40 @@ namespace BeWo.View.Detail.Accounting
|
||||
{
|
||||
_Viewmodel.FirePropertyChangedItself();
|
||||
|
||||
if (_NewGkvAbrechnungPopUpView.PopupObjectList is object)
|
||||
_NewGkvAbrechnungPopUpView.PopupObjectList = null;
|
||||
|
||||
RefreshGkvAbrechnungenList();
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
|
||||
string what2send = "unterschriebene Leistungsnachweise";
|
||||
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink, "Druckvorschau");
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate2(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
|
||||
|
||||
string what2send = "Leistungsnachweise";
|
||||
|
||||
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
|
||||
what2send += " und Rechnungen";
|
||||
|
||||
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
|
||||
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
|
||||
|
||||
BeWoUtils.NavigateToReportUri(vm.ReportLink2, "Druckvorschau");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,7 +113,7 @@
|
||||
Grid.Column="2"
|
||||
Margin="3,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
ToolTip="Gesetzliche Krankenversicherung">
|
||||
ToolTip="Alle verfügbaren Krankenkassen, welche für den digitalen Datenaustausch bereit sind und nicht ausgeblendet werden.">
|
||||
GKV:
|
||||
</Label>
|
||||
<uc:PopUpEdit
|
||||
@@ -294,11 +294,9 @@
|
||||
Width="370"
|
||||
Height="250"
|
||||
Margin="10"
|
||||
Closed="popup_Closed"
|
||||
Opened="popup_Opened"
|
||||
Placement="MousePoint"
|
||||
StaysOpen="False">
|
||||
<localSearchView:OrganisationSearchView x:Name="gkvsearchview" SearchMode="OnlyValid" />
|
||||
<localSearchView:OrganisationSearchView x:Name="gkvsearchview" SearchMode="OnlyValidGkvOrganisations" />
|
||||
</Popup>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
@@ -60,6 +60,12 @@ namespace BeWo.View.Detail.Accounting
|
||||
}
|
||||
}
|
||||
|
||||
public object PopupObjectList
|
||||
{
|
||||
get => gkvsearchview.ObjectList;
|
||||
set => gkvsearchview.ObjectList = value as List<CompactOrganisationDC>;
|
||||
}
|
||||
|
||||
public DateTime FilterStart
|
||||
{
|
||||
get => ViewModel.AbrechnungsZeitraumStart.Value;
|
||||
|
||||
146
BeWo/View/Detail/Administration/SoziotherapieSettingsView.xaml
Normal file
146
BeWo/View/Detail/Administration/SoziotherapieSettingsView.xaml
Normal file
@@ -0,0 +1,146 @@
|
||||
<view:BeWoView
|
||||
x:Class="BeWo.View.Detail.Administration.SoziotherapieSettingsView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:comboboxes="clr-namespace:BeWo.View.Controls.ComboBoxes"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWo.View.Detail.Administration"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:utils="clr-namespace:BeWo.View.Controls.Utils"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
mc:Ignorable="d">
|
||||
<Grid HorizontalAlignment="Left" IsSharedSizeScope="True">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox
|
||||
x:Name="groupBoxSozio"
|
||||
Margin="3"
|
||||
Header="Soziotherapie"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<!-- Kann frei genutzt werden -->
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
ToolTip="Wenn kein Ansprechpartner hinterlegt ist, so wird der aktuelle Benutzer als Ansprechpartner verwendet.">
|
||||
IK Nummer (Leistungserbringer)
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
IsEnabled="{Binding Path=CanEditIKLeistungserbringer}"
|
||||
Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=CanEditIKLeistungserbringerTooltip}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ansprechpartner
|
||||
</Label>
|
||||
<comboboxes:ComboBoxEmployeeSearch
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="24"
|
||||
Margin="3"
|
||||
SearchMode="All"
|
||||
SelectedCompactEmployeeDC="{Binding SoziotherapieAnsprechpartner, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
x:Name="groupBoxGkvAnsicht"
|
||||
Grid.Row="1"
|
||||
Margin="3"
|
||||
Header="GKV-Abrechnung Ansicht"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
<Label.ToolTip>
|
||||
Einstellung, bei der die Abrechnung erfolgreich digital übertragen wurde und bereit für den postalischen Versand der Urbelege ist.
|
||||
</Label.ToolTip>
|
||||
<Label.Content>
|
||||
"Bereit für Urbelege" Signalfarbe
|
||||
</Label.Content>
|
||||
</Label>
|
||||
<utils:ColorPicker
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
SelectedColor="{Binding ColorWaitTooLong, Mode=TwoWay}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
<Label.ToolTip>
|
||||
Einstellung, bei der 28 Tage vergangen sind, ohne dass Feedback von der Krankenkasse eingegangen ist.
|
||||
</Label.ToolTip>
|
||||
<Label.Content>
|
||||
"Wartezeit überschritten" Signalfarbe
|
||||
</Label.Content>
|
||||
</Label>
|
||||
<utils:ColorPicker
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
SelectedColor="{Binding ColorSendUrbelege, Mode=TwoWay}" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
'Begleitzettel einzeln drucken' anzeigen
|
||||
</Label>
|
||||
<CheckBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Margin="6,3,3,3"
|
||||
IsChecked="{Binding ShowGkvBzEinzel}" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
'Begleitzettel inkl. Leistungsnachweis' drucken
|
||||
</Label>
|
||||
<CheckBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Margin="6,3,3,3"
|
||||
IsChecked="{Binding ShowGkvBzUrbelege}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
@@ -0,0 +1,82 @@
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.View.Master;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
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.Detail.Administration
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für SoziotherapieSettingView.xaml
|
||||
/// </summary>
|
||||
public partial class SoziotherapieSettingsView : BeWoView
|
||||
{
|
||||
private AdministrationView _Parent;
|
||||
private MandatorVM _ViewModel;
|
||||
|
||||
public SoziotherapieSettingsView(AdministrationView parent)
|
||||
{
|
||||
InitializeComponent();
|
||||
_Parent = parent;
|
||||
ViewModel = parent.MandatorVM;
|
||||
}
|
||||
|
||||
public override bool IsDirty
|
||||
{
|
||||
get { return ViewModel != null && ViewModel.IsDirty; }
|
||||
}
|
||||
|
||||
internal MandatorVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
DataContext = value;
|
||||
_ViewModel = value;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
var invoiceNumberList = new List<InvoiceNumberDC>();
|
||||
|
||||
foreach (var ivm in this.ViewModel.InvoiceNumberList)
|
||||
{
|
||||
invoiceNumberList.Add(ivm.CommitToDataContract());
|
||||
}
|
||||
ServiceFacade.DoAccountingServiceAsync(
|
||||
s => s.UpdateInvoiceNumberList(invoiceNumberList),
|
||||
inl => ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.UpdateMandator(this.ViewModel.CommitToDataContract()),
|
||||
m => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
var vmList = new List<InvoiceNumberVM>();
|
||||
foreach (var indc in inl)
|
||||
{
|
||||
vmList.Add(new InvoiceNumberVM(indc));
|
||||
}
|
||||
_Parent.MandatorVM = new MandatorVM(vmList, m);
|
||||
BeWoApp.Mandator = m;
|
||||
})));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:r="clr-namespace:BeWo.Security"
|
||||
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:val="clr-namespace:BeWo.Validation"
|
||||
@@ -954,10 +955,28 @@
|
||||
Grid.Row="5"
|
||||
Grid.Column="2"
|
||||
Content="{markup:Translate Versichertennummer}" />
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Foreground="{Binding Path=InsuranceNumber, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertennummer}}"
|
||||
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=InsuranceNumber, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertennummer}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="6"
|
||||
Grid.Column="2"
|
||||
Content="{markup:Translate Versichertenstatus}" />
|
||||
<TextBox
|
||||
Grid.Row="6"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Foreground="{Binding Path=VersichertenStatus, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertenstatus}}"
|
||||
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=VersichertenStatus, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertenstatus}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="7"
|
||||
@@ -1163,18 +1182,6 @@
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=HealthInsurance, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="6"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="7"
|
||||
@@ -3913,6 +3920,6 @@
|
||||
StaysOpen="False">
|
||||
<localSearchView:OrganisationSearchView x:Name="personOrganisationsearchview" />
|
||||
</Popup>
|
||||
<Border x:Name="popup_content" Margin="0,10,0,-10" />
|
||||
<Border x:Name="popup_content" Margin="0,10,0,-10" Height="1" Width="1"/>
|
||||
</Grid>
|
||||
</localView:BeWoView>
|
||||
@@ -91,7 +91,7 @@ namespace BeWo.View.Detail
|
||||
get { return (DefaultBoolean)(Convert.ToInt32(BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten)) + 1); }
|
||||
}
|
||||
|
||||
public static readonly string[] GradDerBehinderungComboBoxQuelle = { "20", "30", "40", "50", "60", "70", "80", "90", "100" };
|
||||
public static readonly string[] GradDerBehinderungComboBoxQuelle = {"", "20", "30", "40", "50", "60", "70", "80", "90", "100" };
|
||||
|
||||
public CustomerView(CustomerVM pCustomerVM)
|
||||
{
|
||||
|
||||
@@ -56,7 +56,12 @@
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
||||
<CheckBox x:Name="checkbox_size" IsChecked="{Binding Path=IsLarge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="Hidden">Groß</CheckBox>
|
||||
<CheckBox
|
||||
x:Name="checkbox_size"
|
||||
IsChecked="{Binding Path=IsLarge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="Hidden">
|
||||
Groß
|
||||
</CheckBox>
|
||||
</StackPanel>
|
||||
<TabControl
|
||||
x:Name="tabcontrol_NotizenKategorien"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True">
|
||||
<Grid x:Name="root">
|
||||
<Grid x:Name="root" IsSharedSizeScope="True">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
@@ -27,37 +27,64 @@
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="*" MaxWidth="420" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Name
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
IK Nummer (Leistungserbringer)
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3"
|
||||
Header="Allgemeine Informationen"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="*" MaxWidth="420" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label Margin="3" VerticalAlignment="Center">
|
||||
Name
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Webseite
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Website, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Logo
|
||||
</Label>
|
||||
<dxe:ImageEdit
|
||||
x:Name="ImageEdit"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
MaxHeight="200"
|
||||
Margin="3"
|
||||
MouseDoubleClick="Img_OnMouseDoubleClick"
|
||||
RenderOptions.BitmapScalingMode="HighQuality" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="Adresse"
|
||||
@@ -70,7 +97,7 @@
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="150" />
|
||||
<ColumnDefinition Width="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label
|
||||
@@ -116,12 +143,101 @@
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="3"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="Einstellungen"
|
||||
Header="Bankverbindung"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
|
||||
<ColumnDefinition Width="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="Collapsed">
|
||||
Konto
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=AccountNumber, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="Collapsed" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="Collapsed">
|
||||
BLZ
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=BankCode, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="Collapsed" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Kreditinstitut
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=BankName, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
IBAN
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=IBAN, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
BIC
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Bic, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="4"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="Anwendungseinstellungen"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid x:Name="EinstellungenGrid">
|
||||
<Grid.RowDefinitions>
|
||||
@@ -212,7 +328,7 @@
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="4"
|
||||
Grid.Row="5"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="{markup:Translate Zeiterfassung}"
|
||||
@@ -334,7 +450,7 @@
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,5"
|
||||
Content="{markup:Translate Arbeitszeit mit BeWoPlaner erfassen}"
|
||||
IsChecked="{Binding Path=EnableArbeitszeiterfassung}" />
|
||||
IsChecked="{Binding Path=EnableArbeitszeiterfassung}" Checked="EnableArbeitszeiterfassung_Checked" Unchecked="EnableArbeitszeiterfassung_Checked"/>
|
||||
<CheckBox
|
||||
x:Name="EnableAutomaticPauses"
|
||||
Grid.Row="8"
|
||||
@@ -374,7 +490,7 @@
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="5"
|
||||
Grid.Row="6"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="Rechnungsnummer"
|
||||
@@ -476,26 +592,6 @@
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
x:Name="groupBoxSozio"
|
||||
Grid.Row="6"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3,20,3,3"
|
||||
Header="Soziotherapie"
|
||||
Style="{StaticResource ObjectEditGroupBox}"
|
||||
Visibility="Collapsed">
|
||||
<!-- Kann frei genutzt werden -->
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox
|
||||
x:Name="GroupOwnChatSettings"
|
||||
Grid.Row="7"
|
||||
|
||||
@@ -2,8 +2,12 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Windows;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.View.Master;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
@@ -11,12 +15,14 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
public partial class MandatorView : BeWoView
|
||||
{
|
||||
private MandatorVM _Viewmodel;
|
||||
private AdministrationView _Parent;
|
||||
private MandatorVM _ViewModel;
|
||||
|
||||
public MandatorView(MandatorVM viewModel)
|
||||
public MandatorView(AdministrationView parent)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = viewModel;
|
||||
_Parent = parent;
|
||||
ViewModel = parent.MandatorVM;
|
||||
|
||||
if (BeWoApp.LoggedOnUser.HasRight(BS.Shared.UserRightType.ChatAdminSettings) && BeWoApp.AppSettings.ShowOwnChatSettings)
|
||||
{
|
||||
@@ -38,19 +44,18 @@ namespace BeWo.View.Detail
|
||||
TextBlockShowWarning.Visibility = Visibility.Collapsed;
|
||||
SpinEditShowWarning.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (!BeWoApp.AppSettings.AllowGkvAbrechnung)
|
||||
else
|
||||
{
|
||||
groupBoxSozio.Visibility = Visibility.Collapsed;
|
||||
SetArbeitszeiterfassungControlsEnabled();
|
||||
}
|
||||
|
||||
ComboZeiteinheit.ItemsSource = new List<String> { "Minuten", "Stunden", "Stunden und Minuten" };
|
||||
|
||||
if (viewModel.EinheitZeiterfassung.Equals("1"))
|
||||
if (ViewModel.EinheitZeiterfassung.Equals("1"))
|
||||
{
|
||||
ComboZeiteinheit.SelectedIndex = 1;
|
||||
}
|
||||
else if (viewModel.EinheitZeiterfassung.Equals("2"))
|
||||
else if (ViewModel.EinheitZeiterfassung.Equals("2"))
|
||||
{
|
||||
ComboZeiteinheit.SelectedIndex = 2;
|
||||
}
|
||||
@@ -59,7 +64,12 @@ namespace BeWo.View.Detail
|
||||
ComboZeiteinheit.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (_ViewModel.Logo.Original is byte[] bytes)
|
||||
{
|
||||
ImageEdit.Source = Utils.CreateBitmapImageFromByteArray(bytes);
|
||||
}
|
||||
|
||||
ImageEdit.EditValueChanged += Image_EditValueChanged;
|
||||
#if DEBUG
|
||||
try
|
||||
{
|
||||
@@ -79,17 +89,17 @@ namespace BeWo.View.Detail
|
||||
get { return ViewModel != null && ViewModel.IsDirty; }
|
||||
}
|
||||
|
||||
private MandatorVM ViewModel
|
||||
internal MandatorVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Viewmodel;
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.DataContext = value;
|
||||
this._Viewmodel = value;
|
||||
DataContext = value;
|
||||
_ViewModel = value;
|
||||
|
||||
if (ViewModel.InvoiceNumberList.Count > 1)
|
||||
{
|
||||
@@ -113,10 +123,11 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
invoiceNumberList.Add(ivm.CommitToDataContract());
|
||||
}
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(
|
||||
s => s.UpdateInvoiceNumberList(invoiceNumberList),
|
||||
inl => ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.UpdateMandator(this.ViewModel.CommitToDataContract()),
|
||||
s => s.UpdateMandator(ViewModel.CommitToDataContract()),
|
||||
m => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
@@ -125,7 +136,7 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
vmList.Add(new InvoiceNumberVM(indc));
|
||||
}
|
||||
this.ViewModel = new MandatorVM(vmList, m);
|
||||
_Parent.MandatorVM = new MandatorVM(vmList, m);
|
||||
BeWoApp.Mandator = m;
|
||||
})));
|
||||
}
|
||||
@@ -149,8 +160,31 @@ namespace BeWo.View.Detail
|
||||
else
|
||||
{
|
||||
ViewModel.EinheitZeiterfassung = "0";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void Img_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
BeWoUtils.ShowImageForm(ImageEdit.Source);
|
||||
}
|
||||
|
||||
|
||||
void Image_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
|
||||
{
|
||||
_ViewModel.Logo.Original = ImageEdit.EditValue as byte[];
|
||||
}
|
||||
|
||||
private void EnableArbeitszeiterfassung_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SetArbeitszeiterfassungControlsEnabled();
|
||||
}
|
||||
|
||||
private void SetArbeitszeiterfassungControlsEnabled()
|
||||
{
|
||||
EnableAutomaticPauses.IsEnabled = EnableArbeitszeiterfassung.IsChecked.HasValue && EnableArbeitszeiterfassung.IsChecked.Value;
|
||||
EnableRestTimeWarning.IsEnabled = EnableArbeitszeiterfassung.IsChecked.HasValue && EnableArbeitszeiterfassung.IsChecked.Value;
|
||||
TextBlockShowWarning.IsEnabled = EnableArbeitszeiterfassung.IsChecked.HasValue && EnableArbeitszeiterfassung.IsChecked.Value;
|
||||
SpinEditShowWarning.IsEnabled = EnableArbeitszeiterfassung.IsChecked.HasValue && EnableArbeitszeiterfassung.IsChecked.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -165,432 +165,433 @@
|
||||
Header="Details"
|
||||
IsSelected="True">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||
<GroupBox Header="Eigenschaften" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid x:Name="grid_details">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.ColumnSpan="3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<GroupBox Header="Eigenschaften" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid x:Name="grid_details">
|
||||
<Grid.RowDefinitions>
|
||||
<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"
|
||||
Content="Name" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="{markup:Translate OrganisationAbteilung}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name2,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Content="{markup:Translate Kundennummer}" />
|
||||
<TextBox
|
||||
x:Name="txtDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=DebitorNumber,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Content="{markup:Translate Geschäftspartnernummer}" />
|
||||
<TextBox
|
||||
x:Name="txtGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=BusinessPartnerId,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Content="Funktion" />
|
||||
<uc:NullItemComboBox
|
||||
x:Name="comboBox_Function"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
SelectedValue="{Binding Path=Function, Mode=TwoWay}" />
|
||||
|
||||
|
||||
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
Content="Archiviert" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="10,6,3,0"
|
||||
VerticalAlignment="Stretch"
|
||||
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="0,8,0,0"
|
||||
Header="Adresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=AddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Street, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=PostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Town, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=POBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="8,8,0,0"
|
||||
Header="Rechnungsadresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressStreet, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressTown, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPOBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="8,8,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Kontakt"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Telefon
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Fax
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Mail
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Homepage
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Content="{markup:Translate Ansprechpartner}" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Phone, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Fax, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="21"
|
||||
Margin="3"
|
||||
Click="EMailButton_OnClick"
|
||||
Content="*"
|
||||
FontFamily="Wingdings"
|
||||
IsEnabled="{Binding Path=EMail, Converter={StaticResource ObjectBoolConverter}}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=EMail, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Website, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=ContactPerson, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Width="360"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="0,8,0,0"
|
||||
Header="GKV-Abrechnung"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<GroupBox.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</GroupBox.Resources>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.ColumnSpan="3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Content="Name" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="{markup:Translate OrganisationAbteilung}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name2,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Content="{markup:Translate Kundennummer}" />
|
||||
<TextBox
|
||||
x:Name="txtDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=DebitorNumber,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Content="{markup:Translate Geschäftspartnernummer}" />
|
||||
<TextBox
|
||||
x:Name="txtGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=BusinessPartnerId,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Content="Funktion" />
|
||||
<uc:NullItemComboBox
|
||||
x:Name="comboBox_Function"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
SelectedValue="{Binding Path=Function, Mode=TwoWay}" />
|
||||
|
||||
|
||||
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
Content="Archiviert" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="10,6,3,0"
|
||||
VerticalAlignment="Stretch"
|
||||
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="0,8,0,0"
|
||||
Header="Adresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=AddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Street, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=PostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Town, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=POBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="8,8,0,0"
|
||||
Header="Rechnungsadresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressStreet, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressTown, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPOBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="8,8,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Kontakt"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Telefon
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Fax
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Mail
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Homepage
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Content="{markup:Translate Ansprechpartner}" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Phone, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Fax, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="21"
|
||||
Margin="3"
|
||||
Click="EMailButton_OnClick"
|
||||
Content="*"
|
||||
FontFamily="Wingdings"
|
||||
IsEnabled="{Binding Path=EMail, Converter={StaticResource ObjectBoolConverter}}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=EMail, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Website, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=ContactPerson, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Width="360"
|
||||
Margin="0,8,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
Header="GKV-Abrechnung"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<GroupBox.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</GroupBox.Resources>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center">
|
||||
@@ -602,9 +603,10 @@
|
||||
HorizontalAlignment="Stretch">
|
||||
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKKrankenkasse, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKKrankenkasse, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKKrankenkasse, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKKrankenkasse, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
</DockPanel>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
@@ -613,20 +615,23 @@
|
||||
ToolTip="Abrechnungscode + Tarifkennzeichen. Zum Beispiel: 6901000">
|
||||
Leistungserbringergruppe
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Foreground="{Binding Path=Leistungserbringergruppe, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationLeistungserbringergruppe}}"
|
||||
Text="{Binding Path=Leistungserbringergruppe, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=Leistungserbringergruppe, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationLeistungserbringergruppe}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Button
|
||||
x:Name="btn_ik"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Click="IKNumber_Button_Click"
|
||||
Click="button_ik_ermitteln_click"
|
||||
IsEnabled="{Binding IsIKNumberValid}"
|
||||
Style="{StaticResource PrimaryButtonSmall}"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
|
||||
Weitere IK's ermitteln
|
||||
</Button>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=Leistungserbringergruppe, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
@@ -636,7 +641,10 @@
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKKostentrager, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKKostentrager, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKKostentrager, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKKostentrager, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
@@ -646,7 +654,10 @@
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKDatenannahmestelle, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKDatenannahmestelle, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
@@ -658,9 +669,12 @@
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Foreground="{Binding Path=BezDatenannahmestelle, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationBezDatenannahmestelle}}"
|
||||
Text="{Binding Path=BezDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=BezDatenannahmestelle, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationBezDatenannahmestelle}}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
|
||||
<Label
|
||||
<!--<Label
|
||||
Grid.Row="6"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
@@ -671,7 +685,7 @@
|
||||
Grid.Row="6"
|
||||
Grid.Column="1"
|
||||
IsChecked="{Binding Echtverfahren}"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />-->
|
||||
<Label
|
||||
x:Name="label_verfahrensstufe"
|
||||
Grid.Row="7"
|
||||
@@ -686,10 +700,37 @@
|
||||
Grid.Column="1"
|
||||
Orientation="Horizontal"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
|
||||
<RadioButton GroupName="a" IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=0}">Test</RadioButton>
|
||||
<RadioButton GroupName="a" IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=1}">Erprobung</RadioButton>
|
||||
<RadioButton GroupName="a" IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=2}">Echt</RadioButton>
|
||||
<RadioButton
|
||||
x:Name="rb_test"
|
||||
GroupName="a"
|
||||
IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=0}">
|
||||
Test
|
||||
</RadioButton>
|
||||
<RadioButton
|
||||
x:Name="rb_erpr"
|
||||
GroupName="a"
|
||||
IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=1}">
|
||||
Erprobung
|
||||
</RadioButton>
|
||||
<RadioButton
|
||||
x:Name="rb_echt"
|
||||
GroupName="a"
|
||||
IsChecked="{Binding Path=VerfahrensstufeInt, Converter={StaticResource RadioBoolToIntConverter}, ConverterParameter=2}">
|
||||
Echt
|
||||
</RadioButton>
|
||||
</StackPanel>
|
||||
<Label
|
||||
Grid.Row="8"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
|
||||
Ausblenden
|
||||
</Label>
|
||||
<CheckBox
|
||||
Grid.Row="8"
|
||||
Grid.Column="1"
|
||||
IsChecked="{Binding GkvAusblenden, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
@@ -22,35 +23,35 @@ using DevExpress.Xpf.Grid;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
{
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
|
||||
if (pOrganisationVM.VarFields == null || pOrganisationVM.VarFields.VMList.Count == 0)
|
||||
{
|
||||
tabitem_varFields.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Organisation_AllowArchiving))
|
||||
{
|
||||
@@ -61,288 +62,300 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
tabitem_documents.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
#if !DEBUG
|
||||
label_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
radiobuttons_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
#endif
|
||||
}
|
||||
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
|
||||
ViewModel = cb;
|
||||
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC) cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName) , "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl) gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC) Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
|
||||
Save();
|
||||
}
|
||||
|
||||
|
||||
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
|
||||
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName +" "+ pes.LastName;
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
|
||||
private void IKNumber_Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
}
|
||||
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
|
||||
public override bool IsDirty
|
||||
{
|
||||
if(response is null || !response.Success)
|
||||
get
|
||||
{
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
|
||||
ViewModel = cb;
|
||||
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC)cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName), "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl)gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC)Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
|
||||
Save();
|
||||
}
|
||||
|
||||
|
||||
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
|
||||
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName + " " + pes.LastName;
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
|
||||
private void button_ik_ermitteln_click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
|
||||
req.OrganisationOid = ViewModel.DataContract.OrganisationOid;
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
}
|
||||
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
{
|
||||
if (response is null || !response.Success)
|
||||
{
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!response.Gefunden)
|
||||
{
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" konnte keine Datenannahmestelle gefunden werden. " +
|
||||
$"Bitte informieren Sie sich bei der Krankenkasse, ob zum elektronischen Datenaustausch " +
|
||||
$"eine seperate Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" " +
|
||||
$"konnte keine Datenannahmestelle gefunden werden. Wenn Sie dennoch den elektronischen Datenaustausch mit der Krankenkasse " +
|
||||
$"durchführen möchten, informieren Sie sich bitte bei der Krankenkasse, ob zum elektronischen Datenaustausch eine seperate " +
|
||||
$"Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
if (response.BereitsEnthalten)
|
||||
{
|
||||
var orgas = response.BereitsEnthaltenBei.Select(x => $"\"{x}\"");
|
||||
var orga_str = response.BereitsEnthaltenBei.Count == 1
|
||||
? $"der Organisation {orgas.First()}"
|
||||
: $"den Organisationen {string.Join(",", orgas.ToArray())}";
|
||||
var title = "Doppeltes IK Krankenkasse gefunden";
|
||||
var msg = $"Das eingegebene IK der Krankenkasse \"{req.IKKrankenkasse}\" wurde bereits bei {orga_str} hinterlegt. Eine fehlerhafte Benennung der IKs führt zu einer fehlerhaften Weiterleitung Ihrer Daten. Möchten Sie fortfahren?";
|
||||
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
var result = MessageBox.Show(msg, title, MessageBoxButton.OKCancel);
|
||||
|
||||
if (result != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -74,7 +74,7 @@
|
||||
/>
|
||||
</dxg:GridControl.View>
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="GoalEntry" Header="Ziel" ReadOnly="True" MinWidth="60" Width="300" />
|
||||
<dxg:GridColumn FieldName="GoalEntry.DisplayName" Header="Ziel" ReadOnly="True" MinWidth="60" Width="300" />
|
||||
<dxg:GridColumn FieldName="RatingType" Header="Bewertung" Width="300" x:Name="ColumnRatingType">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings x:Name="ColumnRatingTypeComboBox"/>
|
||||
|
||||
@@ -9,7 +9,11 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
public partial class SupportConceptAnalysisListViewItem : UserControl
|
||||
{
|
||||
public static readonly DependencyProperty OverviewItemProperty = DependencyProperty.Register("OverviewItem", typeof(KeyValuePair<string, List<SupportConceptOverviewDC>>), typeof(SupportConceptAnalysisListViewItem), new UIPropertyMetadata(new KeyValuePair<string, List<SupportConceptOverviewDC>>(), (s, e) => ((SupportConceptAnalysisListViewItem)s).DataContext = e.NewValue));
|
||||
public static readonly DependencyProperty OverviewItemProperty = DependencyProperty.Register("OverviewItem",
|
||||
typeof(KeyValuePair<string, List<SupportConceptOverviewDC>>),
|
||||
typeof(SupportConceptAnalysisListViewItem),
|
||||
new UIPropertyMetadata(new KeyValuePair<string, List<SupportConceptOverviewDC>>(),
|
||||
(s, e) => ((SupportConceptAnalysisListViewItem)s).DataContext = e.NewValue));
|
||||
|
||||
public SupportConceptAnalysisListViewItem()
|
||||
{
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="23" />
|
||||
<RowDefinition Height="25" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="Details" Margin="0 1"
|
||||
VerticalAlignment="Bottom"
|
||||
@@ -522,9 +522,10 @@
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="23" />
|
||||
<RowDefinition Height="25" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{markup:Translate Bewilligungen}" TextElement.FontSize="16"
|
||||
VerticalAlignment="Bottom"
|
||||
@@ -532,9 +533,13 @@
|
||||
TextElement.FontFamily="Microsoft Sans Serif"
|
||||
Margin="0 1"
|
||||
/>
|
||||
<Button Margin="5,0,0,0" x:Name="button_addApprovalPeriod" Tag="{Binding}"
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Stretch" Margin="5,0,3,0">
|
||||
<Label Content="Sortierung:" />
|
||||
<ComboBox Height="23" Loaded="SortComboBox_Loaded" Tag="{Binding}" VerticalAlignment="Top" MinWidth="180" ItemsSource="{Binding SortItems}" SelectedIndex="{Binding SelectedSortIndex}" SelectionChanged="SortComboBox_SelectionChanged"/>
|
||||
</StackPanel>
|
||||
<Button Margin="5,0,0,0" x:Name="button_addApprovalPeriod" Tag="{Binding}"
|
||||
Click="button_addApprovalPeriod_Click"
|
||||
HorizontalAlignment="Center" Grid.Column="1"
|
||||
HorizontalAlignment="Center" Grid.Column="2"
|
||||
Width="21" Height="21" VerticalAlignment="Top">
|
||||
<Grid Width="18" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
@@ -560,7 +565,7 @@
|
||||
</GroupBox.Header>
|
||||
<ListView x:Name="listViewCostBearer" Grid.Row="1"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||||
ItemsSource="{Binding ApprovalPeriodList.VMList}"
|
||||
ItemsSource="{Binding SortedVMList}"
|
||||
Background="Transparent" BorderBrush="Transparent"
|
||||
HorizontalAlignment="Left">
|
||||
<ListView.ItemContainerStyle>
|
||||
|
||||
@@ -246,6 +246,20 @@ namespace BeWo.View.Detail
|
||||
|
||||
#region Public Methods
|
||||
|
||||
//private void InitSortCombo(ComboBox cb)
|
||||
//{
|
||||
// var list = new List<String>();
|
||||
|
||||
// list.Add("aufsteigend");
|
||||
// list.Add("absteigend");
|
||||
|
||||
|
||||
// cb.ItemsSource = list;
|
||||
// cb.SelectedIndex = BeWoApp.AppSettings.LastBewilligungSortOrder;
|
||||
|
||||
|
||||
//}
|
||||
|
||||
public override void ModalPopUpCloseInvoked()
|
||||
{
|
||||
this.MainControl.CloseCurrentPopUp();
|
||||
@@ -1992,29 +2006,33 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
foreach (var g in goals)
|
||||
{
|
||||
if (!g.ValueListEntryOid.HasValue && g.ParentOid.HasValue)
|
||||
if (!g.ValueListEntryOid.HasValue)
|
||||
{
|
||||
var parent = FindGoalTreeItem(ViewModel.CombinedGoalTree, g.ParentOid.Value);
|
||||
if (parent != null)
|
||||
if (g.Parent != null)
|
||||
{
|
||||
ViewModel.AddTreeItem(parent, g.Type, g.TypeDescription, "", "", null);
|
||||
var parent = FindGoalTreeItem(ViewModel.CombinedGoalTree, g.Parent.TypeDescription);
|
||||
if (parent != null)
|
||||
{
|
||||
ViewModel.AddTreeItem(parent, g.Type, g.TypeDescription, "", "", null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private SupportConceptGoalTreeItem FindGoalTreeItem(IList<SupportConceptGoalTreeItem> treeItems, long oid)
|
||||
private SupportConceptGoalTreeItem FindGoalTreeItem(IList<SupportConceptGoalTreeItem> treeItems, String ziel)
|
||||
{
|
||||
if (treeItems != null)
|
||||
{
|
||||
foreach (var item in treeItems)
|
||||
{
|
||||
if (item.GoalEntryVM.DataContract.ValueListEntryOid == oid)
|
||||
if (item.GoalEntryVM.Description == ziel)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
|
||||
var p = FindGoalTreeItem(item.Items, oid);
|
||||
var p = FindGoalTreeItem(item.Items, ziel);
|
||||
if (p != null)
|
||||
{
|
||||
return p;
|
||||
@@ -2023,6 +2041,63 @@ namespace BeWo.View.Detail
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void SortComboBox_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var cb = sender as ComboBox;
|
||||
|
||||
if (cb != null)
|
||||
{
|
||||
//InitSortCombo(cb);
|
||||
}
|
||||
}
|
||||
|
||||
private void SortComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
var cb = sender as ComboBox;
|
||||
|
||||
//if (cb != null)
|
||||
//{
|
||||
|
||||
var cb2 = e.OriginalSource as DependencyObject;
|
||||
var sp2 = VisualTreeHelper.GetParent(cb2);
|
||||
|
||||
|
||||
//Finde ListView
|
||||
|
||||
var sp = cb.Parent as StackPanel;
|
||||
|
||||
if (sp2 == sp)
|
||||
{
|
||||
int test = 0;
|
||||
}
|
||||
var g = sp.Parent as Grid;
|
||||
var gb = g.Parent as GroupBox;
|
||||
var lv = gb.Content as ListView;
|
||||
|
||||
//lv.ItemsSource = null;
|
||||
var c2s = cb.Tag as SupportConceptCostBearerRelVM;
|
||||
|
||||
//var list = lv.ItemsSource as BindingList<SupportConceptApprovalPeriodVM>;
|
||||
//lv.ItemsSource = null;
|
||||
|
||||
//if (cb.SelectedIndex == 0)
|
||||
//{
|
||||
// list.Sort((a, b) => a.StartDate.HasValue ? a.StartDate.Value.CompareTo(b.StartDate) : 0);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// list.Sort((a, b) => b.StartDate.HasValue ? b.StartDate.Value.CompareTo(a.StartDate) : 0);
|
||||
//}
|
||||
|
||||
//list.Sort((a, b) => b.StartDate.HasValue ? b.StartDate.Value.CompareTo(a.StartDate) : 0);
|
||||
//lv.Items.SortDescriptions.Add(new SortDescription { PropertyName = "StartDate", Direction = ListSortDirection.Descending });
|
||||
//lv.ItemsSource = c2s.ApprovalPeriodList.VMList;
|
||||
//lv.ItemsSource.RaisePropertyChanged
|
||||
//BeWoApp.AppSettings.LastBewilligungSortOrder = cb.SelectedIndex;
|
||||
BeWoApp.SaveAppSettings();
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
public class ValueListEntryTypeToColorConverter : IValueConverter
|
||||
@@ -2044,4 +2119,6 @@ namespace BeWo.View.Detail
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -94,40 +94,43 @@ namespace BeWo.View.Detail
|
||||
private List<TableObject> GetListForYear(List<AbwesenheitsInformationDC> information)
|
||||
{
|
||||
List<TableObject> tableObjects = new List<TableObject>();
|
||||
var absencetimes = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForYear(Information[0].Year)); // Prüfen, ob z.B. 27.12.2020 - 05.01.2021 drin wäre
|
||||
|
||||
List<long?> empOids = new List<long?>();
|
||||
foreach (var info in information)
|
||||
empOids.Add(info.Employee.EmployeeOid);
|
||||
|
||||
var dictUrlaub = ServiceFacade.DoEmployeeServiceSync(s => s.BerechneAnzEinerAbwesenheitFuerMehrereMitarbeiter(empOids, information[0].Year, "urlaub"));
|
||||
var dictKrankheit = ServiceFacade.DoEmployeeServiceSync(s => s.BerechneAnzEinerAbwesenheitFuerMehrereMitarbeiter(empOids, information[0].Year, "krank"));
|
||||
|
||||
foreach (var info in information)
|
||||
if (information != null && information.Count > 0)
|
||||
{
|
||||
decimal anzGeschenkteTage = 0;
|
||||
foreach (var eintrag in info.GeschenkteUrlaubstage)
|
||||
var absencetimes = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForYear(Information[0].Year)); // Prüfen, ob z.B. 27.12.2020 - 05.01.2021 drin wäre
|
||||
|
||||
List<long?> empOids = new List<long?>();
|
||||
foreach (var info in information)
|
||||
empOids.Add(info.Employee.EmployeeOid);
|
||||
|
||||
var dictUrlaub = ServiceFacade.DoEmployeeServiceSync(s => s.BerechneAnzEinerAbwesenheitFuerMehrereMitarbeiter(empOids, information[0].Year, "urlaub"));
|
||||
var dictKrankheit = ServiceFacade.DoEmployeeServiceSync(s => s.BerechneAnzEinerAbwesenheitFuerMehrereMitarbeiter(empOids, information[0].Year, "krank"));
|
||||
|
||||
foreach (var info in information)
|
||||
{
|
||||
anzGeschenkteTage += eintrag.AnzahlTage;
|
||||
decimal anzGeschenkteTage = 0;
|
||||
foreach (var eintrag in info.GeschenkteUrlaubstage)
|
||||
{
|
||||
anzGeschenkteTage += eintrag.AnzahlTage;
|
||||
}
|
||||
|
||||
TableObject to = new TableObject()
|
||||
{
|
||||
Name = info.Employee.LastNameFirstName,
|
||||
ResturlaubVorjahr = string.Format("{0:0.00}", info.Employee.Urlaubskonto.ResturlaubVorjahrTotal),
|
||||
VerfallenerResturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.VerfallenerUrlaub),
|
||||
Urlaubsanspruch = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Urlaubsanspruch - anzGeschenkteTage),
|
||||
Resturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Resturlaub),
|
||||
TageKrankheit = string.Format("{0:0.00}", dictKrankheit.First(d => d.Key == info.Employee.EmployeeOid).Value),
|
||||
TageUrlaub = string.Format("{0:0.00}", dictUrlaub.First(d => d.Key == info.Employee.EmployeeOid).Value),
|
||||
GeschenkteUrlaubstage = string.Format("{0:0.00}", anzGeschenkteTage)
|
||||
};
|
||||
|
||||
//TageKrankheit und TageUrlaub setzen
|
||||
|
||||
tableObjects.Add(to);
|
||||
}
|
||||
|
||||
TableObject to = new TableObject()
|
||||
{
|
||||
Name = info.Employee.LastNameFirstName,
|
||||
ResturlaubVorjahr = string.Format("{0:0.00}", info.Employee.Urlaubskonto.ResturlaubVorjahrTotal),
|
||||
VerfallenerResturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.VerfallenerUrlaub),
|
||||
Urlaubsanspruch = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Urlaubsanspruch - anzGeschenkteTage),
|
||||
Resturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Resturlaub),
|
||||
TageKrankheit = string.Format("{0:0.00}", dictKrankheit.First(d => d.Key == info.Employee.EmployeeOid).Value),
|
||||
TageUrlaub = string.Format("{0:0.00}", dictUrlaub.First(d => d.Key == info.Employee.EmployeeOid).Value),
|
||||
GeschenkteUrlaubstage = string.Format("{0:0.00}", anzGeschenkteTage)
|
||||
};
|
||||
|
||||
//TageKrankheit und TageUrlaub setzen
|
||||
|
||||
tableObjects.Add(to);
|
||||
}
|
||||
|
||||
return tableObjects;
|
||||
}
|
||||
|
||||
|
||||
@@ -4854,7 +4854,7 @@ namespace BeWo.View.Detail.Zeiterfassung
|
||||
|
||||
if(textbausteineSearchView.ServiceCategoryOid > 0)
|
||||
{
|
||||
var selectedTextmodules = textModules.Where(w => w.ServiceCategory != null && w.ServiceCategory.ServiceCategoryOid == textbausteineSearchView.ServiceCategoryOid || w.ServiceCategory == null).ToList();
|
||||
var selectedTextmodules = textModules.Where(w => !w.IsParent && (w.ServiceCategory == null || (w.ServiceCategory.ServiceCategoryOid == textbausteineSearchView.ServiceCategoryOid))).ToList();
|
||||
|
||||
textModules = Utils.GetParentTextModules(selectedTextmodules);
|
||||
textModules.AddRangeIfElementsNotIn(selectedTextmodules);
|
||||
|
||||
283
BeWo/View/Document/DokumentViewHelper.cs
Normal file
283
BeWo/View/Document/DokumentViewHelper.cs
Normal file
@@ -0,0 +1,283 @@
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Media.Imaging;
|
||||
|
||||
namespace BeWo.View.Document
|
||||
{
|
||||
public class DokumentViewHelper
|
||||
{
|
||||
|
||||
public static void OpenTemplateSelectionDialog(List<DokumentvorlageDC> alleVorlagen, TableID objectTid, long objectOid)
|
||||
{
|
||||
|
||||
var alleVorlagenTabellen = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
|
||||
var tabelle = alleVorlagenTabellen.FirstOrDefault(v => v.VorlagentabelleObjectTid.HasValue && v.VorlagentabelleObjectTid.Value == (int)objectTid);
|
||||
if (tabelle != null)
|
||||
{
|
||||
var view = new SingleTemplateSelectionView();
|
||||
|
||||
var customerFolderList = VMFactory.CreateFolderList(objectTid, objectOid);
|
||||
|
||||
var templateFolderList = VMFactory.CreateFolderList(TableID.Vorlagentabelle, tabelle.VorlagentabelleOid.Value);
|
||||
view.InitView(tabelle, alleVorlagen, templateFolderList, customerFolderList, true, false);
|
||||
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Vorlage auswählen"), view, 500, 500);
|
||||
|
||||
view.ButtonCancelClicked += () => beWoWindow.Close();
|
||||
view.ButtonCreateForSelectionClicked += () =>
|
||||
{
|
||||
|
||||
beWoWindow.Close();
|
||||
};
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
}
|
||||
}
|
||||
public static void CreateTemplateTreeViewItems(TreeListControl treeControl, IList<VorlagentabelleDC> vorlagentabellen, List<BeWoFolderDC> allFolder, bool expandItems)
|
||||
{
|
||||
treeControl.BeginDataUpdate();
|
||||
|
||||
foreach (var table in vorlagentabellen)
|
||||
{
|
||||
TreeListNode node = new TreeListNode();
|
||||
DocumentTreeItemDC dc = new DocumentTreeItemDC()
|
||||
{
|
||||
DocTreeItemOid = table.VorlagentabelleOid,
|
||||
ParentOid = null,
|
||||
Name = table.Tabellenname,
|
||||
Table = BS.Shared.TableID.Vorlagentabelle,
|
||||
ObjectOid = table.VorlagentabelleOid,
|
||||
Node = node,
|
||||
BeWoFolderDC = new BeWoFolderDC { Name = "RootFolder", SubFolders = new List<BeWoFolderDC>() }
|
||||
};
|
||||
DocumentTreeItemVM vm = new DocumentTreeItemVM(dc);
|
||||
node.Content = vm;
|
||||
treeControl.View.Nodes.Add(node);
|
||||
node.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
node.IsExpanded = expandItems;
|
||||
node.Image = LoadImage(table.ImageName);
|
||||
|
||||
}
|
||||
|
||||
if (allFolder != null && allFolder.Count > 0)
|
||||
{
|
||||
AddFolderToTreeView(treeControl, allFolder, expandItems);
|
||||
}
|
||||
treeControl.EndDataUpdate();
|
||||
}
|
||||
|
||||
public static void AddTemplatesToTreeView(TreeListControl treeControl, List<DokumentvorlageDC> allTemplates, bool expandItems)
|
||||
{
|
||||
treeControl.BeginDataUpdate();
|
||||
foreach (var template in allTemplates)
|
||||
{
|
||||
TreeListNode parentNode = FindParentNodeForTemplate(treeControl.View.Nodes, template);
|
||||
if (parentNode != null)
|
||||
{
|
||||
parentNode.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
var parentVm = parentNode.Content as DocumentTreeItemVM;
|
||||
|
||||
DocumentTreeItemDC dc = new DocumentTreeItemDC()
|
||||
{
|
||||
DocTreeItemOid = template.DokumentvorlageOid,
|
||||
ParentOid = parentVm.DocTreeItemOid,
|
||||
Name = template.Name,
|
||||
Dokumentvorlage = template,
|
||||
Table = TableID.Dokumentvorlage
|
||||
};
|
||||
|
||||
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(dc);
|
||||
var newFolderNode = new TreeListNode()
|
||||
{
|
||||
Content = folder_vm,
|
||||
IsExpandButtonVisible = DefaultBoolean.False,
|
||||
Tag = template,
|
||||
IsExpanded = expandItems,
|
||||
Image = LoadDocumentImage()
|
||||
};
|
||||
dc.Node = newFolderNode;
|
||||
parentNode.Nodes.Add(newFolderNode);
|
||||
}
|
||||
}
|
||||
treeControl.EndDataUpdate();
|
||||
}
|
||||
|
||||
private static TreeListNode FindParentNodeForTemplate(TreeListNodeCollection nodes, DokumentvorlageDC template)
|
||||
{
|
||||
foreach (TreeListNode node in nodes)
|
||||
{
|
||||
var docVm = node.Content as DocumentTreeItemVM;
|
||||
if (docVm != null && docVm.DocTreeItemOid.HasValue && docVm.DocTreeItemOid == template.Parent)
|
||||
{
|
||||
return node;
|
||||
}
|
||||
|
||||
var childNode = FindParentNodeForTemplate(node.Nodes, template);
|
||||
if (childNode != null)
|
||||
{
|
||||
return childNode;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void AddFolderToTreeView(TreeListControl treeControl, List<BeWoFolderDC> folders, bool expandItems)
|
||||
{
|
||||
treeControl.BeginDataUpdate();
|
||||
|
||||
|
||||
foreach (var node in treeControl.View.Nodes)
|
||||
{
|
||||
AddFolderToNode(node, folders, expandItems);
|
||||
}
|
||||
|
||||
|
||||
treeControl.EndDataUpdate();
|
||||
}
|
||||
|
||||
private static void AddFolderToNode(TreeListNode parentNode, List<BeWoFolderDC> folders, bool expandItems)
|
||||
{
|
||||
if (parentNode != null && folders != null)
|
||||
{
|
||||
var parentVm = parentNode.Content as DocumentTreeItemVM;
|
||||
|
||||
foreach (var folder in folders)
|
||||
{
|
||||
|
||||
if (folder.BeWoFolderOid.HasValue)
|
||||
{
|
||||
//if (parentVm != null && parentVm.DocTreeItemOid == folder.ObjectOid)
|
||||
//{
|
||||
DocumentTreeItemDC dc = new DocumentTreeItemDC()
|
||||
{
|
||||
DocTreeItemOid = folder.BeWoFolderOid,
|
||||
ParentOid = parentVm.DocTreeItemOid,
|
||||
Name = folder.Name,
|
||||
FilesInFolder = new List<FileAttachmentDC>(),
|
||||
BeWoFolderDC = folder,
|
||||
Table = parentVm.DataContract.Table,
|
||||
ObjectOid = parentVm.DataContract.ObjectOid
|
||||
};
|
||||
if (folder.Files.Count != 0)
|
||||
{
|
||||
foreach (var file in folder.Files)
|
||||
{
|
||||
dc.FilesInFolder.Add(file);
|
||||
}
|
||||
}
|
||||
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(dc);
|
||||
var newFolderNode = new TreeListNode()
|
||||
{
|
||||
Content = folder_vm,
|
||||
IsExpandButtonVisible = folder.SubFolders != null && folder.SubFolders.Count > 0 ? DefaultBoolean.True : DefaultBoolean.False,
|
||||
IsExpanded = expandItems,
|
||||
Tag = false,
|
||||
Image = LoadFolderImage()
|
||||
};
|
||||
dc.Node = newFolderNode;
|
||||
parentNode.Nodes.Add(newFolderNode);
|
||||
|
||||
AddFolderToNode(newFolderNode, folder.SubFolders, expandItems);
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (folder.ObjectOid.HasValue && folder.ObjectOid == parentVm.DocTreeItemOid)
|
||||
{
|
||||
AddFolderToNode(parentNode, folder.SubFolders, expandItems);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static void GenerateFolderStructureForSelectedNode(TreeListNode node, List<BeWoFolderDC> folderDCs, bool hideAlleOrdner)
|
||||
{
|
||||
if (node.Nodes.Count == 0)
|
||||
{
|
||||
var content = node.Content as DocumentTreeItemVM;
|
||||
|
||||
foreach (var folder in folderDCs)
|
||||
{
|
||||
TreeListNode newNode_folder = null;
|
||||
if (folder.BeWoFolderOid.HasValue || !hideAlleOrdner)
|
||||
{
|
||||
DocumentTreeItemDC folder_dc = new DocumentTreeItemDC()
|
||||
{
|
||||
DocTreeItemOid = folder.BeWoFolderOid,
|
||||
ParentOid = content.DocTreeItemOid,
|
||||
Name = folder.Name,
|
||||
FilesInFolder = new List<FileAttachmentDC>(),
|
||||
BeWoFolderDC = folder,
|
||||
Table = content.DataContract.Table,
|
||||
ObjectOid = content.DataContract.ObjectOid
|
||||
};
|
||||
if (folder.Files.Count != 0)
|
||||
{
|
||||
foreach (var file in folder.Files)
|
||||
{
|
||||
folder_dc.FilesInFolder.Add(file);
|
||||
}
|
||||
}
|
||||
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(folder_dc);
|
||||
newNode_folder = new TreeListNode()
|
||||
{
|
||||
Content = folder_vm,
|
||||
IsExpandButtonVisible = folder.SubFolders != null && folder.SubFolders.Count > 0 ? DefaultBoolean.True : DefaultBoolean.False,
|
||||
Tag = false,
|
||||
Image = LoadFolderImage()
|
||||
};
|
||||
folder_dc.Node = newNode_folder;
|
||||
node.Nodes.Add(newNode_folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
newNode_folder = node;
|
||||
if (content.DataContract.BeWoFolderDC == null)
|
||||
{
|
||||
content.DataContract.BeWoFolderDC = folder;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (folder.SubFolders.Count != 0)
|
||||
{
|
||||
GenerateFolderStructureForSelectedNode(newNode_folder, folder.SubFolders, hideAlleOrdner);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static BitmapImage LoadImage(string imageName)
|
||||
{
|
||||
if (String.IsNullOrEmpty(imageName))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return new BitmapImage(new Uri("/Ressources/Icons/" + imageName + ".png", UriKind.Relative));
|
||||
}
|
||||
|
||||
private static BitmapImage LoadFolderImage()
|
||||
{
|
||||
return LoadImage("Folder");
|
||||
}
|
||||
|
||||
private static BitmapImage LoadDocumentImage()
|
||||
{
|
||||
return LoadImage("Document48");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<localView:BeWoView
|
||||
x:Class="BeWo.View.Master.DokumenteView"
|
||||
x:Class="BeWo.View.Document.DokumenteView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:BeWo.View.Controls"
|
||||
@@ -11,6 +11,7 @@
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:master="clr-namespace:BeWo.View.Master"
|
||||
xmlns:doc="clr-namespace:BeWo.View.Document"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
@@ -79,8 +80,8 @@
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</ContextMenu>
|
||||
<master:DeleteButtonVisibilityConverter x:Key="DeleteButtonVisibilityConverter" />
|
||||
<master:EditButtonVisibilityConverter x:Key="EditButtonVisibilityConverter" />
|
||||
<doc:DeleteButtonVisibilityConverter x:Key="DeleteButtonVisibilityConverter" />
|
||||
<doc:EditButtonVisibilityConverter x:Key="EditButtonVisibilityConverter" />
|
||||
|
||||
</localView:BeWoView.Resources>
|
||||
|
||||
@@ -535,7 +536,9 @@
|
||||
ShowIndicator="False"
|
||||
ShowNodeImages="True"
|
||||
ShowVerticalLines="False"
|
||||
VerticalScrollbarVisibility="Auto" />
|
||||
VerticalScrollbarVisibility="Auto"
|
||||
AutoExpandOnDrag="True"
|
||||
NavigationStyle="Cell"/>
|
||||
</dxg:TreeListControl.View>
|
||||
</dxg:TreeListControl>
|
||||
<!--
|
||||
@@ -609,8 +612,7 @@
|
||||
x:Name="datagrid_templates"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="2,3,5,5"
|
||||
DataSource="{Binding SelectedItem.Files, ElementName=treeview}">
|
||||
Margin="2,3,5,5">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn
|
||||
Width="24"
|
||||
@@ -635,7 +637,7 @@
|
||||
Width="*"
|
||||
AllowEditing="False"
|
||||
FieldName="Name"
|
||||
Header="Dateiname" />
|
||||
Header="Name" />
|
||||
<dxg:GridColumn
|
||||
Width="*"
|
||||
AllowEditing="False"
|
||||
@@ -680,7 +682,7 @@
|
||||
<dxg:TableView
|
||||
x:Name="TemplateTableView"
|
||||
AutoWidth="false"
|
||||
NavigationStyle="Cell"
|
||||
NavigationStyle="Row"
|
||||
ShowGroupPanel="False"
|
||||
ShowGroupedColumns="false"
|
||||
ShowTotalSummary="False" />
|
||||
@@ -40,8 +40,9 @@ using System.Text;
|
||||
using BS.Shared.Translation;
|
||||
using System.Windows.Data;
|
||||
using System.Globalization;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace BeWo.View.Master
|
||||
namespace BeWo.View.Document
|
||||
{
|
||||
public partial class DokumenteView
|
||||
{
|
||||
@@ -51,7 +52,7 @@ namespace BeWo.View.Master
|
||||
private readonly long? _ObjectOid;
|
||||
private readonly TableID _ObjectTid;
|
||||
private TreeViewItem _SelectedTreeNode;
|
||||
|
||||
private List<VorlagentabelleDC> alleVorlagenTabellen;
|
||||
public DokumenteView()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -841,16 +842,20 @@ namespace BeWo.View.Master
|
||||
private void DocumentsTreeView_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var row = DocumentsTreeView.FocusedRow as DocumentTreeItemVM;
|
||||
|
||||
if (row != null)
|
||||
SaveFolder(row);
|
||||
}
|
||||
|
||||
private void SaveFolder(DocumentTreeItemVM vm)
|
||||
{
|
||||
if (vm != null)
|
||||
{
|
||||
if (row.IsDirty && !row.Name.Equals(row.DataContract.Name))
|
||||
if (vm.IsDirty && !vm.Name.Equals(vm.DataContract.Name))
|
||||
{
|
||||
row.DataContract.BeWoFolderDC.Name = row.Name;
|
||||
row.DataContract.Name = row.Name;
|
||||
vm.DataContract.BeWoFolderDC.Name = vm.Name;
|
||||
vm.DataContract.Name = vm.Name;
|
||||
ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.UpdateFolder(row.DataContract.BeWoFolderDC),
|
||||
r => row.DataContract.BeWoFolderDC.BeWoFolderVersion = r.BeWoFolderVersion);
|
||||
s => s.UpdateFolder(vm.DataContract.BeWoFolderDC),
|
||||
r => vm.DataContract.BeWoFolderDC.BeWoFolderVersion = r.BeWoFolderVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1264,48 +1269,36 @@ namespace BeWo.View.Master
|
||||
|
||||
public void InitTemplateMenuItems()
|
||||
{
|
||||
template_treeview_control.BeginDataUpdate();
|
||||
alleVorlagenTabellen = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
|
||||
|
||||
DokumentViewHelper.CreateTemplateTreeViewItems(template_treeview_control, alleVorlagenTabellen, null, false);
|
||||
|
||||
Dictionary<string, string> firstLevel = GetFirstLevelDictionaryForTemplates();
|
||||
|
||||
var liste = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
|
||||
|
||||
|
||||
string[] iconNames = new string[] { "IDBadgeDisabled", "UserHomeMaleDisabled", "UserBusinessMaleDisabled" };
|
||||
int counter = 1;
|
||||
foreach (var table in liste)
|
||||
{
|
||||
TreeListNode node = new TreeListNode();
|
||||
DocumentTreeItemDC dc = new DocumentTreeItemDC()
|
||||
{
|
||||
DocTreeItemOid = counter,
|
||||
ParentOid = null,
|
||||
Name = table.Tabellenname,
|
||||
Table = TableID.Vorlagentabelle,
|
||||
ObjectOid = table.VorlagentabelleOid,
|
||||
Node = node,
|
||||
BeWoFolderDC = new BeWoFolderDC { Name = "RootFolder", SubFolders = new List<BeWoFolderDC>() }
|
||||
};
|
||||
DocumentTreeItemVM vm = new DocumentTreeItemVM(dc);
|
||||
node.Content = vm;
|
||||
TemplateTreeView.Nodes.Add(node);
|
||||
node.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
node.Image = LoadImage(table.ImageName);
|
||||
//string[] iconNames = new string[] { "IDBadgeDisabled", "UserHomeMaleDisabled", "UserBusinessMaleDisabled" };
|
||||
|
||||
//foreach (var table in alleVorlagenTabellen)
|
||||
//{
|
||||
// TreeListNode node = new TreeListNode();
|
||||
// DocumentTreeItemDC dc = new DocumentTreeItemDC()
|
||||
// {
|
||||
// DocTreeItemOid = table.VorlagentabelleOid,
|
||||
// ParentOid = null,
|
||||
// Name = table.Tabellenname,
|
||||
// Table = TableID.Vorlagentabelle,
|
||||
// ObjectOid = table.VorlagentabelleOid,
|
||||
// Node = node,
|
||||
// BeWoFolderDC = new BeWoFolderDC { Name = "RootFolder", SubFolders = new List<BeWoFolderDC>() }
|
||||
// };
|
||||
// DocumentTreeItemVM vm = new DocumentTreeItemVM(dc);
|
||||
// node.Content = vm;
|
||||
// TemplateTreeView.Nodes.Add(node);
|
||||
// node.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
// node.Image = LoadImage(table.ImageName);
|
||||
|
||||
|
||||
counter++;
|
||||
}
|
||||
template_treeview_control.EndDataUpdate();
|
||||
}
|
||||
|
||||
private Dictionary<string, string> GetFirstLevelDictionaryForTemplates()
|
||||
{
|
||||
Dictionary<string, string> firstLevel = new Dictionary<string, string>();
|
||||
|
||||
firstLevel.Add("supportConcepts", "Hilfepläne");
|
||||
firstLevel.Add("customers", Translator.Translate("Klienten"));
|
||||
firstLevel.Add("employee", Translator.Translate("MitarbeiterPlural"));
|
||||
|
||||
return firstLevel;
|
||||
//}
|
||||
//template_treeview_control.EndDataUpdate();
|
||||
}
|
||||
|
||||
private void templateTreeListView_NodeExpanding(object sender, TreeListNodeAllowEventArgs e)
|
||||
@@ -1315,13 +1308,12 @@ namespace BeWo.View.Master
|
||||
|
||||
//if (vm.Name.Equals("Hilfepläne") || vm.Name.Equals("Klienten") || vm.Name.Equals("Mitarbeiter"))
|
||||
//{
|
||||
List<BeWoFolderDC> folderDCs = new List<BeWoFolderDC>();
|
||||
|
||||
if (vm.DocTreeItemOid.HasValue)
|
||||
//List<BeWoFolderDC> folderDCs = new List<BeWoFolderDC>();
|
||||
if (node.Nodes.Count == 0 && vm.DocTreeItemOid.HasValue)
|
||||
{
|
||||
folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid);
|
||||
|
||||
GenerateFolderStructureForSelectedNode(node, folderDCs, true);
|
||||
var folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid);
|
||||
DokumentViewHelper.AddFolderToTreeView(template_treeview_control, folderDCs, false);
|
||||
//GenerateFolderStructureForSelectedNode(node, folderDCs, true);
|
||||
}
|
||||
//}
|
||||
|
||||
@@ -1395,13 +1387,26 @@ namespace BeWo.View.Master
|
||||
{
|
||||
if (e.OriginalSource is MenuItem)
|
||||
{
|
||||
var row = TemplateTreeView.SelectedRows[0] as DocumentTreeItemVM;
|
||||
var twi = e.OriginalSource as MenuItem;
|
||||
DocumentTreeItemVM row = null;
|
||||
TreeListNode selectedNode = null;
|
||||
|
||||
var selection = template_treeview_control.GetSelectedNodes();
|
||||
|
||||
if (selection != null && selection.Length > 0)
|
||||
{
|
||||
selectedNode = selection[0];
|
||||
row = selectedNode.Content as DocumentTreeItemVM;
|
||||
}
|
||||
|
||||
if (selectedNode == null || row == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (twi.Header.Equals("Neuer Ordner"))
|
||||
{
|
||||
TreeListNode node = new TreeListNode();
|
||||
node.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
node.IsExpandButtonVisible = DefaultBoolean.False;
|
||||
node.Image = LoadFolderImage();
|
||||
|
||||
BeWoFolderDC folderDC = new BeWoFolderDC()
|
||||
@@ -1432,6 +1437,7 @@ namespace BeWo.View.Master
|
||||
dc.Node.Content = vm;
|
||||
row.DataContract.Node.Nodes.Add(dc.Node);
|
||||
row.DataContract.Node.IsExpanded = true;
|
||||
row.DataContract.Node.IsExpandButtonVisible = DefaultBoolean.True;
|
||||
}
|
||||
else if (twi.Header.Equals("Umbenennen"))
|
||||
{
|
||||
@@ -1444,20 +1450,20 @@ namespace BeWo.View.Master
|
||||
else if (twi.Header.Equals("Neue Vorlage"))
|
||||
{
|
||||
var vm = new DokumentvorlageVM(new DokumentvorlageDC());
|
||||
|
||||
|
||||
VorlagentabelleDC tabelle = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleById((long)row.DataContract.BeWoFolderDC.ObjectOid));
|
||||
vm.Tabellenzugehoerigkeit = (long)tabelle.VorlagentabelleObjectTid;
|
||||
vm.Parent = row.DataContract.BeWoFolderDC.BeWoFolderOid;
|
||||
|
||||
var savedTemplate = EditTemplate(vm);
|
||||
if(savedTemplate != null)
|
||||
if (savedTemplate != null)
|
||||
{
|
||||
if(savedTemplate.IsDirty)
|
||||
if (savedTemplate.IsDirty)
|
||||
{
|
||||
var savedDC = SaveInDatabase(savedTemplate);
|
||||
savedTemplate = new DokumentvorlageVM(savedDC);
|
||||
var tableitems = datagrid_templates.ItemsSource as List<DokumentvorlageVM>;
|
||||
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
|
||||
var tableitems = datagrid_templates.ItemsSource as BindingList<DokumentvorlageVM>;
|
||||
datagrid_templates.ItemsSource = new BindingList<DokumentvorlageVM>();
|
||||
|
||||
tableitems.Add(savedTemplate);
|
||||
datagrid_templates.ItemsSource = tableitems;
|
||||
@@ -1472,12 +1478,15 @@ namespace BeWo.View.Master
|
||||
private DokumentvorlageVM EditTemplate(DokumentvorlageVM vm)
|
||||
{
|
||||
var row = TemplateTreeView.SelectedRows[0] as DocumentTreeItemVM;
|
||||
var folder = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)row.DataContract.BeWoFolderDC.BeWoFolderOid));
|
||||
long? tabelle = folder.ObjectOid;
|
||||
|
||||
//var folder = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)row.DataContract.BeWoFolderDC.BeWoFolderOid));
|
||||
var vt = GetVorlagenTabelleFromSelectedTreeItem(row);
|
||||
if (vt == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var control = new VorlageEditView();
|
||||
|
||||
control.InitView(vm, tabelle);
|
||||
control.InitView(vt, vm);
|
||||
var beWoWindow = new BeWoWindow
|
||||
{
|
||||
rootGroupBox = { Header = "Vorlage bearbeiten" },
|
||||
@@ -1493,6 +1502,11 @@ namespace BeWo.View.Master
|
||||
control.ButtonSavedClicked += () =>
|
||||
{
|
||||
saved = true;
|
||||
if (control.ViewModel.IsDirty)
|
||||
{
|
||||
var dc = SaveInDatabase(control.ViewModel);
|
||||
vm.DataContract = dc;
|
||||
}
|
||||
beWoWindow.Close();
|
||||
};
|
||||
|
||||
@@ -1510,6 +1524,21 @@ namespace BeWo.View.Master
|
||||
return control.ViewModel;
|
||||
}
|
||||
|
||||
private VorlagentabelleDC GetVorlagenTabelleFromSelectedTreeItem(DocumentTreeItemVM row)
|
||||
{
|
||||
if (row != null && row.DataContract != null && row.DataContract.ObjectOid.HasValue)
|
||||
{
|
||||
foreach (var item in alleVorlagenTabellen)
|
||||
{
|
||||
if (item.VorlagentabelleOid == row.DataContract.ObjectOid)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private DokumentvorlageDC SaveInDatabase(DokumentvorlageVM savedTemplate)
|
||||
{
|
||||
var dc = savedTemplate.CommitToDataContract();
|
||||
@@ -1526,6 +1555,10 @@ namespace BeWo.View.Master
|
||||
private void EditSelectedTemplateFolder()
|
||||
{
|
||||
TemplateTreeView.AllowEditing = true;
|
||||
//template_treeview_control.Focus();
|
||||
//var h = TemplateTreeView.FocusedRowHandle;
|
||||
|
||||
//TemplateTreeView.SelectCell(h, template_treeview_control.Columns[0]);
|
||||
}
|
||||
|
||||
private void TemplateTreeView_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
|
||||
@@ -1536,18 +1569,8 @@ namespace BeWo.View.Master
|
||||
private void TemplateTreeView_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var row = TemplateTreeView.FocusedRow as DocumentTreeItemVM;
|
||||
|
||||
if (row != null)
|
||||
{
|
||||
if (row.IsDirty && !row.Name.Equals(row.DataContract.Name))
|
||||
{
|
||||
row.DataContract.BeWoFolderDC.Name = row.Name;
|
||||
row.DataContract.Name = row.Name;
|
||||
ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.UpdateFolder(row.DataContract.BeWoFolderDC),
|
||||
r => row.DataContract.BeWoFolderDC.BeWoFolderVersion = r.BeWoFolderVersion);
|
||||
}
|
||||
}
|
||||
SaveFolder(row);
|
||||
|
||||
}
|
||||
private void DeleteTemplateFolderWithAllSubfolders(BeWoFolderDC folder)
|
||||
{
|
||||
@@ -1600,13 +1623,13 @@ namespace BeWo.View.Master
|
||||
|
||||
if (selected == null || selected.DataContract.BeWoFolderDC.Name == "RootFolder")
|
||||
{
|
||||
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
|
||||
datagrid_templates.ItemsSource = new BindingList<DokumentvorlageVM>();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var vmList = new List<DokumentvorlageVM>();
|
||||
|
||||
var vmList = new BindingList<DokumentvorlageVM>();
|
||||
|
||||
//BeWoFolderDC folderDC = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)selected.DocTreeItemOid));
|
||||
//var folderDC_Oid = folderDC.BeWoFolderOid;
|
||||
if (selected.DataContract.BeWoFolderDC == null)
|
||||
@@ -1633,20 +1656,16 @@ namespace BeWo.View.Master
|
||||
{
|
||||
var templateVM = datagrid_templates.SelectedItem as DokumentvorlageVM;
|
||||
EditTemplate(templateVM);
|
||||
if(templateVM.IsDirty)
|
||||
{
|
||||
var dc = SaveInDatabase(templateVM);
|
||||
templateVM.DataContract = dc;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
private void PrintTemplate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var templateVM = datagrid_templates.SelectedItem as DokumentvorlageVM;
|
||||
|
||||
var liste = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
|
||||
//var liste = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
|
||||
long vorlagentabelle = 0;
|
||||
foreach (var item in liste)
|
||||
foreach (var item in alleVorlagenTabellen)
|
||||
{
|
||||
if(item.VorlagentabelleObjectTid == templateVM.Tabellenzugehoerigkeit)
|
||||
{
|
||||
@@ -1816,8 +1835,8 @@ namespace BeWo.View.Master
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.DeleteTemplates(listeMitDemDC));
|
||||
|
||||
var gridItemsSource = this.datagrid_templates.ItemsSource as List<DokumentvorlageVM>;
|
||||
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
|
||||
var gridItemsSource = this.datagrid_templates.ItemsSource as BindingList<DokumentvorlageVM>;
|
||||
datagrid_templates.ItemsSource = new BindingList<DokumentvorlageVM>();
|
||||
|
||||
gridItemsSource.Remove(selectedTemplate);
|
||||
this.datagrid_templates.ItemsSource = gridItemsSource;
|
||||
64
BeWo/View/Document/SingleTemplateSelectionView.xaml
Normal file
64
BeWo/View/Document/SingleTemplateSelectionView.xaml
Normal file
@@ -0,0 +1,64 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Document.SingleTemplateSelectionView"
|
||||
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: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:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
||||
xmlns:dxre="http://schemas.devexpress.com/winfx/2008/xaml/richedit"
|
||||
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
Focusable="True">
|
||||
|
||||
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition x:Name="GridRowTemplate" Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition x:Name="GridRowFolder" Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
|
||||
<Label Margin="0,0,0,0" x:Name="lblTemplate" Content="Vorlage:"/>
|
||||
<dxg:TreeListControl x:Name="treelistcontrol_template" Grid.Row="1" DefaultSorting="Name" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
|
||||
<dxg:TreeListControl.Columns>
|
||||
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
|
||||
</dxg:TreeListControl.Columns>
|
||||
<dxg:TreeListControl.View>
|
||||
<dxg:TreeListView x:Name="TreeView_template" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False" AutoWidth="True"
|
||||
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" PreviewMouseLeftButtonDown="DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown"
|
||||
NodeExpanding="DocumentsTreeView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
|
||||
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid">
|
||||
</dxg:TreeListView>
|
||||
</dxg:TreeListControl.View>
|
||||
</dxg:TreeListControl>
|
||||
|
||||
<CheckBox x:Name="chkSaveDoc" Content="Dokument abspeichern" Grid.Row="2" Checked="CheckBox_Checked" Margin="5,8,0,0" Unchecked="CheckBox_Unchecked" />
|
||||
|
||||
<dxg:TreeListControl x:Name="treelistcontrol_folderStructureForSelection" Grid.Row="3" DefaultSorting="Name" Margin="5,5,5,0" VerticalAlignment="Stretch" Visibility="Visible">
|
||||
<dxg:TreeListControl.Columns>
|
||||
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
|
||||
</dxg:TreeListControl.Columns>
|
||||
<dxg:TreeListControl.View>
|
||||
<dxg:TreeListView x:Name="TreeView_folderStructureForSelection" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False" AutoWidth="True"
|
||||
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" PreviewMouseLeftButtonDown="DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown"
|
||||
NodeExpanding="DocumentsTreeView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
|
||||
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid">
|
||||
</dxg:TreeListView>
|
||||
</dxg:TreeListControl.View>
|
||||
</dxg:TreeListControl>
|
||||
|
||||
<WrapPanel Grid.Row="4" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 5 5 5">
|
||||
<Button x:Name="Button_CreateTemplateBasedDocument_OnlyOne" Content="Dokument erstellen" Margin="0 0 5 0" Click="Button_CreateTemplateForSelection_Click" />
|
||||
<Button x:Name="Button_Cancel_OnlyOne" Content="Abbrechen" Click="Button_Cancel_Click" />
|
||||
</WrapPanel>
|
||||
</Grid>
|
||||
|
||||
|
||||
</localView:BeWoView>
|
||||
235
BeWo/View/Document/SingleTemplateSelectionView.xaml.cs
Normal file
235
BeWo/View/Document/SingleTemplateSelectionView.xaml.cs
Normal file
@@ -0,0 +1,235 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
using BeWo.Controls;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.Validation;
|
||||
using BeWo.View.Search;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BeWo.Core.Service;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.ClientPartials;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Services;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Xpf.RichEdit;
|
||||
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
|
||||
using System.Linq;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using System.Windows.Media.Imaging;
|
||||
using DevExpress.Utils;
|
||||
|
||||
namespace BeWo.View.Document
|
||||
{
|
||||
public partial class SingleTemplateSelectionView
|
||||
{
|
||||
public event Action ButtonCreateClicked;
|
||||
public event Action ButtonCreateForSelectionClicked;
|
||||
public event Action ButtonCreateForAllClicked;
|
||||
public event Action ButtonCancelClicked;
|
||||
private VorlagentabelleDC vorlagenTabelle;
|
||||
private List<DokumentvorlageDC> alleVorlagen;
|
||||
private List<BeWoFolderDC> allTemplateFolder;
|
||||
private List<BeWoFolderDC> allObjectFolder;
|
||||
|
||||
public SingleTemplateSelectionView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public DocumentTreeItemVM SelectedFolder { get; set; }
|
||||
|
||||
public DokumentvorlageDC SelectedTemplate { get; set; }
|
||||
|
||||
public void InitView(VorlagentabelleDC vt, List<DokumentvorlageDC> alleVorlagen, List<BeWoFolderDC> allTemplateFolder, List<BeWoFolderDC> allObjectFolder, bool showTemplateTree, bool showDocumentTree)
|
||||
{
|
||||
//tableId = tid;
|
||||
|
||||
this.vorlagenTabelle = vt;
|
||||
this.alleVorlagen = alleVorlagen;
|
||||
this.allTemplateFolder = allTemplateFolder;
|
||||
this.allObjectFolder = allObjectFolder;
|
||||
|
||||
DokumentViewHelper.CreateTemplateTreeViewItems(treelistcontrol_template, new List<VorlagentabelleDC>() { vt }, allTemplateFolder, true);
|
||||
DokumentViewHelper.AddTemplatesToTreeView(treelistcontrol_template, alleVorlagen, true);
|
||||
|
||||
|
||||
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
|
||||
|
||||
if (!showTemplateTree)
|
||||
{
|
||||
lblTemplate.Visibility = Visibility.Collapsed;
|
||||
treelistcontrol_template.Visibility = Visibility.Collapsed;
|
||||
GridRowTemplate.Height = GridLength.Auto;
|
||||
}
|
||||
|
||||
if (!showDocumentTree)
|
||||
{
|
||||
chkSaveDoc.Visibility = Visibility.Collapsed;
|
||||
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Collapsed;
|
||||
GridRowFolder.Height = GridLength.Auto;
|
||||
}
|
||||
|
||||
Focus();
|
||||
}
|
||||
|
||||
|
||||
//private void Button_CreateTemplateBasedDocument_Click(object sender, RoutedEventArgs e)
|
||||
//{
|
||||
// selectedFolder = null;
|
||||
|
||||
// var selected = GetSelectedElements();
|
||||
|
||||
// if (selected == null || selected.Count == 0)
|
||||
// {
|
||||
// MessageBox.Show("Es muss mindestens ein Datensatz ausgewählt werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// ButtonCreateClicked?.Invoke();
|
||||
//}
|
||||
|
||||
private void Button_CreateTemplateForSelection_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var selected = treelistcontrol_template.SelectedItem as DocumentTreeItemVM;
|
||||
|
||||
if (selected == null ||selected.DataContract.Dokumentvorlage == null)
|
||||
{
|
||||
MessageBox.Show("Bitte wählen Sie eine Vorlage aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
SelectedTemplate = selected.DataContract.Dokumentvorlage;
|
||||
|
||||
ButtonCreateForSelectionClicked?.Invoke();
|
||||
}
|
||||
|
||||
//private void Button_CreateTemplateBasedDocumentForAll_Click(object sender, RoutedEventArgs e)
|
||||
//{
|
||||
// var selected = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
|
||||
|
||||
// ButtonCreateForAllClicked?.Invoke();
|
||||
//}
|
||||
|
||||
private void Button_Cancel_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ButtonCancelClicked?.Invoke();
|
||||
}
|
||||
|
||||
private void CheckBox_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SelectedFolder = null;
|
||||
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
//private void GenerateFolderStructure(TableID table, TreeListNode node, List<BeWoFolderDC> folderDCs)
|
||||
//{
|
||||
|
||||
// if (node == null)
|
||||
// {
|
||||
// node = new TreeListNode()
|
||||
// {
|
||||
// IsExpandButtonVisible = DefaultBoolean.True,
|
||||
// Tag = false,
|
||||
// Image = LoadFolderImage()
|
||||
// };
|
||||
// }
|
||||
|
||||
// var content = node.Content as DocumentTreeItemVM;
|
||||
|
||||
// foreach (var folder in folderDCs)
|
||||
// {
|
||||
// //Falls kein übergeordneter Knoten exisitert
|
||||
// //if(content == null)
|
||||
// //{
|
||||
// // PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
|
||||
// // var dc = new DocumentTreeItemDC()
|
||||
// // {
|
||||
// // DocTreeItemOid = 0,
|
||||
// // ParentOid = null,
|
||||
// // Name = "Alle Ordner",
|
||||
// // Table = table
|
||||
// // };
|
||||
// // content = new DocumentTreeItemVM(dc);
|
||||
// // node.Content = content;
|
||||
// // DocumentsTreeView_folderStructureForSelection.Nodes.Add(node);
|
||||
// //}
|
||||
|
||||
// PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
|
||||
// DocumentTreeItemDC folder_dc = new DocumentTreeItemDC()
|
||||
// {
|
||||
// DocTreeItemOid = folder.BeWoFolderOid,
|
||||
// ParentOid = null,
|
||||
// Name = folder.Name,
|
||||
// FilesInFolder = new List<FileAttachmentDC>(),
|
||||
// BeWoFolderDC = folder,
|
||||
// Table = table,
|
||||
// ObjectOid = selected.ObjectOid
|
||||
// };
|
||||
// if (content != null)
|
||||
// folder_dc.ParentOid = content.DocTreeItemOid;
|
||||
// DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(folder_dc);
|
||||
// TreeListNode newNode_folder = new TreeListNode()
|
||||
// {
|
||||
// Content = folder_vm,
|
||||
// IsExpandButtonVisible = DefaultBoolean.True,
|
||||
// Tag = false,
|
||||
// Image = LoadFolderImage()
|
||||
// };
|
||||
// folder_dc.Node = newNode_folder;
|
||||
|
||||
// if(node.Content == null)
|
||||
// DocumentsTreeView_folderStructureForSelection.Nodes.Add(newNode_folder);
|
||||
// else
|
||||
// node.Nodes.Add(newNode_folder);
|
||||
|
||||
// if (folder.SubFolders.Count != 0)
|
||||
// {
|
||||
// GenerateFolderStructure(table, newNode_folder, folder.SubFolders);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
private BitmapImage LoadFolderImage()
|
||||
{
|
||||
return new BitmapImage(new Uri("/Ressources/Icons/Folder.png", UriKind.Relative));
|
||||
}
|
||||
|
||||
private void DocumentsTreeView_FocusedRowChanged(object sender, DevExpress.Xpf.Grid.FocusedRowChangedEventArgs e)
|
||||
{
|
||||
//if(DocumentsTreeView_folderStructureForSelection.SelectedRows.Count != 0)
|
||||
// selectedFolder = DocumentsTreeView_folderStructureForSelection.SelectedRows[0] as DocumentTreeItemVM;
|
||||
}
|
||||
|
||||
private void DocumentsTreeView_NodeExpanding(object sender, DevExpress.Xpf.Grid.TreeList.TreeListNodeAllowEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (TreeView_template.SelectedRows.Count != 0)
|
||||
SelectedFolder = TreeView_template.SelectedRows[0] as DocumentTreeItemVM;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//public List<PrintSelectionVM> SelectAllElements()
|
||||
//{
|
||||
// return datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Detail.TemplatePrintSelection"
|
||||
<localView:BeWoView x:Class="BeWo.View.Document.TemplatePrintSelection"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
@@ -13,7 +13,6 @@
|
||||
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
||||
<TabControl>
|
||||
<TabItem>
|
||||
@@ -52,7 +51,7 @@
|
||||
|
||||
<WrapPanel Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 50 5 5">
|
||||
<Button x:Name="Button_Cancel_OnlyOne" Content="Abbrechen" Click="Button_Cancel_Click" Margin="0 0 5 0" />
|
||||
<Button x:Name="Button_CreateTemplateBasedDocument_OnlyOne" Content="Dokument für Auswahl erstellen" Click="Button_CreateTemplateForSelection_Click" />
|
||||
<Button x:Name="Button_CreateTemplateBasedDocument_OnlyOne" Content="Dokument erstellen" Click="Button_CreateTemplateForSelection_Click" />
|
||||
</WrapPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -28,7 +28,7 @@ using DevExpress.Xpf.Grid;
|
||||
using System.Windows.Media.Imaging;
|
||||
using DevExpress.Utils;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
namespace BeWo.View.Document
|
||||
{
|
||||
public partial class TemplatePrintSelection
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Detail.VorlageEditView"
|
||||
<localView:BeWoView x:Class="BeWo.View.Document.VorlageEditView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
@@ -37,8 +37,8 @@
|
||||
<Label Grid.Column="0" Grid.Row="0" Content="Name" />
|
||||
<Label Grid.Column="0" Grid.Row="1" Content="Beschreibung" />
|
||||
|
||||
<dxe:TextEdit x:Name="TextEdit_Vorlagenname" Grid.Column="1" Grid.Row="0" Height="23" Margin="3,0,3,3" EditValueChanged="TextEdit_Vorlagenname_EditValueChanged"/>
|
||||
<dxe:TextEdit x:Name="TextEdit_Beschreibung" Grid.Column="1" Grid.Row="1" Height="23" Margin="3,0,3,3" EditValueChanged="TextEdit_Beschreibung_EditValueChanged"/>
|
||||
<TextBox x:Name="TextEdit_Vorlagenname" Grid.Column="1" Grid.Row="0" Height="23" Margin="3,0,3,3" Text="{Binding Name}"/>
|
||||
<TextBox x:Name="TextEdit_Beschreibung" Grid.Column="1" Grid.Row="1" MinHeight="60" AcceptsReturn="True" AcceptsTab="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Height="23" Margin="3,0,3,3" Text="{Binding Beschreibung}"/>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Row="1" Margin="3 10 3 0">
|
||||
@@ -28,18 +28,18 @@ using System.Drawing;
|
||||
using DevExpress.Office.Utils;
|
||||
using System.Windows.Media.Imaging;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
namespace BeWo.View.Document
|
||||
{
|
||||
public partial class VorlageEditView
|
||||
{
|
||||
List<PlatzhalterVM> Templates = new List<PlatzhalterVM>();
|
||||
Dictionary<string, BitmapImage> ImageTypeToImage = new Dictionary<string, BitmapImage>();
|
||||
|
||||
private DokumentvorlageVM _ViewModel;
|
||||
|
||||
public DokumentvorlageDC Vorlage;
|
||||
public event Action ButtonSavedClicked;
|
||||
public event Action ButtonCancelClicked;
|
||||
|
||||
public VorlagentabelleDC VorlagenTabelle { get; set; }
|
||||
public DokumentvorlageVM ViewModel { get; set; }
|
||||
|
||||
public VorlageEditView()
|
||||
@@ -56,46 +56,27 @@ namespace BeWo.View.Detail
|
||||
// !_SelectedEmployee.Equals(ViewModel.SelectedVMForEditing.Employee))
|
||||
// return true;
|
||||
|
||||
return _ViewModel != null && _ViewModel.IsDirty;
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public void InitView(DokumentvorlageVM pVM, long? tabelle)
|
||||
public void InitView(VorlagentabelleDC vorlagenTabelle, DokumentvorlageVM pVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ViewModel = pVM;
|
||||
_ViewModel = pVM;
|
||||
VorlagenTabelle = vorlagenTabelle;
|
||||
var copy = new DokumentvorlageVM(pVM.DataContract);
|
||||
ViewModel = copy;
|
||||
|
||||
DataContext = pVM;
|
||||
|
||||
if(pVM.Name != null)
|
||||
{
|
||||
TextEdit_Vorlagenname.EditValue = pVM.Name;
|
||||
TextEdit_Vorlagenname.DataContext = pVM.Name;
|
||||
TextEdit_Vorlagenname.Text = pVM.Name;
|
||||
}
|
||||
if (pVM.Beschreibung != null)
|
||||
{
|
||||
TextEdit_Beschreibung.EditValue = pVM.Beschreibung;
|
||||
TextEdit_Beschreibung.DataContext = pVM.Beschreibung;
|
||||
TextEdit_Beschreibung.Text = pVM.Beschreibung;
|
||||
}
|
||||
if (pVM.Text != null)
|
||||
{
|
||||
EditorControl.RtfText = pVM.RTFText;
|
||||
}
|
||||
|
||||
|
||||
switch(tabelle)
|
||||
{
|
||||
case 1: Templates = TemplatesForSupportConcepts();break;
|
||||
case 2: Templates = TemplatesForCustomers();break;
|
||||
case 3: Templates = TemplatesForEmployee();break;
|
||||
}
|
||||
|
||||
//LoadImagesForNodes(Templates);
|
||||
|
||||
TreeListControlTemplates.ItemsSource = Templates;
|
||||
TreeListControlTemplates.ItemsSource = GetPlatzhalter();
|
||||
|
||||
Focus();
|
||||
}
|
||||
@@ -163,20 +144,11 @@ namespace BeWo.View.Detail
|
||||
// return templates;
|
||||
//}
|
||||
|
||||
private List<PlatzhalterVM> TemplatesForSupportConcepts()
|
||||
private List<PlatzhalterVM> GetPlatzhalter()
|
||||
{
|
||||
return ConvertListOfDataContractsToViewModels(ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForSupportConcept()));
|
||||
return ConvertListOfDataContractsToViewModels(ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForTemplate(VorlagenTabelle)));
|
||||
|
||||
}
|
||||
private List<PlatzhalterVM> TemplatesForCustomers()
|
||||
{
|
||||
return ConvertListOfDataContractsToViewModels(ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForCustomer()));
|
||||
}
|
||||
private List<PlatzhalterVM> TemplatesForEmployee()
|
||||
{
|
||||
return ConvertListOfDataContractsToViewModels(ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForEmployee()));
|
||||
}
|
||||
|
||||
/*
|
||||
private void combobox_templates_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
@@ -229,16 +201,6 @@ namespace BeWo.View.Detail
|
||||
ButtonCancelClicked?.Invoke();
|
||||
}
|
||||
}
|
||||
private void TextEdit_Vorlagenname_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
|
||||
{
|
||||
if (TextEdit_Vorlagenname.EditValue != null)
|
||||
ViewModel.Name = TextEdit_Vorlagenname.EditValue.ToString();
|
||||
}
|
||||
private void TextEdit_Beschreibung_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
|
||||
{
|
||||
if (TextEdit_Beschreibung.EditValue != null)
|
||||
ViewModel.Beschreibung = TextEdit_Beschreibung.EditValue.ToString();
|
||||
}
|
||||
|
||||
// Mouseup, um die aktuelle Position des Cursors zu speichern, um dort den Platzhalter an der aktuellen Stelle einzusetzen
|
||||
// Klappt nur, wenn in Text geklickt wird und nicht hinter ein Wort..
|
||||
@@ -1,21 +1,32 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Master.AdministrationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
||||
Height="Auto" Width="Auto"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
||||
<localView:BeWoView
|
||||
x:Class="BeWo.View.Master.AdministrationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
||||
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True"
|
||||
Loaded="AdministrationView_Loaded">
|
||||
<Grid>
|
||||
<uc:ShadowChrome>
|
||||
<GroupBox Style="{StaticResource MainContentGroupBoxStyle}">
|
||||
<GroupBox.Header>
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0,11,0,0">
|
||||
<Image Source="..\..\Ressources\Icons\ConfigurationDisabled.png" RenderTransformOrigin="0.5,0.5"
|
||||
Width="32">
|
||||
<StackPanel
|
||||
Margin="0,11,0,0"
|
||||
VerticalAlignment="Bottom"
|
||||
Orientation="Horizontal">
|
||||
<Image
|
||||
Width="32"
|
||||
RenderTransformOrigin="0.5,0.5"
|
||||
Source="..\..\Ressources\Icons\ConfigurationDisabled.png">
|
||||
<Image.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1.3" ScaleY="1.3" />
|
||||
@@ -25,10 +36,16 @@
|
||||
</TransformGroup>
|
||||
</Image.RenderTransform>
|
||||
</Image>
|
||||
<TextBox Text="Verwaltung" Margin="10,0,0,0" Background="{x:Null}"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}" FontSize="22"
|
||||
BorderBrush="{x:Null}" VerticalAlignment="Stretch" Padding="0,0,0,0"
|
||||
BorderThickness="0,0,0,0" />
|
||||
<TextBox
|
||||
Margin="10,0,0,0"
|
||||
Padding="0,0,0,0"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="{x:Null}"
|
||||
BorderBrush="{x:Null}"
|
||||
BorderThickness="0,0,0,0"
|
||||
FontSize="22"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}"
|
||||
Text="Verwaltung" />
|
||||
</StackPanel>
|
||||
</GroupBox.Header>
|
||||
<Grid Margin="0,0,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
|
||||
@@ -37,61 +54,205 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle Fill="{DynamicResource AdministrationContentBrush}" Height="6" />
|
||||
<Rectangle Height="6" Fill="{DynamicResource AdministrationContentBrush}" />
|
||||
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="255"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="255" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Margin="5" VerticalAlignment="Stretch" Background="Transparent" >
|
||||
<dxa:AccordionControl x:Name="Root" Background="Transparent" VerticalAlignment="Top" dx:ThemeManager.ThemeName="Office2013" BorderThickness="0" RootItemExpandButtonPosition="Left">
|
||||
<dxa:AccordionItem Header="{markup:Translate Allgemein}" Tag="Header" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Einstellungen}" Name="TabitemMandator" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Ankündigungen}" Name="TabitemNews" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<Border
|
||||
Margin="5"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Transparent">
|
||||
<dxa:AccordionControl
|
||||
x:Name="Root"
|
||||
VerticalAlignment="Top"
|
||||
dx:ThemeManager.ThemeName="Office2013"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
RootItemExpandButtonPosition="Left">
|
||||
<dxa:AccordionItem
|
||||
Foreground="{StaticResource TabItemTextBrush}"
|
||||
Header="{markup:Translate Allgemein}"
|
||||
Tag="Header">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemMandator"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Einstellungen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemNews"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Ankündigungen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
</dxa:AccordionItem>
|
||||
<dxa:AccordionItem Header="{markup:Translate Klienten}" Foreground="{StaticResource TabItemTextBrush}" >
|
||||
<dxa:AccordionItem Header="{markup:Translate Behinderungskategorien}" Name="TabitemDisablityTypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Betreuungsarten}" Name="TabitemCustomerCareTypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Gründe für Beendigung der Betreuung}" Name="TabitemTerminationReasons" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Medikamentenarten}" Name="TabitemMedikamentenarten" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Rollen des Umfeldes}" Name="TabitemEnvironmentRoles" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Vermittlung}" Name="TabitemPlacementObjectives" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{t:Translate Falldaten}" Foreground="Black" Name="TabitemFalldaten">
|
||||
<dxa:AccordionItem Header="{markup:Translate Auftragsherkunft}" Name="TabitemAuftragsherkunft" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Vermittlungsgrundlage}" Name="TabitemVermittlungsgrundlage" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="{markup:Translate Klienten}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemDisablityTypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Behinderungskategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemCustomerCareTypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Betreuungsarten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemTerminationReasons"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Gründe für Beendigung der Betreuung}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemMedikamentenarten"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Medikamentenarten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemEnvironmentRoles"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Rollen des Umfeldes}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemPlacementObjectives"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Vermittlung}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemFalldaten"
|
||||
Foreground="Black"
|
||||
Header="{t:Translate Falldaten}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAuftragsherkunft"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Auftragsherkunft}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemVermittlungsgrundlage"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Vermittlungsgrundlage}"
|
||||
Selected="Tabitem_Selected" />
|
||||
</dxa:AccordionItem>
|
||||
|
||||
|
||||
</dxa:AccordionItem>
|
||||
<dxa:AccordionItem Header="{t:Translate MitarbeiterPlural}" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Qualifikationen}" Name="TabitemQualificationTypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Beschäftigungsarten}" Name="TabitemEmploymentTypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Qualifikationsbedarf}" Name="TabitemQualifikationsbedarf" Selected="Tabitem_Selected" Foreground="Black" Visibility="Collapsed"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Rollen des Personals}" Name="TabitemRoles" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Schwerpunkte des Personals}" Name="TabitemActivityFocus" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Überstunden Auszahlungsarten}" Name="TabitemAuszahlungsarten" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Vertragsarten}" Name="TabitemContracttypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="{t:Translate MitarbeiterPlural}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemQualificationTypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Qualifikationen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemEmploymentTypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Beschäftigungsarten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemQualifikationsbedarf"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Qualifikationsbedarf}"
|
||||
Selected="Tabitem_Selected"
|
||||
Visibility="Collapsed" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemRoles"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Rollen des Personals}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemActivityFocus"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Schwerpunkte des Personals}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAuszahlungsarten"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Überstunden Auszahlungsarten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemContracttypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Vertragsarten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
</dxa:AccordionItem>
|
||||
<dxa:AccordionItem Header="{markup:Translate Personen}" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Aufenthaltsstatus}" Name="TabitemAufenthaltsstatus" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Funktionen}" Name="TabitemFunctions" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Nationalitäten}" Name="TabitemNationality" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Titel}" Name="TabitemTitles" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="{markup:Translate Personen}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAufenthaltsstatus"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Aufenthaltsstatus}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemFunctions"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Funktionen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemNationality"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Nationalitäten}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemTitles"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Titel}"
|
||||
Selected="Tabitem_Selected" />
|
||||
</dxa:AccordionItem>
|
||||
|
||||
<dxa:AccordionItem Header="{markup:Translate Zeiterfassung}" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Angebote}" Name="TabitemAdditionalServiceRegions" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Bereiche}" Name="TabitemAdditionalServices" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Bewertungsskala}" Name="TabitemRatingTypes" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Dokumentationsfelder}" Name="TabitemDokumenttype" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Leistungskategorien}" Name="TabitemServiceCategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Leistungen}" Name="TabitemServiceDescriptions" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Punktebogen Werte}" Name="TabitemAssessmentSheetValues" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Punktebogen Kategorien}" Name="TabitemAssessmentSheetCategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Textbausteine}" Name="TabitemTextbausteine" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="{markup:Translate Zeiterfassung}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAdditionalServiceRegions"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Angebote}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAdditionalServices"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Bereiche}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemRatingTypes"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Bewertungsskala}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemDokumenttype"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Dokumentationsfelder}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemServiceCategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Leistungskategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemServiceDescriptions"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Leistungen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAssessmentSheetValues"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Punktebogen Werte}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAssessmentSheetCategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Punktebogen Kategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemTextbausteine"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Textbausteine}"
|
||||
Selected="Tabitem_Selected" />
|
||||
|
||||
<dxa:AccordionItem Header="{markup:Translate Ziele und Maßnahmen}" Name="TabitemGoalcategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Maßnahmenkatalog}" Name="TabitemMassnahmen" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemGoalcategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Ziele und Maßnahmen}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemMassnahmen"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Maßnahmenkatalog}"
|
||||
Selected="Tabitem_Selected" />
|
||||
|
||||
|
||||
|
||||
@@ -100,45 +261,110 @@
|
||||
</dxa:AccordionItem>
|
||||
|
||||
|
||||
<dxa:AccordionItem Header="{markup:Translate Kalender}" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Ressourcenkategorien}" Name="TabitemResourceCategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Ressource}" Name="TabitemResources" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="{markup:Translate Kalender}">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemResourceCategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Ressourcenkategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemResources"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Ressource}"
|
||||
Selected="Tabitem_Selected" />
|
||||
</dxa:AccordionItem>
|
||||
<dxa:AccordionItem Header="Sonstiges" Foreground="{StaticResource TabItemTextBrush}">
|
||||
<dxa:AccordionItem Header="{markup:Translate Abwesenheitskategorien}" Name="TabitemAbsenceCategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Budgets}" Name="TabitemBudgets" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Preise}" Name="TabitemPreise" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Dienste}" Name="TabitemDienste" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Finanzkategorien}" Name="TabitemFinazCategories" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Notizenkategorie}" Name="TabitemNotizenkategorie" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
<dxa:AccordionItem Header="{markup:Translate Schulbegleitender Dienst}" Name="TabitemSbd" Selected="Tabitem_Selected" Foreground="Black"/>
|
||||
|
||||
<dxa:AccordionItem Foreground="{StaticResource TabItemTextBrush}" Header="Sonstiges">
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemAbsenceCategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Abwesenheitskategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemBudgets"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Budgets}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemPreise"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Preise}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemDienste"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Dienste}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemFinazCategories"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Finanzkategorien}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemNotizenkategorie"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Notizenkategorie}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemSbd"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Schulbegleitender Dienst}"
|
||||
Selected="Tabitem_Selected" />
|
||||
<dxa:AccordionItem
|
||||
Name="TabitemSozioTherapie"
|
||||
Foreground="Black"
|
||||
Header="{markup:Translate Soziotherapie}"
|
||||
Selected="Tabitem_Selected"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
|
||||
</dxa:AccordionItem>
|
||||
</dxa:AccordionControl>
|
||||
</Border>
|
||||
|
||||
<ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
|
||||
<Border Margin="5" VerticalAlignment="Stretch" x:Name="ContentBorder" >
|
||||
</Border>
|
||||
<ScrollViewer
|
||||
Grid.Column="1"
|
||||
PreviewMouseWheel="ScrollViewer_PreviewMouseWheel"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Border
|
||||
x:Name="ContentBorder"
|
||||
Margin="5"
|
||||
VerticalAlignment="Stretch" />
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
||||
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="40" Margin="0,0,0,0" VerticalAlignment="Stretch"
|
||||
Background="#FF000000">
|
||||
<Border
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="40"
|
||||
Margin="0,0,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 StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#19000000" />
|
||||
<GradientStop Offset="1" Color="#33FFFFFF" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
|
||||
</Border>
|
||||
<StackPanel Grid.ColumnSpan="3" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center"
|
||||
Height="Auto" Margin="0,5,5,0" HorizontalAlignment="Right">
|
||||
<Button x:Name="btnSave" Command="ApplicationCommands.Save" Content="Speichern" Margin="0,0,2,0"
|
||||
Height="25" />
|
||||
<Button x:Name="btnClose" Command="ApplicationCommands.Close" Content="Schließen" Margin="0,0,0,0"
|
||||
Height="25" />
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="Auto"
|
||||
Margin="0,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
x:Name="btnSave"
|
||||
Height="25"
|
||||
Margin="0,0,2,0"
|
||||
Command="ApplicationCommands.Save"
|
||||
Content="Speichern" />
|
||||
<Button
|
||||
x:Name="btnClose"
|
||||
Height="25"
|
||||
Margin="0,0,0,0"
|
||||
Command="ApplicationCommands.Close"
|
||||
Content="Schließen" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
@@ -13,413 +13,595 @@ using BeWo.View.Detail;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using DevExpress.Xpf.Accordion;
|
||||
using BeWo.View.Detail.Administration;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace BeWo.View.Master
|
||||
{
|
||||
public partial class AdministrationView
|
||||
{
|
||||
private readonly Dictionary<String, BeWoView> _OpenViews = new Dictionary<String, BeWoView>();
|
||||
public partial class AdministrationView
|
||||
{
|
||||
private readonly Dictionary<string, BeWoView> _OpenViews = new Dictionary<string, BeWoView>();
|
||||
|
||||
private BeWoView _SelectedView;
|
||||
private BeWoView _SelectedView;
|
||||
|
||||
private MandatorVM _MandatorVM;
|
||||
|
||||
public AdministrationView()
|
||||
{
|
||||
InitializeComponent();
|
||||
//GenerateNewView(TabitemMandator);
|
||||
Root.SelectedItem = TabitemMandator;
|
||||
public AdministrationView()
|
||||
{
|
||||
InitializeComponent();
|
||||
//GenerateNewView(TabitemMandator);
|
||||
|
||||
this.Loaded += AdministrationView_Loaded;
|
||||
|
||||
|
||||
MouseMove += (s, e) =>
|
||||
{
|
||||
var p = e.GetPosition(btnSave);
|
||||
|
||||
if (p.X >= 0 && p.X < btnSave.ActualWidth && p.Y >= 0 && p.Y < btnSave.ActualHeight)
|
||||
{
|
||||
Root.Focus();
|
||||
}
|
||||
};
|
||||
|
||||
MouseMove += (s, e) =>
|
||||
{
|
||||
var p = e.GetPosition(btnSave);
|
||||
#region Rechte
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AssessmentSheet_View))
|
||||
{
|
||||
TabitemAssessmentSheetValues.Visibility = Visibility.Collapsed;
|
||||
TabitemAssessmentSheetCategories.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (p.X >= 0 && p.X < btnSave.ActualWidth && p.Y >= 0 && p.Y < btnSave.ActualHeight)
|
||||
{
|
||||
Root.Focus();
|
||||
}
|
||||
};
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AdditionalService_View))
|
||||
{
|
||||
TabitemAdditionalServices.Visibility = Visibility.Collapsed;
|
||||
TabitemAdditionalServiceRegions.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
#region Rechte
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AssessmentSheet_View))
|
||||
{
|
||||
TabitemAssessmentSheetValues.Visibility = Visibility.Collapsed;
|
||||
TabitemAssessmentSheetCategories.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
TabitemAuszahlungsarten.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OvertimeView)
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AdditionalService_View))
|
||||
{
|
||||
TabitemAdditionalServices.Visibility = Visibility.Collapsed;
|
||||
TabitemAdditionalServiceRegions.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
if (!BeWoApp.AppSettings.IsMedicationAllowed)
|
||||
{
|
||||
TabitemMedikamentenarten.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
TabitemAuszahlungsarten.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OvertimeView)
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.TextbausteineAlleAnsehen) &&
|
||||
!BeWoApp.LoggedOnUser.HasRight(UserRightType.TextbausteineAlleBearbeiten))
|
||||
{
|
||||
TabitemTextbausteine.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (!BeWoApp.AppSettings.IsMedicationAllowed)
|
||||
{
|
||||
TabitemMedikamentenarten.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.TextbausteineAlleAnsehen) &&
|
||||
!BeWoApp.LoggedOnUser.HasRight(UserRightType.TextbausteineAlleBearbeiten))
|
||||
{
|
||||
TabitemTextbausteine.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
TabitemSbd.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
TabitemSbd.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
TabitemSbd.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
TabitemSbd.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
#if DEBUG
|
||||
TabitemSbd.Visibility = Visibility.Visible;
|
||||
TabitemSbd.Visibility = Visibility.Visible;
|
||||
#endif
|
||||
if (BeWoApp.AppSettings.ShowDienstplanung)
|
||||
{
|
||||
TabitemDienste.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
TabitemDienste.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatAdminSettings) || !BeWoApp.AppSettings.ShowOwnChatSettings)
|
||||
//{
|
||||
// TabitemOwnChatSettings.Visibility = Visibility.Collapsed;
|
||||
//}
|
||||
if (BeWoApp.AppSettings.ShowDienstplanung)
|
||||
{
|
||||
TabitemDienste.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
TabitemDienste.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatAdminSettings) || !BeWoApp.AppSettings.ShowOwnChatSettings)
|
||||
//{
|
||||
// TabitemOwnChatSettings.Visibility = Visibility.Collapsed;
|
||||
//}
|
||||
|
||||
#if DEBUG
|
||||
TabitemDienste.Visibility = Visibility.Visible;
|
||||
TabitemDienste.Visibility = Visibility.Visible;
|
||||
#endif
|
||||
|
||||
if (!BeWoApp.AppSettings.ShowWohnhilfe)
|
||||
{
|
||||
TabitemFalldaten.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
#endregion
|
||||
if (!BeWoApp.AppSettings.ShowWohnhilfe)
|
||||
{
|
||||
TabitemFalldaten.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void AdministrationView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ExpandItems();
|
||||
}
|
||||
|
||||
private void ExpandItems()
|
||||
{
|
||||
if (!String.IsNullOrEmpty(BeWoApp.AppSettings.ExpandedAdministrationItems))
|
||||
{
|
||||
foreach (AccordionItem item in Root.Items)
|
||||
{
|
||||
item.IsExpanded = false;
|
||||
if (BeWoApp.AppSettings.ExpandedAdministrationItems.Contains(":" + item.Header))
|
||||
{
|
||||
item.ExpandSubtree();
|
||||
item.IsExpanded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//foreach (AccordionItem item in Root.Items)
|
||||
//{
|
||||
// item.IsExpanded = true;
|
||||
//}
|
||||
}
|
||||
}
|
||||
public override bool IsDirty => SelectedView != null &&
|
||||
SelectedView.IsDirty;
|
||||
public BeWoView SelectedView
|
||||
{
|
||||
get => _SelectedView;
|
||||
set
|
||||
{
|
||||
if (value == null) return;
|
||||
|
||||
private void Tabitem_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!(sender is AccordionItem selectedAccordionItem))
|
||||
return;
|
||||
_SelectedView = value;
|
||||
ContentBorder.Child = value;
|
||||
}
|
||||
}
|
||||
public MandatorVM MandatorVM
|
||||
{
|
||||
get => _MandatorVM;
|
||||
set
|
||||
{
|
||||
_MandatorVM = value;
|
||||
|
||||
if (_OpenViews.ContainsKey(selectedAccordionItem.Header.ToString()))
|
||||
SetView(_OpenViews[selectedAccordionItem.Header.ToString()]);
|
||||
else
|
||||
GenerateNewView(selectedAccordionItem);
|
||||
}
|
||||
if (_OpenViews.TryGetValue(TabitemMandator.Header.ToString(), out var cachedView) && cachedView is MandatorView mandatorView)
|
||||
{
|
||||
mandatorView.ViewModel = value;
|
||||
}
|
||||
|
||||
public override bool IsDirty => SelectedView != null &&
|
||||
SelectedView.IsDirty;
|
||||
if (_OpenViews.TryGetValue(TabitemSozioTherapie.Header.ToString(), out var cachedView2) && cachedView2 is SoziotherapieSettingsView soziotherapieSettingsView)
|
||||
{
|
||||
soziotherapieSettingsView.ViewModel = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
internal override DependencyObject ValidationOnSaveRootElement =>
|
||||
SelectedView.ValidationOnSaveRootElement;
|
||||
|
||||
public BeWoView SelectedView
|
||||
{
|
||||
get => _SelectedView;
|
||||
set
|
||||
{
|
||||
if (value == null) return;
|
||||
private void AdministrationView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ExpandItems();
|
||||
}
|
||||
private void Tabitem_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!(sender is AccordionItem selectedAccordionItem))
|
||||
return;
|
||||
|
||||
_SelectedView = value;
|
||||
ContentBorder.Child = value;
|
||||
}
|
||||
}
|
||||
var header = selectedAccordionItem.Header.ToString();
|
||||
if (_OpenViews.TryGetValue(header, out var view))
|
||||
{
|
||||
if (view is object)
|
||||
SetView(_OpenViews[header]);
|
||||
}
|
||||
else
|
||||
GenerateNewView(selectedAccordionItem);
|
||||
|
||||
internal override DependencyObject ValidationOnSaveRootElement =>
|
||||
SelectedView.ValidationOnSaveRootElement;
|
||||
BeWoApp.AppSettings.SelectedAdministrationItem = header;
|
||||
}
|
||||
|
||||
internal override bool DoSaveCheck()
|
||||
{
|
||||
BeWoApp.AppSettings.ExpandedAdministrationItems = "";
|
||||
// // ALT - BITTE NICHT ENTFERNEN
|
||||
// // Kann verwendet werden, wenn das cachen vom Asynchronen Speichern doch zu Fehlern führt
|
||||
//internal override bool DoSaveCheck()
|
||||
//{
|
||||
// var selected = (AccordionItem)Root.SelectedItem;
|
||||
// var header = selected.Header.ToString();
|
||||
|
||||
if (Root != null)
|
||||
{
|
||||
foreach (AccordionItem ai in Root.Items)
|
||||
{
|
||||
if (ai.IsExpanded)
|
||||
{
|
||||
BeWoApp.AppSettings.ExpandedAdministrationItems += ":" + ai.Header;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// BeWoApp.AppSettings.ExpandedAdministrationItems = "";
|
||||
|
||||
if (!(Root.SelectedItem is AccordionItem item) || !_OpenViews.ContainsKey(item.Header.ToString())) return true;
|
||||
// if (Root != null)
|
||||
// {
|
||||
// foreach (AccordionItem ai in Root.Items)
|
||||
// {
|
||||
// if (ai.IsExpanded)
|
||||
// {
|
||||
// BeWoApp.AppSettings.ExpandedAdministrationItems += ":" + ai.Header;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
var lDoSave = SelectedView.DoSaveCheck();
|
||||
// if (SelectedView is null)
|
||||
// return true;
|
||||
|
||||
if (!lDoSave || !IsDirty) return lDoSave;
|
||||
// var lDoSave = SelectedView.DoSaveCheck();
|
||||
|
||||
_OpenViews.Remove(((AccordionItem)Root.SelectedItem).Header.ToString());
|
||||
// // Speicheranfrage abgelehnt
|
||||
// if (!lDoSave)
|
||||
// return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
// // Synchron gespeichert o. keine Änderung
|
||||
// if (!IsDirty)
|
||||
// return true;
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
SelectedView.SaveData();
|
||||
}
|
||||
// if (selected == TabitemMandator || selected == TabitemSozioTherapie)
|
||||
// {
|
||||
// _OpenViews.Remove(TabitemMandator.Header.ToString());
|
||||
// _OpenViews.Remove(TabitemSozioTherapie.Header.ToString());
|
||||
|
||||
private void AddView(AccordionItem pTabItem, BeWoView pView)
|
||||
{
|
||||
pView.VerticalAlignment = VerticalAlignment.Top;
|
||||
// MandatorVM = null;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// _OpenViews.Remove(header);
|
||||
// }
|
||||
|
||||
if (ActualHeight > 120 && !(pView is MandatorView))
|
||||
{
|
||||
pView.MaxHeight = ActualHeight - 120;
|
||||
}
|
||||
// return true;
|
||||
//}
|
||||
|
||||
_OpenViews.Add(pTabItem.Header.ToString(), pView);
|
||||
SetView(pView);
|
||||
}
|
||||
internal override bool DoSaveCheck()
|
||||
{
|
||||
var selected = (AccordionItem)Root.SelectedItem;
|
||||
var header = selected.Header.ToString();
|
||||
|
||||
private void SetView(BeWoView newView)
|
||||
{
|
||||
if (newView == null || Equals(newView, SelectedView)) return;
|
||||
BeWoApp.AppSettings.ExpandedAdministrationItems = "";
|
||||
|
||||
newView.Margin = new Thickness(0);
|
||||
if (Root != null)
|
||||
{
|
||||
foreach (AccordionItem ai in Root.Items)
|
||||
{
|
||||
if (ai.IsExpanded)
|
||||
{
|
||||
BeWoApp.AppSettings.ExpandedAdministrationItems += ":" + ai.Header;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ContentBorder.Child == null)
|
||||
SelectedView = newView;
|
||||
else if (DoSaveCheck())
|
||||
SelectedView = newView;
|
||||
}
|
||||
if (SelectedView is null)
|
||||
return true;
|
||||
|
||||
private void GenerateNewView(AccordionItem accordionItem)
|
||||
{
|
||||
if (accordionItem == null)
|
||||
return;
|
||||
var lDoSave = SelectedView.DoSaveCheck();
|
||||
|
||||
switch (accordionItem.Name)
|
||||
{
|
||||
case nameof(TabitemMandator):
|
||||
ServiceFacade.DoAccountingServiceAsync(s => s.LoadInvoiceNumberList(),
|
||||
inl => ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.GetMandator(),
|
||||
m =>
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
var vmList = new List<InvoiceNumberVM>();
|
||||
foreach (var indc in inl)
|
||||
{
|
||||
vmList.Add(new InvoiceNumberVM(indc));
|
||||
}
|
||||
AddView(TabitemMandator, new MandatorView(new MandatorVM(vmList, m)));
|
||||
})));
|
||||
return;
|
||||
case nameof(TabitemQualificationTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffQualificationsType,
|
||||
r => this.Dispatch(() => AddView(TabitemQualificationTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemQualifikationsbedarf):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.QualifikationsBedarf,
|
||||
r => this.Dispatch(() => AddView(TabitemQualifikationsbedarf, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemAbsenceCategories):
|
||||
VMFactory.CreateAbsenceReasonListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAbsenceCategories, new AbsenceReasonView(r))));
|
||||
return;
|
||||
case nameof(TabitemDisablityTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.DisabilityType,
|
||||
r => this.Dispatch(() => AddView(TabitemDisablityTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemEmploymentTypes):
|
||||
VMFactory.CreateEmploymentTypeListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemEmploymentTypes, new EmploymentTypeView(r))));
|
||||
return;
|
||||
case nameof(TabitemCustomerCareTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.CustomerCareType,
|
||||
r => this.Dispatch(() => AddView(TabitemCustomerCareTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemTerminationReasons):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.TerminationReasonType,
|
||||
r => this.Dispatch(() => AddView(TabitemTerminationReasons, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemPlacementObjectives):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.PlacementObjectiveType,
|
||||
r => this.Dispatch(() => AddView(TabitemPlacementObjectives, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemTitles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.TitleType,
|
||||
r => this.Dispatch(() => AddView(TabitemTitles, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemFunctions):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.FunctionType,
|
||||
personFunctionList => VMFactory.CreateValueListVMAsync(
|
||||
ValueListEntryType.OrganisationFunctionType,
|
||||
orgFunctionList =>
|
||||
this.Dispatch(() => AddView(TabitemFunctions,
|
||||
new EnvironmentRoleView(personFunctionList, orgFunctionList)))));
|
||||
return;
|
||||
case nameof(TabitemNationality):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Nationality,
|
||||
natList =>
|
||||
this.Dispatch(() => AddView(TabitemNationality, new ValueListView(natList))));
|
||||
return;
|
||||
case nameof(TabitemAufenthaltsstatus):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Aufenthaltsstatus,
|
||||
orgList =>
|
||||
this.Dispatch(() => AddView(TabitemAufenthaltsstatus, new AufenthaltsView(orgList))));
|
||||
return;
|
||||
case nameof(TabitemFinazCategories):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.AccountingTransactionType,
|
||||
r => this.Dispatch(() => AddView(TabitemFinazCategories, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemServiceCategories):
|
||||
VMFactory.CreateServiceCategoryListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemServiceCategories, new ServiceCategoryView(r))));
|
||||
return;
|
||||
case nameof(TabitemServiceDescriptions):
|
||||
VMFactory.CreateServiceDescriptionListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemServiceDescriptions, new ServiceDescriptionView(r))));
|
||||
return;
|
||||
case nameof(TabitemTextbausteine):
|
||||
VMFactory.CreateTextModuleListVMAsync(
|
||||
r => this.Dispatch(() => AddView(TabitemTextbausteine, new TextbausteinView(r, true))), true,
|
||||
true);
|
||||
return;
|
||||
case nameof(TabitemMedikamentenarten):
|
||||
VMFactory.CreateMedArtListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemMedikamentenarten, new MedikamentenartenView(r))));
|
||||
return;
|
||||
case nameof(TabitemRoles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffRoleType,
|
||||
r => this.Dispatch(() => AddView(TabitemRoles, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemEnvironmentRoles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.EnvironmentPersonType,
|
||||
personList => VMFactory.CreateValueListVMAsync(ValueListEntryType.RoleInOrganisationType,
|
||||
roleInOrgList => VMFactory.CreateValueListVMAsync(
|
||||
ValueListEntryType.EnvironmentOrganisationType,
|
||||
orgList => VMFactory.CreateValueListVMAsync(ValueListEntryType.RoleInFamily,
|
||||
roleInFamily => this.Dispatch(() => AddView(TabitemEnvironmentRoles,
|
||||
new EnvironmentRoleView(personList, orgList, roleInOrgList, roleInFamily)))))));
|
||||
return;
|
||||
case nameof(TabitemActivityFocus):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffActivityFocusType,
|
||||
r => this.Dispatch(() => AddView(TabitemActivityFocus, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemResourceCategories):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.ResourceCategory,
|
||||
r => this.Dispatch(() => AddView(TabitemResourceCategories, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemResources):
|
||||
VMFactory.CreateResourceListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemResources, new RessourceView(r))));
|
||||
return;
|
||||
case nameof(TabitemGoalcategories):
|
||||
VMFactory.CreateGoalCategoryVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemGoalcategories, new MassnahmenTreeViewView(r))));
|
||||
return;
|
||||
case nameof(TabitemMassnahmen):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.MassnahmenKatalog,
|
||||
r => this.Dispatch(() => AddView(TabitemMassnahmen, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemNews):
|
||||
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllNewsItems(),
|
||||
cb => this.Dispatch(() => AddView(TabitemNews, new NewsItemView(new NewsItemListVM(cb)))));
|
||||
return;
|
||||
case nameof(TabitemAssessmentSheetValues):
|
||||
VMFactory.CreateAssessmentSheetValueListVM(m =>
|
||||
this.Dispatch(() => AddView(TabitemAssessmentSheetValues, new AssessmentSheetValueView(m))));
|
||||
return;
|
||||
case nameof(TabitemAssessmentSheetCategories):
|
||||
VMFactory.CreateAssessmentSheetCategoryListVM(m => this.Dispatch(() =>
|
||||
AddView(TabitemAssessmentSheetCategories, new AssessmentSheetCategoryView(m))));
|
||||
return;
|
||||
case nameof(TabitemAdditionalServices):
|
||||
VMFactory.CreateAdditionalServiceListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAdditionalServices, new AdditionalServiceAddView(r))));
|
||||
return;
|
||||
case nameof(TabitemAdditionalServiceRegions):
|
||||
VMFactory.CreateAdditionalServiceRegionListVMAsync(r =>
|
||||
this.Dispatch(
|
||||
() => AddView(TabitemAdditionalServiceRegions, new AdditionalServiceRegionView(r))));
|
||||
return;
|
||||
case nameof(TabitemAuszahlungsarten):
|
||||
VMFactory.CreateAuszahlungsartenListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAuszahlungsarten, new AuszahlungsartenAddView(r))));
|
||||
return;
|
||||
case nameof(TabitemDokumenttype):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.DocumentType,
|
||||
r => this.Dispatch(() => AddView(TabitemDokumenttype, new DokumentationstypView(r))));
|
||||
return;
|
||||
case nameof(TabitemSbd):
|
||||
VMFactory.CreateSbdAdminVMAsync(r => this.Dispatch(() => AddView(TabitemSbd, new SbdAdminView(r))));
|
||||
return;
|
||||
case nameof(TabitemContracttypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.ContractType,
|
||||
r => this.Dispatch(() => AddView(TabitemContracttypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemBudgets):
|
||||
VMFactory.CreateBudgetListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemBudgets, new BudgetView(r))));
|
||||
return;
|
||||
case nameof(TabitemPreise):
|
||||
VMFactory.CreatePreisListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemPreise, new PreisView(r))));
|
||||
return;
|
||||
case nameof(TabitemDienste):
|
||||
VMFactory.CreateDienstListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemDienste, new DienstView(r))));
|
||||
return;
|
||||
case nameof(TabitemNotizenkategorie):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.NotizenKategorieEmployee,
|
||||
notizEmpList => VMFactory.CreateValueListVMAsync(ValueListEntryType.NotizenKategorieCustomer,
|
||||
notizCosList => this.Dispatch(() => AddView(TabitemNotizenkategorie, new NotizenKategorieView(notizEmpList, notizCosList)))));
|
||||
return;
|
||||
case nameof(TabitemRatingTypes):
|
||||
VMFactory.CreateRatingTypeListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemRatingTypes, new RatingTypeView(r))));
|
||||
return;
|
||||
case nameof(TabitemAuftragsherkunft):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Auftragsherkunft,
|
||||
r => this.Dispatch(() => AddView(TabitemAuftragsherkunft, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemVermittlungsgrundlage):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Vermittlungsgrundlage,
|
||||
r => this.Dispatch(() => AddView(TabitemVermittlungsgrundlage, new ValueListView(r))));
|
||||
return;
|
||||
}
|
||||
// Speicheranfrage abgelehnt
|
||||
if (!lDoSave)
|
||||
return false;
|
||||
|
||||
throw new ArgumentOutOfRangeException(nameof(accordionItem));
|
||||
}
|
||||
}
|
||||
// Synchron gespeichert o. keine Änderung
|
||||
if (!IsDirty)
|
||||
return true;
|
||||
|
||||
// Asynchrones speichern
|
||||
//if (ServiceFacade.IsWaiting())
|
||||
if(false)
|
||||
{
|
||||
//Task.Run(() => ServiceFacade.WaitUntilAsyncIsFinished((s) => DoSaveCheckCallback(s, selected, header)));
|
||||
}
|
||||
// Verwerfen
|
||||
else
|
||||
{
|
||||
DoSaveCheckCallback(false, selected, header);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
private void DoSaveCheckCallback(bool success, AccordionItem selected, string header)
|
||||
{
|
||||
Monitor.Enter(_OpenViews);
|
||||
|
||||
if (!success || _OpenViews[header].IsDirty)
|
||||
{
|
||||
if (selected == TabitemMandator || selected == TabitemSozioTherapie)
|
||||
{
|
||||
_OpenViews.Remove(TabitemMandator.Header.ToString());
|
||||
_OpenViews.Remove(TabitemSozioTherapie.Header.ToString());
|
||||
|
||||
_MandatorVM = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
_OpenViews.Remove(header);
|
||||
}
|
||||
}
|
||||
|
||||
Monitor.Exit(_OpenViews);
|
||||
}
|
||||
protected override void Save()
|
||||
{
|
||||
SelectedView.SaveData();
|
||||
}
|
||||
private void ExpandItems()
|
||||
{
|
||||
if (!String.IsNullOrEmpty(BeWoApp.AppSettings.ExpandedAdministrationItems))
|
||||
{
|
||||
foreach (AccordionItem item in Root.Items)
|
||||
{
|
||||
item.IsExpanded = false;
|
||||
if (BeWoApp.AppSettings.ExpandedAdministrationItems.Contains(":" + item.Header))
|
||||
{
|
||||
item.ExpandSubtree();
|
||||
item.IsExpanded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//foreach (AccordionItem item in Root.Items)
|
||||
//{
|
||||
// item.IsExpanded = true;
|
||||
//}
|
||||
}
|
||||
|
||||
if (BeWoApp.AppSettings.SelectedAdministrationItem is string selected)
|
||||
{
|
||||
Root.SelectedItem = searchAccordionItem(selected);
|
||||
}
|
||||
else
|
||||
{
|
||||
Root.SelectedItem = TabitemMandator;
|
||||
}
|
||||
}
|
||||
|
||||
private void AddView(AccordionItem pTabItem, BeWoView pView)
|
||||
{
|
||||
pView.VerticalAlignment = VerticalAlignment.Top;
|
||||
|
||||
if (ActualHeight > 120 && !(pView is MandatorView))
|
||||
{
|
||||
pView.MaxHeight = ActualHeight - 120;
|
||||
}
|
||||
|
||||
_OpenViews[pTabItem.Header.ToString()] = pView;
|
||||
SetView(pView);
|
||||
}
|
||||
private void SetView(BeWoView newView)
|
||||
{
|
||||
if (newView == null || Equals(newView, SelectedView)) return;
|
||||
|
||||
newView.Margin = new Thickness(0);
|
||||
|
||||
if (ContentBorder.Child == null || DoSaveCheck())
|
||||
{
|
||||
SelectedView = newView;
|
||||
//ServiceFacade.WaitUntilAsyncIsFinished((s) => Dispatcher.Invoke(() => SelectedView = newView));
|
||||
}
|
||||
}
|
||||
private void GenerateNewView(AccordionItem accordionItem)
|
||||
{
|
||||
if (accordionItem == null)
|
||||
return;
|
||||
|
||||
|
||||
var header = accordionItem.Header.ToString();
|
||||
if (_OpenViews.TryGetValue(header, out var view))
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
_OpenViews.Add(header, null);
|
||||
}
|
||||
|
||||
switch (accordionItem.Name)
|
||||
{
|
||||
case nameof(TabitemMandator):
|
||||
CheckMandatorVM(() => AddView(TabitemMandator, new MandatorView(this)));
|
||||
return;
|
||||
case nameof(TabitemQualificationTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffQualificationsType,
|
||||
r => this.Dispatch(() => AddView(TabitemQualificationTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemQualifikationsbedarf):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.QualifikationsBedarf,
|
||||
r => this.Dispatch(() => AddView(TabitemQualifikationsbedarf, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemAbsenceCategories):
|
||||
VMFactory.CreateAbsenceReasonListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAbsenceCategories, new AbsenceReasonView(r))));
|
||||
return;
|
||||
case nameof(TabitemDisablityTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.DisabilityType,
|
||||
r => this.Dispatch(() => AddView(TabitemDisablityTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemEmploymentTypes):
|
||||
VMFactory.CreateEmploymentTypeListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemEmploymentTypes, new EmploymentTypeView(r))));
|
||||
return;
|
||||
case nameof(TabitemCustomerCareTypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.CustomerCareType,
|
||||
r => this.Dispatch(() => AddView(TabitemCustomerCareTypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemTerminationReasons):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.TerminationReasonType,
|
||||
r => this.Dispatch(() => AddView(TabitemTerminationReasons, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemPlacementObjectives):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.PlacementObjectiveType,
|
||||
r => this.Dispatch(() => AddView(TabitemPlacementObjectives, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemTitles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.TitleType,
|
||||
r => this.Dispatch(() => AddView(TabitemTitles, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemFunctions):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.FunctionType,
|
||||
personFunctionList => VMFactory.CreateValueListVMAsync(
|
||||
ValueListEntryType.OrganisationFunctionType,
|
||||
orgFunctionList =>
|
||||
this.Dispatch(() => AddView(TabitemFunctions,
|
||||
new EnvironmentRoleView(personFunctionList, orgFunctionList)))));
|
||||
return;
|
||||
case nameof(TabitemNationality):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Nationality,
|
||||
natList =>
|
||||
this.Dispatch(() => AddView(TabitemNationality, new ValueListView(natList))));
|
||||
return;
|
||||
case nameof(TabitemAufenthaltsstatus):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Aufenthaltsstatus,
|
||||
orgList =>
|
||||
this.Dispatch(() => AddView(TabitemAufenthaltsstatus, new AufenthaltsView(orgList))));
|
||||
return;
|
||||
case nameof(TabitemFinazCategories):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.AccountingTransactionType,
|
||||
r => this.Dispatch(() => AddView(TabitemFinazCategories, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemServiceCategories):
|
||||
VMFactory.CreateServiceCategoryListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemServiceCategories, new ServiceCategoryView(r))));
|
||||
return;
|
||||
case nameof(TabitemServiceDescriptions):
|
||||
VMFactory.CreateServiceDescriptionListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemServiceDescriptions, new ServiceDescriptionView(r))));
|
||||
return;
|
||||
case nameof(TabitemTextbausteine):
|
||||
VMFactory.CreateTextModuleListVMAsync(
|
||||
r => this.Dispatch(() => AddView(TabitemTextbausteine, new TextbausteinView(r, true))), true,
|
||||
true);
|
||||
return;
|
||||
case nameof(TabitemMedikamentenarten):
|
||||
VMFactory.CreateMedArtListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemMedikamentenarten, new MedikamentenartenView(r))));
|
||||
return;
|
||||
case nameof(TabitemRoles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffRoleType,
|
||||
r => this.Dispatch(() => AddView(TabitemRoles, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemEnvironmentRoles):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.EnvironmentPersonType,
|
||||
personList => VMFactory.CreateValueListVMAsync(ValueListEntryType.RoleInOrganisationType,
|
||||
roleInOrgList => VMFactory.CreateValueListVMAsync(
|
||||
ValueListEntryType.EnvironmentOrganisationType,
|
||||
orgList => VMFactory.CreateValueListVMAsync(ValueListEntryType.RoleInFamily,
|
||||
roleInFamily => this.Dispatch(() => AddView(TabitemEnvironmentRoles,
|
||||
new EnvironmentRoleView(personList, orgList, roleInOrgList, roleInFamily)))))));
|
||||
return;
|
||||
case nameof(TabitemActivityFocus):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.StaffActivityFocusType,
|
||||
r => this.Dispatch(() => AddView(TabitemActivityFocus, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemResourceCategories):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.ResourceCategory,
|
||||
r => this.Dispatch(() => AddView(TabitemResourceCategories, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemResources):
|
||||
VMFactory.CreateResourceListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemResources, new RessourceView(r))));
|
||||
return;
|
||||
case nameof(TabitemGoalcategories):
|
||||
VMFactory.CreateGoalCategoryVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemGoalcategories, new MassnahmenTreeViewView(r))));
|
||||
return;
|
||||
case nameof(TabitemMassnahmen):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.MassnahmenKatalog,
|
||||
r => this.Dispatch(() => AddView(TabitemMassnahmen, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemNews):
|
||||
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllNewsItems(),
|
||||
cb => this.Dispatch(() => AddView(TabitemNews, new NewsItemView(new NewsItemListVM(cb)))));
|
||||
return;
|
||||
case nameof(TabitemAssessmentSheetValues):
|
||||
VMFactory.CreateAssessmentSheetValueListVM(m =>
|
||||
this.Dispatch(() => AddView(TabitemAssessmentSheetValues, new AssessmentSheetValueView(m))));
|
||||
return;
|
||||
case nameof(TabitemAssessmentSheetCategories):
|
||||
VMFactory.CreateAssessmentSheetCategoryListVM(m => this.Dispatch(() =>
|
||||
AddView(TabitemAssessmentSheetCategories, new AssessmentSheetCategoryView(m))));
|
||||
return;
|
||||
case nameof(TabitemAdditionalServices):
|
||||
VMFactory.CreateAdditionalServiceListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAdditionalServices, new AdditionalServiceAddView(r))));
|
||||
return;
|
||||
case nameof(TabitemAdditionalServiceRegions):
|
||||
VMFactory.CreateAdditionalServiceRegionListVMAsync(r =>
|
||||
this.Dispatch(
|
||||
() => AddView(TabitemAdditionalServiceRegions, new AdditionalServiceRegionView(r))));
|
||||
return;
|
||||
case nameof(TabitemAuszahlungsarten):
|
||||
VMFactory.CreateAuszahlungsartenListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemAuszahlungsarten, new AuszahlungsartenAddView(r))));
|
||||
return;
|
||||
case nameof(TabitemDokumenttype):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.DocumentType,
|
||||
r => this.Dispatch(() => AddView(TabitemDokumenttype, new DokumentationstypView(r))));
|
||||
return;
|
||||
case nameof(TabitemSbd):
|
||||
VMFactory.CreateSbdAdminVMAsync(r => this.Dispatch(() => AddView(TabitemSbd, new SbdAdminView(r))));
|
||||
return;
|
||||
case nameof(TabitemContracttypes):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.ContractType,
|
||||
r => this.Dispatch(() => AddView(TabitemContracttypes, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemBudgets):
|
||||
VMFactory.CreateBudgetListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemBudgets, new BudgetView(r))));
|
||||
return;
|
||||
case nameof(TabitemPreise):
|
||||
VMFactory.CreatePreisListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemPreise, new PreisView(r))));
|
||||
return;
|
||||
case nameof(TabitemDienste):
|
||||
VMFactory.CreateDienstListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemDienste, new DienstView(r))));
|
||||
return;
|
||||
case nameof(TabitemNotizenkategorie):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.NotizenKategorieEmployee,
|
||||
notizEmpList => VMFactory.CreateValueListVMAsync(ValueListEntryType.NotizenKategorieCustomer,
|
||||
notizCosList => this.Dispatch(() => AddView(TabitemNotizenkategorie, new NotizenKategorieView(notizEmpList, notizCosList)))));
|
||||
return;
|
||||
case nameof(TabitemRatingTypes):
|
||||
VMFactory.CreateRatingTypeListVMAsync(r =>
|
||||
this.Dispatch(() => AddView(TabitemRatingTypes, new RatingTypeView(r))));
|
||||
return;
|
||||
case nameof(TabitemAuftragsherkunft):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Auftragsherkunft,
|
||||
r => this.Dispatch(() => AddView(TabitemAuftragsherkunft, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemVermittlungsgrundlage):
|
||||
VMFactory.CreateValueListVMAsync(ValueListEntryType.Vermittlungsgrundlage,
|
||||
r => this.Dispatch(() => AddView(TabitemVermittlungsgrundlage, new ValueListView(r))));
|
||||
return;
|
||||
case nameof(TabitemSozioTherapie):
|
||||
CheckMandatorVM(() => AddView(TabitemSozioTherapie, new SoziotherapieSettingsView(this)));
|
||||
return;
|
||||
}
|
||||
|
||||
throw new ArgumentOutOfRangeException(nameof(accordionItem));
|
||||
}
|
||||
private void CheckMandatorVM(Action callbackAddView)
|
||||
{
|
||||
if (MandatorVM is object)
|
||||
{
|
||||
callbackAddView();
|
||||
}
|
||||
else
|
||||
{
|
||||
ServiceFacade.DoAccountingServiceAsync(s => s.LoadInvoiceNumberList(),
|
||||
inl => ServiceFacade.DoOperationsServiceAsync(
|
||||
s => s.GetMandator(),
|
||||
m =>
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
var vmList = new List<InvoiceNumberVM>();
|
||||
foreach (var indc in inl)
|
||||
{
|
||||
vmList.Add(new InvoiceNumberVM(indc));
|
||||
}
|
||||
MandatorVM = new MandatorVM(vmList, m);
|
||||
callbackAddView();
|
||||
})));
|
||||
}
|
||||
}
|
||||
|
||||
private AccordionItem searchAccordionItem(string header)
|
||||
{
|
||||
foreach (var item in Root.Items)
|
||||
{
|
||||
var rtn = searchAccordionItem(item as AccordionItem, header);
|
||||
|
||||
if (rtn is object)
|
||||
return rtn;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
private AccordionItem searchAccordionItem(AccordionItem accordion, string header)
|
||||
{
|
||||
if (accordion is null)
|
||||
return null;
|
||||
|
||||
if (!accordion.Items.Any())
|
||||
{
|
||||
if (header == accordion.Header.ToString())
|
||||
return accordion;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach (var item in accordion.Items)
|
||||
{
|
||||
var rtn = searchAccordionItem(item as AccordionItem, header);
|
||||
|
||||
if (rtn is object)
|
||||
return rtn;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
|
||||
{
|
||||
//e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +65,7 @@
|
||||
<Hyperlink TargetName="_NewWindow" Foreground="#FFFFFFFF" Click="Hyperlink_AusArchivHolen_Click" Tag="{Binding}">Aus Archiv holen</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBlock VerticalAlignment="Center" Grid.Column="6" Grid.Row="0" Grid.RowSpan="2">
|
||||
<Hyperlink TargetName="_NewWindow" Foreground="#FFFFFFFF" NavigateUri="{Binding Converter={StaticResource CustomerDCPrintURLConverter}}" RequestNavigate="Hyperlink_OnRequestNavigate">Drucken</Hyperlink>
|
||||
<Hyperlink TargetName="_NewWindow" Foreground="#FFFFFFFF" NavigateUri="{Binding Converter={StaticResource CustomerDCPrintURLConverter}}" RequestNavigate="Hyperlink_OnRequestNavigate" Tag="{Binding}">Drucken</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
@@ -24,6 +24,7 @@ using BS.Shared.Translation;
|
||||
|
||||
using Microsoft.Win32;
|
||||
using BeWo.AI;
|
||||
using BeWo.View.Document;
|
||||
|
||||
namespace BeWo.View.Navigation
|
||||
{
|
||||
@@ -357,9 +358,27 @@ namespace BeWo.View.Navigation
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
|
||||
//var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.Getvor());
|
||||
|
||||
var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenForType(TableID.Customer));
|
||||
if (alleVorlagen.Count > 0)
|
||||
{
|
||||
var c = (CompactCustomerDC)((Hyperlink)sender).Tag;
|
||||
|
||||
DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, TableID.Customer, c.CustomerOid);
|
||||
}
|
||||
else
|
||||
{
|
||||
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
|
||||
}
|
||||
//var folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void MainNavigationView_OnOpenMailMergeWindow(List<IFilterableDC> allCustomers, IFilterableDC selectedCustomer)
|
||||
{
|
||||
var mmw = new MailMergeWindow(this, typeof(CustomerDC), objectList.ToList(), selectedCustomer) { Sorter = new CustomerSorter() };
|
||||
|
||||
@@ -1,119 +1,310 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Navigation.MainNavigationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:local="clr-namespace:BeWo.Core"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:localNavView="clr-namespace:BeWo.View.Navigation"
|
||||
Focusable="True" Loaded="OnLoaded">
|
||||
<localView:BeWoView.CommandBindings>
|
||||
<CommandBinding Command="local:BeWoCommands.Excel" Executed="ExcelCommand_Executed" CanExecute="ExcelCommand_CanExecute" />
|
||||
<CommandBinding Command="ApplicationCommands.Open" Executed="OpenCommand_Executed" CanExecute="OpenCommand_CanExecute" />
|
||||
</localView:BeWoView.CommandBindings>
|
||||
<uc:ShadowChrome>
|
||||
<GroupBox x:Name="mainGroup" Style="{StaticResource MainContentGroupBoxStyle}" Header="MainGroup">
|
||||
<GroupBox x:Name="contentGroup" Style="{StaticResource CustomerNavigationStyle}">
|
||||
<GroupBox.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Label Content="Suche" Foreground="#FFFFFFFF" FontSize="14" Margin="0,-5,0,0" />
|
||||
<TextBox Height="20" x:Name="textbox_search" MinWidth="90" Margin="3,-5,0,0" Width="300" TabIndex="0" Template="{DynamicResource SearchTextBoxTemplate}" BorderThickness="0,0,0,0" />
|
||||
<Button x:Name="ReloadButton" Click="ReloadButton_OnClick" Margin="5,-3,0,0" ToolTip="Liste aktualisieren" Width="36" Height="24">
|
||||
<localView:BeWoView
|
||||
x:Class="BeWo.View.Navigation.MainNavigationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:BeWo.Core"
|
||||
xmlns:localNavView="clr-namespace:BeWo.View.Navigation"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Focusable="True"
|
||||
Loaded="OnLoaded">
|
||||
<localView:BeWoView.CommandBindings>
|
||||
<CommandBinding
|
||||
CanExecute="ExcelCommand_CanExecute"
|
||||
Command="local:BeWoCommands.Excel"
|
||||
Executed="ExcelCommand_Executed" />
|
||||
<CommandBinding
|
||||
CanExecute="OpenCommand_CanExecute"
|
||||
Command="ApplicationCommands.Open"
|
||||
Executed="OpenCommand_Executed" />
|
||||
</localView:BeWoView.CommandBindings>
|
||||
<uc:ShadowChrome>
|
||||
<GroupBox
|
||||
x:Name="mainGroup"
|
||||
Header="MainGroup"
|
||||
Style="{StaticResource MainContentGroupBoxStyle}">
|
||||
<GroupBox x:Name="contentGroup" Style="{StaticResource CustomerNavigationStyle}">
|
||||
<GroupBox.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Label
|
||||
Margin="0,-5,0,0"
|
||||
Content="Suche"
|
||||
FontSize="14"
|
||||
Foreground="#FFFFFFFF" />
|
||||
<TextBox
|
||||
x:Name="textbox_search"
|
||||
Width="300"
|
||||
Height="20"
|
||||
MinWidth="90"
|
||||
Margin="3,-5,0,0"
|
||||
BorderThickness="0,0,0,0"
|
||||
TabIndex="0"
|
||||
Template="{DynamicResource SearchTextBoxTemplate}" />
|
||||
<Button
|
||||
x:Name="ReloadButton"
|
||||
Width="36"
|
||||
Height="24"
|
||||
Margin="5,-3,0,0"
|
||||
Click="ReloadButton_OnClick"
|
||||
ToolTip="Liste aktualisieren">
|
||||
<Button.Template>
|
||||
<ControlTemplate TargetType="{x:Type Button}">
|
||||
<Grid>
|
||||
<Image x:Name="imgDisabled" Source="..\..\Ressources\Icons\SymbolRefresh32Disabled.png" />
|
||||
<Image x:Name="imgEnabled" Source="..\..\Ressources\Icons\SymbolRefresh32.png" Opacity="0"/>
|
||||
<Image
|
||||
x:Name="imgEnabled"
|
||||
Opacity="0"
|
||||
Source="..\..\Ressources\Icons\SymbolRefresh32.png" />
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Opacity" TargetName="imgEnabled" Value="1"/>
|
||||
<Setter TargetName="imgEnabled" Property="Opacity" Value="1" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Button.Template>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</GroupBox.Header>
|
||||
<Grid x:Name="mainContentGrid" Margin="0,3,0,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="250" />
|
||||
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Orientation="Vertical" Margin="10,0,0,0">
|
||||
<TextBlock x:Name="searchCountLabel" HorizontalAlignment="Left" Text="{Binding Path=Items.Count, Converter={StaticResource StringFormatConverter}, ConverterParameter=Suchergebnisse: \{0\}, ElementName=objectListBox}" FontFamily="Microsoft Sans Serif" FontSize="14" />
|
||||
<StackPanel Orientation="Horizontal" x:Name="sortPanel">
|
||||
<TextBlock x:Name="sortLabel" HorizontalAlignment="Left" Text="Sortiert nach" FontFamily="Microsoft Sans Serif" FontSize="12" Margin="0,2,0,0" />
|
||||
<ComboBox x:Name="sortCombo" HorizontalAlignment="Left" FontFamily="Microsoft Sans Serif" FontSize="12" Margin="10,0,0,0" MinWidth="100" DisplayMemberPath="DisplayName" SelectionChanged="sortCombo_SelectionChanged" Style="{DynamicResource SortComboBox}" />
|
||||
<ToggleButton Style="{DynamicResource SortDirectionToggleButtonStyle}" x:Name="sortDirectionToggleButton" Click="sortDirectionToggleButton_Click" />
|
||||
<CheckBox FontFamily="Microsoft Sans Serif" FontSize="12" Margin="10,0,0,0" Content=" Archivierte Objekte anzeigen" VerticalAlignment="Center" x:Name="chkShowArchived" Foreground="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
<CheckBox FontFamily="Microsoft Sans Serif" FontSize="12" Margin="10,0,0,0" Content=" Gelöschte Objekte anzeigen" VerticalAlignment="Center" x:Name="chkShowDeleted" Foreground="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<ListBox x:Name="objectListBox" IsSynchronizedWithCurrentItem="True" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" MinWidth="200" MinHeight="200" Margin="10,10,0,20" TabIndex="1" AlternationCount="-1" Style="{StaticResource NavigationListStyle}" Background="{x:Null}" MouseDoubleClick="objectListBox_MouseDoubleClick" SelectionChanged="objectListBox_SelectionChanged">
|
||||
<ListBox.ItemsSource>
|
||||
<MultiBinding x:Name="ListBoxMultiBinding" Converter="{StaticResource FilterDCConverter}">
|
||||
<Binding />
|
||||
<Binding ElementName="textbox_search" Path="Text" />
|
||||
<Binding ElementName="chkShowArchived" Path="IsChecked" />
|
||||
<Binding Path="CustomFilter">
|
||||
<Binding.RelativeSource>
|
||||
<RelativeSource Mode="FindAncestor" AncestorType="{x:Type localNavView:MainNavigationView}" />
|
||||
</Binding.RelativeSource>
|
||||
</Binding>
|
||||
<Binding ElementName="chkShowDeleted" Path="IsChecked" />
|
||||
</MultiBinding>
|
||||
</ListBox.ItemsSource>
|
||||
</ListBox>
|
||||
<Grid Grid.Row="0" Grid.RowSpan="2" Grid.Column="3" Margin="20,0,5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel>
|
||||
<TextBlock HorizontalAlignment="Left" Text=" Zuletzt angesehen" FontFamily="Microsoft Sans Serif" FontSize="14" />
|
||||
<Path Data="M 0,0 H 250" Stroke="#FFFB6F0E" StrokeThickness="2" Fill="{DynamicResource LightOrangeBrush}" Margin="0,3,0,0" />
|
||||
<ListBox x:Name="objectHistoryListBox" IsSynchronizedWithCurrentItem="True" MinWidth="200" Margin="0,5,0,20" TabIndex="1" AlternationCount="-1" Style="{StaticResource NavigationListStyle}" Background="{x:Null}" MouseDoubleClick="objectHistoryListBox_MouseDoubleClick" SelectionChanged="objectListBox_SelectionChanged" />
|
||||
</StackPanel>
|
||||
<StackPanel x:Name="stackPanle_details" Visibility="Hidden" Grid.Row="1" Margin="0 10 0 0">
|
||||
<TextBlock HorizontalAlignment="Left" Text="Details
|
||||
" FontFamily="Microsoft Sans Serif" FontSize="14" />
|
||||
<Path Data="M 0,0 H 250" Stroke="#FFFB6F0E" StrokeThickness="2" Fill="{DynamicResource LightOrangeBrush}" Margin="0,3,0,0" />
|
||||
<ContentPresenter x:Name="details_presenter" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Border Grid.Row="2" Grid.ColumnSpan="3" Grid.Column="0" 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.ColumnSpan="3" Grid.Column="0" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Stretch" Height="40" Margin="5,10,0,0">
|
||||
<Button x:Name="btnNew" Content="Neu" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="3,0,0,0" Click="btnNew_Click" />
|
||||
<Button x:Name="btnImport" Visibility="Collapsed" Content="Importieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="3,0,0,0" Click="btnImport_Click" />
|
||||
<Button x:Name="btnCopy" Visibility="Collapsed" Content="Kopieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnCopy_Click" />
|
||||
<Button x:Name="btnEdit" Content="Öffnen" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnEdit_Click" />
|
||||
<Button x:Name="btnArchive" Content="Archivieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnArchive_Click" />
|
||||
<Button x:Name="btnDelete" Content="Löschen" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnDelete_Click" />
|
||||
<Button x:Name="btnOpenAi" Visibility="Collapsed" Content="KI" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnOpenAi_Click" />
|
||||
<TextBlock x:Name="textblock_link" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="16">
|
||||
<Hyperlink x:Name="linkExcelExport" TargetName="newWindow" Foreground="White" RequestNavigate="linkExcelExport_RequestNavigate">Excel Export</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBlock x:Name="textblock_print" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="16">
|
||||
<Hyperlink x:Name="linkPrint" TargetName="newWindow" Foreground="White" RequestNavigate="linkPrint_RequestNavigate" NavigateUri="http://www.ownsoft.de">Liste drucken</Hyperlink>
|
||||
</StackPanel>
|
||||
</GroupBox.Header>
|
||||
<Grid x:Name="mainContentGrid" Margin="0,3,0,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="250" />
|
||||
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
||||
<TextBlock
|
||||
x:Name="searchCountLabel"
|
||||
HorizontalAlignment="Left"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="14"
|
||||
Text="{Binding Path=Items.Count, Converter={StaticResource StringFormatConverter}, ConverterParameter=Suchergebnisse: \{0\}, ElementName=objectListBox}" />
|
||||
<StackPanel x:Name="sortPanel" Orientation="Horizontal">
|
||||
<TextBlock
|
||||
x:Name="sortLabel"
|
||||
Margin="0,2,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="12"
|
||||
Text="Sortiert nach" />
|
||||
<ComboBox
|
||||
x:Name="sortCombo"
|
||||
MinWidth="100"
|
||||
Margin="10,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
DisplayMemberPath="DisplayName"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="12"
|
||||
SelectionChanged="sortCombo_SelectionChanged"
|
||||
Style="{DynamicResource SortComboBox}" />
|
||||
<ToggleButton
|
||||
x:Name="sortDirectionToggleButton"
|
||||
Click="sortDirectionToggleButton_Click"
|
||||
Style="{DynamicResource SortDirectionToggleButtonStyle}" />
|
||||
<CheckBox
|
||||
x:Name="chkShowArchived"
|
||||
Margin="10,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Content=" Archivierte Objekte anzeigen"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="12"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
<CheckBox
|
||||
x:Name="chkShowDeleted"
|
||||
Margin="10,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Content=" Gelöschte Objekte anzeigen"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="12"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<ListBox
|
||||
x:Name="objectListBox"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
MinWidth="200"
|
||||
MinHeight="200"
|
||||
Margin="10,10,0,20"
|
||||
AlternationCount="-1"
|
||||
Background="{x:Null}"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
MouseDoubleClick="objectListBox_MouseDoubleClick"
|
||||
SelectionChanged="objectListBox_SelectionChanged"
|
||||
Style="{StaticResource NavigationListStyle}"
|
||||
TabIndex="1">
|
||||
<ListBox.ItemsSource>
|
||||
<MultiBinding x:Name="ListBoxMultiBinding" Converter="{StaticResource FilterDCConverter}">
|
||||
<Binding />
|
||||
<Binding ElementName="textbox_search" Path="Text" />
|
||||
<Binding ElementName="chkShowArchived" Path="IsChecked" />
|
||||
<Binding Path="CustomFilter">
|
||||
<Binding.RelativeSource>
|
||||
<RelativeSource AncestorType="{x:Type localNavView:MainNavigationView}" Mode="FindAncestor" />
|
||||
</Binding.RelativeSource>
|
||||
</Binding>
|
||||
<Binding ElementName="chkShowDeleted" Path="IsChecked" />
|
||||
</MultiBinding>
|
||||
</ListBox.ItemsSource>
|
||||
</ListBox>
|
||||
<Grid
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="3"
|
||||
Margin="20,0,5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel>
|
||||
<TextBlock
|
||||
HorizontalAlignment="Left"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="14"
|
||||
Text=" Zuletzt angesehen" />
|
||||
<Path
|
||||
Margin="0,3,0,0"
|
||||
Data="M 0,0 H 250"
|
||||
Fill="{DynamicResource LightOrangeBrush}"
|
||||
Stroke="#FFFB6F0E"
|
||||
StrokeThickness="2" />
|
||||
<ListBox
|
||||
x:Name="objectHistoryListBox"
|
||||
MinWidth="200"
|
||||
Margin="0,5,0,20"
|
||||
AlternationCount="-1"
|
||||
Background="{x:Null}"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
MouseDoubleClick="objectHistoryListBox_MouseDoubleClick"
|
||||
SelectionChanged="objectListBox_SelectionChanged"
|
||||
Style="{StaticResource NavigationListStyle}"
|
||||
TabIndex="1" />
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
x:Name="stackPanle_details"
|
||||
Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
Visibility="Hidden">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Left"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="14"
|
||||
Text="Details " />
|
||||
<Path
|
||||
Margin="0,3,0,0"
|
||||
Data="M 0,0 H 250"
|
||||
Fill="{DynamicResource LightOrangeBrush}"
|
||||
Stroke="#FFFB6F0E"
|
||||
StrokeThickness="2" />
|
||||
<ContentPresenter x:Name="details_presenter" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Border
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="40"
|
||||
Margin="0,10,0,0"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="#FF000000">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#19000000" />
|
||||
<GradientStop Offset="1" Color="#33FFFFFF" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
</Border>
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="40"
|
||||
Margin="5,10,0,0"
|
||||
VerticalAlignment="Stretch"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
x:Name="btnNew"
|
||||
Margin="3,0,0,0"
|
||||
Click="btnNew_Click"
|
||||
Content="Neu"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}" />
|
||||
<Button
|
||||
x:Name="btnImport"
|
||||
Margin="3,0,0,0"
|
||||
Click="btnImport_Click"
|
||||
Content="Importieren"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}"
|
||||
Visibility="Collapsed" />
|
||||
<Button
|
||||
x:Name="btnCopy"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnCopy_Click"
|
||||
Content="Kopieren"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}"
|
||||
Visibility="Collapsed" />
|
||||
<Button
|
||||
x:Name="btnEdit"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnEdit_Click"
|
||||
Content="Öffnen"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}" />
|
||||
<Button
|
||||
x:Name="btnArchive"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnArchive_Click"
|
||||
Content="Archivieren"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}" />
|
||||
<Button
|
||||
x:Name="btnDelete"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnDelete_Click"
|
||||
Content="Löschen"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}" />
|
||||
<Button
|
||||
x:Name="btnOpenAi"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnOpenAi_Click"
|
||||
Content="KI"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}"
|
||||
Visibility="Collapsed" />
|
||||
<TextBlock
|
||||
x:Name="textblock_link"
|
||||
Margin="20,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="16">
|
||||
<Hyperlink
|
||||
x:Name="linkExcelExport"
|
||||
Foreground="White"
|
||||
RequestNavigate="linkExcelExport_RequestNavigate"
|
||||
TargetName="newWindow">
|
||||
Excel Export
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBlock
|
||||
x:Name="textblock_print"
|
||||
Margin="20,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="16">
|
||||
<Hyperlink
|
||||
x:Name="linkPrint"
|
||||
Foreground="White"
|
||||
NavigateUri="http://www.ownsoft.de"
|
||||
RequestNavigate="linkPrint_RequestNavigate"
|
||||
TargetName="newWindow">
|
||||
Liste drucken
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<!-- ###CB SERIENBRIEF<Button x:Name="MailMergeButton" Content="Serienbrief drucken" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnMailMerge_Click" /> -->
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</GroupBox>
|
||||
</uc:ShadowChrome>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</GroupBox>
|
||||
</uc:ShadowChrome>
|
||||
</localView:BeWoView>
|
||||
@@ -32,11 +32,16 @@
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Foreground="Black" FontSize="12" Grid.Column="0" VerticalAlignment="Center" Text="{markup:Translate Hilfeplan:}" />
|
||||
<TextBlock x:Name="textblockHilfeplan" Foreground="Black" FontSize="12" Grid.Column="0" VerticalAlignment="Center" Text="{markup:Translate Hilfeplan:}" />
|
||||
<uc:PopUpEdit x:Name="popupedit_CostBeaerer" Width="250" Height="23" Margin="3" Grid.Column="1"
|
||||
IsReadOnly="True" DeleteButtonVisibility="Collapsed"
|
||||
PopUpClick="popupedit_CostBeaerer_PopUpClick" MaxWidth="300"
|
||||
Cursor="Arrow" PreviewMouseDoubleClick="Popupedit_CostBeaerer_OnPreviewMouseDoubleClick"/>
|
||||
<dxe:CheckEdit x:Name="chkAllSupportConcepts" Margin="3 5 3 3" Foreground="Black" FontSize="12"
|
||||
Grid.Column="2" Grid.Row="0" VerticalAlignment="Center"
|
||||
Content="Alle Hilfepläne"
|
||||
IsChecked="False" Checked="chkAllSupportConcepts_Checked" Unchecked="chkAllSupportConcepts_Unchecked" />
|
||||
|
||||
<Popup Margin="10" x:Name="popup_costBearer" StaysOpen="False" Placement="MousePoint" Width="450" Grid.Row="4" Grid.ColumnSpan="5" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<localSearchView:SupportConceptSearchView x:Name="supportconceptsearchview" ItemSelected="SupportConceptSearchView_ItemSelected" SearchMode="All" />
|
||||
</Popup>
|
||||
|
||||
@@ -79,13 +79,30 @@ namespace BeWo.View.Report.Rating
|
||||
|
||||
private void LinkPdfExport_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
string url = GenerateURL();
|
||||
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Bewertungsstatistik"));
|
||||
//System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo((sender as System.Windows.Documents.Hyperlink).NavigateUri.ToString()));
|
||||
// Wenn das Häkchen für alle Hilfepläne gesetzt ist wird eine andere URL erstellt, in der der Hilfeplan null ist
|
||||
if (chkAllSupportConcepts.IsChecked.HasValue && chkAllSupportConcepts.IsChecked.Value)
|
||||
{
|
||||
string url = GenerateURLForAllSupportConcepts();
|
||||
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Bewertungsstatistik"));
|
||||
}
|
||||
// Sonst Standard
|
||||
else
|
||||
{
|
||||
string url = GenerateURL();
|
||||
if (!String.IsNullOrEmpty(url))
|
||||
{
|
||||
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Bewertungsstatistik"));
|
||||
}
|
||||
//System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo((sender as System.Windows.Documents.Hyperlink).NavigateUri.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
private string GenerateURL()
|
||||
{
|
||||
if (_SelectedSupportConcept == null)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
string url = "";
|
||||
url += BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
|
||||
|
||||
@@ -144,6 +161,57 @@ namespace BeWo.View.Report.Rating
|
||||
return url;
|
||||
}
|
||||
|
||||
private string GenerateURLForAllSupportConcepts()
|
||||
{
|
||||
string url = "";
|
||||
url += BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
|
||||
|
||||
DateTime? start = SupportConceptRatingView.StartDate;
|
||||
DateTime? end = SupportConceptRatingView.EndDate;
|
||||
|
||||
try
|
||||
{
|
||||
// Ist das Häkchen für den gesamten Zeitraum gesetzt, werden auf dem Server Start und Ende auf den ersten bzw. letzten Hilfeplan gesetzt
|
||||
if (chkTotalTimeSpan.IsChecked == true)
|
||||
{
|
||||
SupportConceptRatingView.StartDate = null;
|
||||
SupportConceptRatingView.EndDate = null;
|
||||
start = null;
|
||||
end = null;
|
||||
}
|
||||
// Sonst den Wert aus den Datumsfeldern nehmen
|
||||
else
|
||||
{
|
||||
SupportConceptRatingView.StartDate = dp_start.DateTime;
|
||||
SupportConceptRatingView.EndDate = dp_end.DateTime;
|
||||
start = dp_start.DateTime;
|
||||
end = dp_end.DateTime;
|
||||
}
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
// nix
|
||||
}
|
||||
|
||||
if (start != null)
|
||||
{
|
||||
url += "&start=" + start;
|
||||
}
|
||||
if (end != null)
|
||||
{
|
||||
url += "&end=" + end;
|
||||
}
|
||||
|
||||
url += "&type=" + Utils.EnumName(ReportTypes.BewertungsstatistikReport);
|
||||
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
|
||||
|
||||
this.linkPdfExport.NavigateUri = new Uri(url);
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
|
||||
private void UpdateRatingView()
|
||||
{
|
||||
VMFactory.CreateSupportConceptVMAsync(_SelectedSupportConcept.SupportConceptOid,
|
||||
@@ -177,7 +245,21 @@ namespace BeWo.View.Report.Rating
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void chkAllSupportConcepts_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
button_generate.Visibility = Visibility.Hidden;
|
||||
popupedit_CostBeaerer.Visibility = Visibility.Hidden;
|
||||
BorderRatingView.Visibility = Visibility.Hidden;
|
||||
textblockHilfeplan.Visibility = Visibility.Hidden;
|
||||
|
||||
GenerateURLForAllSupportConcepts();
|
||||
}
|
||||
private void chkAllSupportConcepts_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
button_generate.Visibility = Visibility.Visible;
|
||||
popupedit_CostBeaerer.Visibility = Visibility.Visible;
|
||||
textblockHilfeplan.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ namespace BeWo.View.Search
|
||||
{
|
||||
public class GenericSearchView<T> : UserControl where T : class, IFilterableDC
|
||||
{
|
||||
|
||||
private readonly ListBox _ResultListBox;
|
||||
|
||||
private readonly Grid _Root;
|
||||
@@ -152,6 +151,11 @@ namespace BeWo.View.Search
|
||||
ListItemStyle = FindResource("NavigationListStyleWithSampleDescAsToolTip") as Style;
|
||||
}
|
||||
}
|
||||
|
||||
_ResultListBox.PreviewMouseWheel += (s, e) =>
|
||||
{
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
protected Grid HeaderGrid { get; set; }
|
||||
|
||||
@@ -1,95 +1,166 @@
|
||||
<UserControl x:Class="BeWo.View.Search.MultiEmployeeSearch"
|
||||
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:converter="clr-namespace:BeWo.Scheduler.Converter"
|
||||
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<converter:CheckBoxConverter x:Key="CheckBoxConverter" />
|
||||
</UserControl.Resources>
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Search.MultiEmployeeSearch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converter="clr-namespace:BeWo.Scheduler.Converter"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="300"
|
||||
d:DesignWidth="300"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<converter:CheckBoxConverter x:Key="CheckBoxConverter" />
|
||||
</UserControl.Resources>
|
||||
<Grid Background="Black">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="Suche:" Grid.Column="0" Grid.Row="0" Margin="3" Foreground="#FFD2D2D2" VerticalAlignment="Center" />
|
||||
<TextBox x:Name="SuchTextBox" Grid.Column="1" Grid.Row="0" Margin="0,3,3,3" TextChanged="SuchTextBox_OnPreviewKeyDown" />
|
||||
<ListBox Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" x:Name="listbox_result" ItemsSource="{Binding Path=AngezeigteMitarbeiter, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" HorizontalContentAlignment="Stretch" BorderThickness="0" Margin="2">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Border CornerRadius="5" MinHeight="23" Background="{StaticResource EmployeeContentBrush}" Margin="0,1,3,1" />
|
||||
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="23" Background="#FF000000" Margin="0,1,3,1">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#19000000" Offset="0" />
|
||||
<GradientStop Color="#26000000" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
</Border>
|
||||
<Border BorderBrush="{x:Null}" Height="23" CornerRadius="5">
|
||||
<CheckBox Margin="6,0,0,0" VerticalAlignment="Center" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" Tag="{Binding}" Content="{Binding Path=DetailDescription}" Checked="EmployeeCheckedEvent" Unchecked="EmployeeCheckedEvent" PreviewMouseDown="EmployeeLB_OnClick">
|
||||
<CheckBox.IsChecked>
|
||||
<MultiBinding Converter="{StaticResource CheckBoxConverter}" ConverterParameter="Mitarbeiter" UpdateSourceTrigger="PropertyChanged" NotifyOnSourceUpdated="True">
|
||||
<Binding Path="EmployeeOid" Mode="OneWay" />
|
||||
<Binding Path="AusgewaehlteMitarbeiter" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" />
|
||||
</MultiBinding>
|
||||
</CheckBox.IsChecked>
|
||||
</CheckBox>
|
||||
</Border>
|
||||
</Grid>
|
||||
<DataTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#33000000" Offset="0" />
|
||||
<GradientStop Color="#66000000" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
||||
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#99000000" Offset="0" />
|
||||
<GradientStop Color="#CC000000" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
||||
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#99000000" Offset="0" />
|
||||
<GradientStop Color="#B2000000" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</MultiTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox HorizontalAlignment="Left" VerticalAlignment="Center" Margin="12,3,3,3" Foreground="#FFD2D2D2" Grid.Column="0" Content="Alle auswählen" Checked="AlleSelektierenCBUnChecked" Unchecked="AlleSelektierenCBUnChecked" IsThreeState="False" />
|
||||
<Button HorizontalAlignment="Right" Grid.Column="1" Margin="3" Content="Schließen" Width="70" Height="25" Command="ApplicationCommands.Close" />
|
||||
</Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Content="Suche:"
|
||||
Foreground="#FFD2D2D2" />
|
||||
<TextBox
|
||||
x:Name="SuchTextBox"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="0,3,3,3"
|
||||
TextChanged="SuchTextBox_OnPreviewKeyDown" />
|
||||
<ListBox
|
||||
x:Name="listbox_result"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="2"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
BorderThickness="0"
|
||||
ItemsSource="{Binding Path=AngezeigteMitarbeiter, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Border
|
||||
MinHeight="23"
|
||||
Margin="0,1,3,1"
|
||||
Background="{StaticResource EmployeeContentBrush}"
|
||||
CornerRadius="5" />
|
||||
<Border
|
||||
x:Name="ItemBorder"
|
||||
MinHeight="23"
|
||||
Margin="0,1,3,1"
|
||||
Background="#FF000000"
|
||||
CornerRadius="5">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#19000000" />
|
||||
<GradientStop Offset="1" Color="#26000000" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
</Border>
|
||||
<Border
|
||||
Height="23"
|
||||
BorderBrush="{x:Null}"
|
||||
CornerRadius="5">
|
||||
<CheckBox
|
||||
Margin="6,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Checked="EmployeeCheckedEvent"
|
||||
Content="{Binding Path=DetailDescription}"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
Foreground="#FFD2D2D2"
|
||||
PreviewMouseDown="EmployeeLB_OnClick"
|
||||
Tag="{Binding}"
|
||||
Unchecked="EmployeeCheckedEvent">
|
||||
<CheckBox.IsChecked>
|
||||
<MultiBinding
|
||||
Converter="{StaticResource CheckBoxConverter}"
|
||||
ConverterParameter="Mitarbeiter"
|
||||
NotifyOnSourceUpdated="True"
|
||||
UpdateSourceTrigger="PropertyChanged">
|
||||
<Binding Mode="OneWay" Path="EmployeeOid" />
|
||||
<Binding
|
||||
Mode="TwoWay"
|
||||
Path="AusgewaehlteMitarbeiter"
|
||||
RelativeSource="{RelativeSource FindAncestor,
|
||||
AncestorType={x:Type UserControl}}"
|
||||
UpdateSourceTrigger="PropertyChanged" />
|
||||
</MultiBinding>
|
||||
</CheckBox.IsChecked>
|
||||
</CheckBox>
|
||||
</Border>
|
||||
</Grid>
|
||||
<DataTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#33000000" />
|
||||
<GradientStop Offset="1" Color="#66000000" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
||||
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#99000000" />
|
||||
<GradientStop Offset="1" Color="#CC000000" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
||||
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#99000000" />
|
||||
<GradientStop Offset="1" Color="#B2000000" />
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</MultiTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<Grid
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox
|
||||
Grid.Column="0"
|
||||
Margin="12,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Checked="AlleSelektierenCBUnChecked"
|
||||
Content="Alle auswählen"
|
||||
Foreground="#FFD2D2D2"
|
||||
IsThreeState="False"
|
||||
Unchecked="AlleSelektierenCBUnChecked" />
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
Width="70"
|
||||
Height="25"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Right"
|
||||
Command="ApplicationCommands.Close"
|
||||
Content="Schließen" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace BeWo.View.Search
|
||||
pCallBack(r);
|
||||
});
|
||||
}
|
||||
else if (this.SearchMode == SearchMode.OnlyValid)
|
||||
else if (this.SearchMode == SearchMode.OnlyValidGkvOrganisations)
|
||||
{
|
||||
ServiceFacade.DoCustomerServiceAsync(
|
||||
s => s.GetAllGkvValidOrganisationsCompact(),
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
ActiveCostbearer2SupportConcepts,
|
||||
OnlyToOrganisationRelatedPersons,
|
||||
OnlyTeamMember,
|
||||
OnlyValid
|
||||
OnlyValidGkvOrganisations
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
|
||||
@@ -41,6 +43,16 @@ namespace BeWo.ViewModel
|
||||
return (pMember == null && pNewValue != null) || (pMember != null && !pMember.Equals(pNewValue));
|
||||
}
|
||||
|
||||
protected bool AreDifferent<T>(object pMember, object pNewValue)
|
||||
{
|
||||
if(pMember is IEnumerable<T> l1 && pNewValue is IEnumerable<T> l2)
|
||||
{
|
||||
return !Enumerable.SequenceEqual(l1, l2);
|
||||
}
|
||||
|
||||
return AreDifferent(pMember, pNewValue);
|
||||
}
|
||||
|
||||
protected bool AreEqual(object x, object y)
|
||||
{
|
||||
NullCompareResult lResult = Utils.NullCompare(x, y);
|
||||
|
||||
@@ -932,18 +932,34 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string InsuranceNumber
|
||||
{
|
||||
get { return _InsuranceNumber; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_InsuranceNumber, value))
|
||||
return;
|
||||
|
||||
_InsuranceNumber = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.InsuranceNumber, value), PropertyName_InsuranceNumber);
|
||||
FirePropertyChanged(PropertyName_InsuranceNumber);
|
||||
}
|
||||
}
|
||||
|
||||
public string VersichertenStatus
|
||||
{
|
||||
get { return _VersichertenStatus; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_VersichertenStatus, value))
|
||||
{
|
||||
_VersichertenStatus = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.VersichertenStatus, value), nameof(VersichertenStatus));
|
||||
FirePropertyChanged(nameof(VersichertenStatus));
|
||||
}
|
||||
if (!AreDifferent(_VersichertenStatus, value))
|
||||
return;
|
||||
|
||||
_VersichertenStatus = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.VersichertenStatus, value), nameof(VersichertenStatus));
|
||||
FirePropertyChanged(nameof(VersichertenStatus));
|
||||
}
|
||||
}
|
||||
public string Environment
|
||||
@@ -1707,26 +1723,12 @@ namespace BeWo.ViewModel
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_HealthInsurance, value))
|
||||
{
|
||||
_HealthInsurance = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.BemerkungenSbd, value), PropertyName_HealthInsurance);
|
||||
FirePropertyChanged(PropertyName_HealthInsurance);
|
||||
}
|
||||
}
|
||||
}
|
||||
public string InsuranceNumber
|
||||
{
|
||||
get { return _InsuranceNumber; }
|
||||
if (!AreDifferent(_HealthInsurance, value))
|
||||
return;
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_InsuranceNumber, value))
|
||||
{
|
||||
_InsuranceNumber = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.BemerkungenSbd, value), PropertyName_InsuranceNumber);
|
||||
FirePropertyChanged(PropertyName_InsuranceNumber);
|
||||
}
|
||||
_HealthInsurance = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.HealthInsurance, value), PropertyName_HealthInsurance);
|
||||
FirePropertyChanged(PropertyName_HealthInsurance);
|
||||
}
|
||||
}
|
||||
public ObservableSortCollection<ValueListEntryDC> EintragKategorien
|
||||
@@ -2071,13 +2073,13 @@ namespace BeWo.ViewModel
|
||||
pDataContract.Toilettengang = _Toilettengang;
|
||||
pDataContract.Aggressiv = _Aggressiv;
|
||||
pDataContract.Schutzstufe = _Schutzstufe;
|
||||
pDataContract.Uebernahmeort = _Uebernahmeort;
|
||||
pDataContract.Verhalten = _Verhalten;
|
||||
pDataContract.Betreuungsbedarf = _Betreuungsbedarf;
|
||||
pDataContract.BemerkungenSbd = _BemerkungenSbd;
|
||||
pDataContract.HealthInsurance = _HealthInsurance;
|
||||
pDataContract.InsuranceNumber = _InsuranceNumber;
|
||||
pDataContract.VersichertenStatus = _VersichertenStatus;
|
||||
pDataContract.Uebernahmeort = _Uebernahmeort;
|
||||
pDataContract.Verhalten = _Verhalten;
|
||||
pDataContract.Betreuungsbedarf = _Betreuungsbedarf;
|
||||
pDataContract.BemerkungenSbd = _BemerkungenSbd;
|
||||
pDataContract.HealthInsurance = _HealthInsurance;
|
||||
pDataContract.InsuranceNumber = _InsuranceNumber?.Trim();
|
||||
pDataContract.VersichertenStatus = _VersichertenStatus?.Trim();
|
||||
pDataContract.Hygienebelehrung = _Hygienebelehrung;
|
||||
pDataContract.Migrationshintergrund = _Migrationshintergrund;
|
||||
pDataContract.SubstitutionNeed = _SubstitutionNeed;
|
||||
|
||||
@@ -13,6 +13,7 @@ using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using BS.Shared.ReportRequests;
|
||||
using DevExpress.Xpf.Core;
|
||||
|
||||
namespace BeWo.ViewModel
|
||||
@@ -96,14 +97,16 @@ namespace BeWo.ViewModel
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._ErstelltAm, value))
|
||||
if (AreDifferent(_ErstelltAm, value))
|
||||
{
|
||||
this._ErstelltAm = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ErstelltAm, value), nameof(ErstelltAm));
|
||||
this.FirePropertyChanged(nameof(ErstelltAm));
|
||||
_ErstelltAm = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.ErstelltAm, value), nameof(ErstelltAm));
|
||||
FirePropertyChanged(nameof(ErstelltAm));
|
||||
FirePropertyChanged(nameof(ErstelltAmDate));
|
||||
}
|
||||
}
|
||||
}
|
||||
public DateTime ErstelltAmDate => ErstelltAm.Date;
|
||||
public long? GkvAbrechnungOid
|
||||
{
|
||||
get { return this._GkvAbrechnungOid; }
|
||||
@@ -188,6 +191,7 @@ namespace BeWo.ViewModel
|
||||
StoreDirtyInformation(AreDifferent(DataContract.UrbelegeGesendet, value), nameof(UrbelegeGesendet));
|
||||
FirePropertyChanged(nameof(UrbelegeGesendet));
|
||||
FirePropertyChanged(nameof(GkvState));
|
||||
FirePropertyChanged(nameof(IsBezahltEditEnabled));
|
||||
}
|
||||
}
|
||||
public GkvState GkvState
|
||||
@@ -308,7 +312,7 @@ namespace BeWo.ViewModel
|
||||
get
|
||||
{
|
||||
if (LastTransferProtokoll is GkvTransferProtokollDC last)
|
||||
return last.ErstelltAm;
|
||||
return last.ErstelltAm?.Date;
|
||||
|
||||
return null;
|
||||
}
|
||||
@@ -338,6 +342,20 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsFormularEnabled => LastTransferProtokoll is object ;
|
||||
public bool IsUrbelegeEditEnabled => LastTransferProtokoll is object;
|
||||
public bool IsBezahltEditEnabled => UrbelegeGesendet;
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest
|
||||
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, false);
|
||||
public string ReportLink
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest.GetUrlPathString();
|
||||
|
||||
public GkvAbrechnungReportRequest ReportRequest2
|
||||
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, true);
|
||||
public string ReportLink2
|
||||
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest2.GetUrlPathString();
|
||||
|
||||
public void FirePropertyIsReady2CreateChanged()
|
||||
=> FirePropertyChanged(nameof(IsReady2Create));
|
||||
public bool IsReady2Create
|
||||
@@ -425,9 +443,9 @@ namespace BeWo.ViewModel
|
||||
req.GkvAbrechnungOid = GkvAbrechnungOid.Value;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(s => s.SendNewGkvAbrechnung(req),
|
||||
cb => Application.Current.Dispatch(() => Update(cb)), true);
|
||||
cb => Application.Current.Dispatch(() => UpdateBySendResponse(cb)), true);
|
||||
}
|
||||
public void Update(GkvAbrechnungSendResponseDC cb)
|
||||
public void UpdateBySendResponse(GkvAbrechnungSendResponseDC cb)
|
||||
{
|
||||
var dc = cb.GkvAbrechnungDC;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
@@ -6,80 +7,82 @@ using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.ViewModel
|
||||
{
|
||||
public class ImageVM : AbstractDCMapperVM<ImageDC>
|
||||
{
|
||||
private string _Filename;
|
||||
private string _Fullname;
|
||||
private byte[] _Original;
|
||||
private byte[] _MediumThumbnail;
|
||||
private byte[] _SmallThumbnail;
|
||||
public class ImageVM : AbstractDCMapperVM<ImageDC>
|
||||
{
|
||||
private string _Filename;
|
||||
private string _Fullname;
|
||||
private byte[] _Original;
|
||||
private byte[] _MediumThumbnail;
|
||||
private byte[] _SmallThumbnail;
|
||||
|
||||
public ImageVM() : this(new ImageDC())
|
||||
{
|
||||
public ImageVM() : this(new ImageDC())
|
||||
{
|
||||
|
||||
}
|
||||
public ImageVM(ImageDC dc) : base(dc, dc.Oid == null)
|
||||
{
|
||||
}
|
||||
public ImageVM(ImageDC dc) : base(dc, dc.Oid == null)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public string Filename
|
||||
{
|
||||
get { return _Filename; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Filename, value))
|
||||
return;
|
||||
public string Filename
|
||||
{
|
||||
get { return _Filename; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Filename, value))
|
||||
return;
|
||||
|
||||
_Filename = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Filename, value), nameof(Filename));
|
||||
FirePropertyChanged(nameof(Filename));
|
||||
}
|
||||
}
|
||||
public string Fullname
|
||||
{
|
||||
get { return _Fullname; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Fullname, value))
|
||||
return;
|
||||
_Filename = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Filename, value), nameof(Filename));
|
||||
FirePropertyChanged(nameof(Filename));
|
||||
}
|
||||
}
|
||||
public string Fullname
|
||||
{
|
||||
get { return _Fullname; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Fullname, value))
|
||||
return;
|
||||
|
||||
_Fullname = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Fullname, value), nameof(Fullname));
|
||||
FirePropertyChanged(nameof(Fullname));
|
||||
}
|
||||
}
|
||||
public byte[] Original
|
||||
{
|
||||
get { return _Original; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Original, value))
|
||||
return;
|
||||
_Fullname = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Fullname, value), nameof(Fullname));
|
||||
FirePropertyChanged(nameof(Fullname));
|
||||
}
|
||||
}
|
||||
public byte[] Original
|
||||
{
|
||||
get { return _Original; }
|
||||
set
|
||||
{
|
||||
if (!AreDifferent<byte>(_Original, value))
|
||||
return;
|
||||
|
||||
_Original = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Original, value), nameof(Original));
|
||||
FirePropertyChanged(nameof(Original));
|
||||
FirePropertyChanged(nameof(BitmapImage));
|
||||
}
|
||||
}
|
||||
_Original = value;
|
||||
StoreDirtyInformation(AreDifferent<byte>(DataContract.Original, value), nameof(Original));
|
||||
FirePropertyChanged(nameof(Original));
|
||||
FirePropertyChanged(nameof(BitmapImage));
|
||||
}
|
||||
}
|
||||
|
||||
public BitmapImage BitmapImage => Utils.CreateBitmapImageFromByteArray(Original);
|
||||
public BitmapImage BitmapImage => Utils.CreateBitmapImageFromByteArray(Original);
|
||||
|
||||
protected override void InitByDataContract(ImageDC pDataContract)
|
||||
{
|
||||
_Filename = pDataContract.Filename;
|
||||
_Fullname = pDataContract.Fullname;
|
||||
_Original = pDataContract.Original;
|
||||
}
|
||||
protected override void InitByDataContract(ImageDC pDataContract)
|
||||
{
|
||||
_Filename = pDataContract.Filename;
|
||||
_Fullname = pDataContract.Fullname;
|
||||
_Original = pDataContract.Original;
|
||||
_MediumThumbnail = pDataContract.MediumThumbnail;
|
||||
_SmallThumbnail = pDataContract.SmallThumbnail;
|
||||
}
|
||||
|
||||
protected override ImageDC MapToDataContract(ImageDC pDataContract, bool doCommit)
|
||||
{
|
||||
pDataContract.Filename = _Filename;
|
||||
pDataContract.Fullname = _Fullname;
|
||||
pDataContract.Original = _Original;
|
||||
protected override ImageDC MapToDataContract(ImageDC pDataContract, bool doCommit)
|
||||
{
|
||||
pDataContract.Filename = _Filename;
|
||||
pDataContract.Fullname = _Fullname;
|
||||
pDataContract.Original = _Original;
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
}
|
||||
return pDataContract;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,11 +9,12 @@ using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Interface;
|
||||
using BS.Shared.Translation;
|
||||
|
||||
namespace BeWo.ViewModel
|
||||
{
|
||||
public class InvoiceBaseVM : AbstractDCMapperVM<InvoiceBaseDC>
|
||||
public class InvoiceBaseVM : AbstractDCMapperVM<InvoiceBaseDC>, IInvoiceBase
|
||||
{
|
||||
public static string PropertyName_AccountingPeriodEnd = "AccountingPeriodEnd";
|
||||
|
||||
@@ -116,85 +117,45 @@ namespace BeWo.ViewModel
|
||||
};
|
||||
|
||||
private DateTime? _AccountingPeriodEnd;
|
||||
|
||||
private DateTime? _AccountingPeriodStart;
|
||||
|
||||
private string _CreatorFirstName = string.Empty;
|
||||
|
||||
private string _CreatorLastName = string.Empty;
|
||||
|
||||
private string _CustomerReferenceNumber = string.Empty;
|
||||
|
||||
private DateTime? _DueDate;
|
||||
|
||||
private int? _DunningLetterCount;
|
||||
|
||||
private DateTime? _InvoiceDate;
|
||||
|
||||
private InvoiceItemListVM _InvoiceItems;
|
||||
|
||||
private string _InvoiceNumber = string.Empty;
|
||||
|
||||
private string _InvoiceTitle = string.Empty;
|
||||
|
||||
internal bool _IsReviewed;
|
||||
|
||||
internal bool _IsSent;
|
||||
|
||||
internal bool _IsExported;
|
||||
|
||||
internal bool _IsPaid;
|
||||
|
||||
private string _PartialPayment = string.Empty;
|
||||
|
||||
internal bool _NeuErstellen;
|
||||
|
||||
internal bool _DiffErstellen;
|
||||
|
||||
internal bool _IsChecked;
|
||||
|
||||
private string _Notice = string.Empty;
|
||||
|
||||
private long? _RecipientCostBearerOid;
|
||||
|
||||
private long? _RecipientCustomerOid;
|
||||
|
||||
private string _RecipientDivision = string.Empty;
|
||||
|
||||
private string _RecipientOrganisation = string.Empty;
|
||||
|
||||
private long? _RecipientOrganisationOid;
|
||||
|
||||
private String _RecipientPostBox;
|
||||
|
||||
private string _RecipientPersonFirstName = string.Empty;
|
||||
|
||||
private string _RecipientPersonLastName = string.Empty;
|
||||
|
||||
private long? _RecipientPersonOid;
|
||||
|
||||
private string _RecipientPostCode = string.Empty;
|
||||
|
||||
private string _RecipientAddressLine1 = string.Empty;
|
||||
|
||||
private string _RecipientStreet = string.Empty;
|
||||
|
||||
private string _RecipientTown = string.Empty;
|
||||
|
||||
private string _SenderDivision = string.Empty;
|
||||
|
||||
private string _SenderFax = string.Empty;
|
||||
|
||||
private string _SenderFirstName = string.Empty;
|
||||
|
||||
private string _SenderLastName = string.Empty;
|
||||
|
||||
private string _SenderOrganisation = string.Empty;
|
||||
|
||||
private string _SenderPhone = string.Empty;
|
||||
|
||||
private long? _SupportConceptOid;
|
||||
|
||||
private decimal? _TotalAmount;
|
||||
|
||||
public InvoiceBaseVM(InvoiceBaseDC pDC) : this(pDC, false) { }
|
||||
@@ -922,6 +883,8 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public string SenderAddressLine1 { get; set; }
|
||||
|
||||
public decimal? TotalAmount
|
||||
{
|
||||
get { return _TotalAmount; }
|
||||
@@ -954,6 +917,10 @@ namespace BeWo.ViewModel
|
||||
get; set;
|
||||
}
|
||||
|
||||
public string SenderStreet => DataContract.SenderStreet;
|
||||
public string SenderTown => DataContract.SenderTown;
|
||||
public string SenderPostCode => DataContract.SenderPostCode;
|
||||
|
||||
protected override void InitByDataContract(InvoiceBaseDC pDataContract)
|
||||
{
|
||||
_SupportConceptOid = pDataContract.SupportConceptOid;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using BeWo.Core;
|
||||
using BeWo.Validation;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
@@ -108,6 +110,94 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> SortItems
|
||||
{
|
||||
get
|
||||
{
|
||||
var list = new List<String>();
|
||||
|
||||
list.Add("aufsteigend");
|
||||
list.Add("absteigend");
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
public int SelectedSortIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return BeWoApp.AppSettings.LastBewilligungSortOrder;
|
||||
}
|
||||
set
|
||||
{
|
||||
BeWoApp.AppSettings.LastBewilligungSortOrder = value;
|
||||
this.FirePropertyChanged("SelectedSortIndex");
|
||||
this.FirePropertyChanged("SortedVMList");
|
||||
}
|
||||
}
|
||||
|
||||
public BindingList<SupportConceptApprovalPeriodVM> SortedVMList
|
||||
{
|
||||
get
|
||||
{
|
||||
var list = this.ApprovalPeriodList.VMList;
|
||||
|
||||
if (list.Count > 1)
|
||||
{
|
||||
//Entferne die Items aus der Originalliste und füge sie später wieder hinzu, sonst aktualisiert sich die View nicht:-(
|
||||
var copyList = new BindingList<SupportConceptApprovalPeriodVM>();
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
copyList.Add(item);
|
||||
}
|
||||
|
||||
list.Clear();
|
||||
|
||||
|
||||
|
||||
if (SelectedSortIndex == 0)
|
||||
{
|
||||
copyList.Sort((a, b) => a.StartDate.HasValue ? a.StartDate.Value.CompareTo(b.StartDate) : 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
copyList.Sort((a, b) => b.StartDate.HasValue ? b.StartDate.Value.CompareTo(a.StartDate) : 0);
|
||||
}
|
||||
|
||||
foreach (var item in copyList)
|
||||
{
|
||||
list.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
//public ObservableCollection<SupportConceptApprovalPeriodVM> SortedVMList
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// var list = this.ApprovalPeriodList.VMList;
|
||||
|
||||
// if (SelectedSortIndex == 0)
|
||||
// {
|
||||
// list.Sort((a, b) => a.StartDate.HasValue ? a.StartDate.Value.CompareTo(b.StartDate) : 0);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// list.Sort((a, b) => b.StartDate.HasValue ? b.StartDate.Value.CompareTo(a.StartDate) : 0);
|
||||
// }
|
||||
|
||||
// var sortedlist = new ObservableCollection<SupportConceptApprovalPeriodVM>();
|
||||
// sortedlist.AddRange(list);
|
||||
|
||||
// return sortedlist;
|
||||
// }
|
||||
//}
|
||||
|
||||
// public decimal RateFactor
|
||||
// {
|
||||
// get { return _RateFactor; }
|
||||
|
||||
@@ -8,9 +8,6 @@ EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{FEB0336B-F053-40B6-92DD-7DE56AB9408A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReportImp", "ReportImp", "{D8A691C5-146D-4613-86CC-438F02FE9106}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
ReportImp\Wabe\Wabe.csproj = ReportImp\Wabe\Wabe.csproj
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWo", "BeWo\BeWo.csproj", "{3FEBB560-9275-413A-9767-BB68C44EEBC3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
@@ -887,6 +884,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcheTecklenburg", "ReportI
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebenshilfeRemscheidWohngruppe", "ReportImp\LebenshilfeRemscheidWohngruppe\LebenshilfeRemscheidWohngruppe.csproj", "{A17118EF-CC8C-4984-8225-8B9155CC14D8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Intego", "ReportImp\Intego\Intego.csproj", "{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WendepunktVelbert", "ReportImp\WendepunktVelbert\WendepunktVelbert.csproj", "{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jusina", "ReportImp\Jusina\Jusina.csproj", "{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClaudiaHeizmannHeilpaedagogik", "ReportImp\ClaudiaHeizmannHeilpaedagogik\ClaudiaHeizmannHeilpaedagogik.csproj", "{BA5DDD2F-7282-4793-A898-B664936B1703}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OwnSoftTest5Mrd", "ReportImp\OwnSoftTest5Mrd\OwnSoftTest5Mrd.csproj", "{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoAuxilioRitter", "ReportImp\BeWoAuxilioRitter\BeWoAuxilioRitter.csproj", "{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PeterVomBrocke", "ReportImp\PeterVomBrocke\PeterVomBrocke.csproj", "{886B622D-2C89-494B-BD3A-48F1E3A95197}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -10882,6 +10893,174 @@ Global
|
||||
{A17118EF-CC8C-4984-8225-8B9155CC14D8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A17118EF-CC8C-4984-8225-8B9155CC14D8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A17118EF-CC8C-4984-8225-8B9155CC14D8}.Release|x86.Build.0 = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66}.Release|x86.Build.0 = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -11322,6 +11501,13 @@ Global
|
||||
{DFBB3D88-26B8-4691-B9A7-6E5D5804018A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{F5D34922-2D1D-419F-B81F-0DEF5D80E5BD} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{A17118EF-CC8C-4984-8225-8B9155CC14D8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{23A3DE8B-C179-4C40-855B-1E36FBFF76F1} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{5BC38A8A-6BFB-405C-BF79-2C2594B80F6B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{E65C96E4-FD76-4C92-B161-B1E07ABBE1A7} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{BA5DDD2F-7282-4793-A898-B664936B1703} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{0AB07D34-D1B6-441F-8F1F-E5B310DA666E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{D08B6F46-EB00-4A05-B1AB-A00E189C2C66} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{886B622D-2C89-494B-BD3A-48F1E3A95197} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -21,6 +21,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kundenprojekte", "Kundenpro
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SynpraxReports", "ReportImp\SynpraxReports\SynpraxReports.csproj", "{FC9F4E38-977B-4877-9E05-D04068D3C807}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HausDuelken", "ReportImp\HausDuelken\HausDuelken.csproj", "{ED3DBD24-B774-41E5-A856-99FF78D828A8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -76,12 +78,19 @@ Global
|
||||
{FC9F4E38-977B-4877-9E05-D04068D3C807}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FC9F4E38-977B-4877-9E05-D04068D3C807}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FC9F4E38-977B-4877-9E05-D04068D3C807}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{FC9F4E38-977B-4877-9E05-D04068D3C807} = {30DD24EE-2ED9-4E31-BCB5-AD995E8541BD}
|
||||
{ED3DBD24-B774-41E5-A856-99FF78D828A8} = {30DD24EE-2ED9-4E31-BCB5-AD995E8541BD}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {75267284-7070-4045-9FC8-0FC3C56C1AD3}
|
||||
|
||||
@@ -708,7 +708,7 @@
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>True</UseIIS>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>False</AutoAssignPort>
|
||||
<DevelopmentServerPort>8808</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
|
||||
@@ -151,5 +151,14 @@
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Content Include="KTDatei\AO05Q424.ke0.txt" />
|
||||
<Content Include="KTDatei\BK05Q424.ke1.txt" />
|
||||
<Content Include="KTDatei\BN05Q424.ke1.txt" />
|
||||
<Content Include="KTDatei\EK05Q324.ke4.txt" />
|
||||
<Content Include="KTDatei\IK05Q424.ke0.txt" />
|
||||
<Content Include="KTDatei\LK05Q223.ke0.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -96,5 +96,17 @@ namespace Dakota
|
||||
|
||||
return input.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetVersichertenstatus(string versichertenStatus)
|
||||
{
|
||||
if (versichertenStatus.Length < 5)
|
||||
return FillFromRight(versichertenStatus, 5, '0');
|
||||
else if (versichertenStatus.Length == 5)
|
||||
return versichertenStatus;
|
||||
else if (versichertenStatus.Length == 7)
|
||||
return versichertenStatus.Substring(0, 5);
|
||||
else
|
||||
throw new ArgumentException($"VersichertenStatus \"{versichertenStatus}\" ist ungültig.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2525
Dakota/KTDatei/AO05Q424.ke0.txt
Normal file
2525
Dakota/KTDatei/AO05Q424.ke0.txt
Normal file
File diff suppressed because it is too large
Load Diff
6223
Dakota/KTDatei/BK05Q424.ke1.txt
Normal file
6223
Dakota/KTDatei/BK05Q424.ke1.txt
Normal file
File diff suppressed because it is too large
Load Diff
15734
Dakota/KTDatei/BN05Q424.ke1.txt
Normal file
15734
Dakota/KTDatei/BN05Q424.ke1.txt
Normal file
File diff suppressed because it is too large
Load Diff
2616
Dakota/KTDatei/EK05Q324.ke4.txt
Normal file
2616
Dakota/KTDatei/EK05Q324.ke4.txt
Normal file
File diff suppressed because it is too large
Load Diff
2303
Dakota/KTDatei/IK05Q424.ke0.txt
Normal file
2303
Dakota/KTDatei/IK05Q424.ke0.txt
Normal file
File diff suppressed because it is too large
Load Diff
118
Dakota/KTDatei/LK05Q223.ke0.txt
Normal file
118
Dakota/KTDatei/LK05Q223.ke0.txt
Normal file
@@ -0,0 +1,118 @@
|
||||
UNA:+,? '
|
||||
UNB+UNOC:3+109908701+999999999+230207:1030+00001++LK05Q223KE0'
|
||||
UNH+00001+KOTR:02:001:KV'
|
||||
IDK+101308719+99+LKK Schlesw.-Holst. u. Hamburg'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+101308719+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK SHH'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00001'
|
||||
UNH+00002+KOTR:02:001:KV'
|
||||
IDK+102108731+99+LKK Niedersachsen-Bremen'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+102108731+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK NB'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00002'
|
||||
UNH+00003+KOTR:02:001:KV'
|
||||
IDK+103708773+99+LKK Nordrhein-Westfalen'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+103708773+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK NRW'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00003'
|
||||
UNH+00004+KOTR:02:001:KV'
|
||||
IDK+100609049+99+LKK Mittel- u. Ostdeutschland'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+100609049+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK MOD'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00004'
|
||||
UNH+00005+KOTR:02:001:KV'
|
||||
IDK+105508787+99+LKK Hessen,Rheinl.-Pf.,Saarl.'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+105508787+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK HRS'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00005'
|
||||
UNH+00006+KOTR:02:001:KV'
|
||||
IDK+105508890+99+KK für den Gartenbau'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+105508890+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. GB-KK West'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00006'
|
||||
UNH+00007+KOTR:02:001:KV'
|
||||
IDK+108008880+99+LKK Baden-Württemberg'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+108008880+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK BW'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00007'
|
||||
UNH+00008+KOTR:02:001:KV'
|
||||
IDK+108608820+99+LKK Franken und Oberbayern'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+108608820+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK FOB'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00008'
|
||||
UNH+00009+KOTR:02:001:KV'
|
||||
IDK+109008837+99+LKK N.bayern/Oberpf. u. Schwa.'
|
||||
VDT+19950801'
|
||||
FKT+02'
|
||||
VKG+01+109008837+5++++++00'
|
||||
VKG+03+102109128+5++07++++00'
|
||||
VKG+09+661430035+5++28++++00'
|
||||
NAM+01+SVLFG+ehem. LKK NOS'
|
||||
ANS+1+34131+Kassel+Weißensteinstr. 70 - 72'
|
||||
UNT+000010+00009'
|
||||
UNH+00010+KOTR:02:001:KV'
|
||||
IDK+661430035+99+DAVASO GmbH'
|
||||
VDT+20210101'
|
||||
FKT+04'
|
||||
NAM+01+DAVASO GmbH+c/o SVLFG'
|
||||
ANS+1+04425+Taucha+Gärtnerweg 12'
|
||||
UNT+000007+00010'
|
||||
UNH+00011+KOTR:02:001:KV'
|
||||
IDK+102109128+99+BITMARCK'
|
||||
VDT+20020101'
|
||||
FKT+04'
|
||||
NAM+01+BITMARCK Service GmbH'
|
||||
ANS+2+45004+Essen+Postfach 10 04 53'
|
||||
ASP+01+0800-24862725+0800-2486272532+servicedesk@bitmarck.de'
|
||||
UEM+1+00+I8'
|
||||
DFU+01+070+++++le@bitmarck-daten.de'
|
||||
DFU+02+016+++++dav-ftam.bitmarck-daten.de?:9000'
|
||||
UEM+4+08+I8'
|
||||
UEM+4+09+I8'
|
||||
UEM+4+10+I8'
|
||||
UEM+4+11+I8'
|
||||
UEM+4+12+I8'
|
||||
UEM+4+13+I8'
|
||||
UEM+7+14+I8'
|
||||
UNT+000018+00011'
|
||||
UNZ+000011+00001'
|
||||
@@ -194,16 +194,16 @@ namespace Dakota.Logic
|
||||
info.IKAbsender = DakotaConfig.IKAbsender;
|
||||
info.IKKostentrager = infoParameter.IKKostentrager;
|
||||
info.IKKrankenkasse = infoParameter.IKKrankenkasse;
|
||||
info.IKLeistungserbringer = infoParameter.IKLeistungserbringer;
|
||||
info.IKLeistungserbringer = infoParameter.AddressInformation.IKLeistungserbringer;
|
||||
|
||||
info.Rechnungsnummer = infoParameter.InvoiceBase.InvoiceNumber;
|
||||
info.Rechnungsdatum = infoParameter.InvoiceBase.InvoiceDate.Value;
|
||||
info.Rechnungsart = SchlüsselRechnungsart.AbrechnungÜberAbrechnungsstelleOhneInkassovollmacht;
|
||||
|
||||
info.Name1 = infoParameter.Mandator.Name;
|
||||
info.Name2 = "Rene Evertz";
|
||||
info.Name3 = "Entwickler bei ownSoft";
|
||||
info.Name4 = "dakota.exchange@ownsoft.de";
|
||||
info.Name1 = infoParameter.AddressInformation.OrganisationName;
|
||||
info.Name2 = infoParameter.AddressInformation.Phone;
|
||||
info.Name3 = infoParameter.AddressInformation.Mail;
|
||||
info.Name4 = "Entwicklung dakota.exchange@ownsoft.de";
|
||||
|
||||
return info;
|
||||
}
|
||||
@@ -215,7 +215,7 @@ namespace Dakota.Logic
|
||||
info.IKAbsender = DakotaConfig.IKAbsender;
|
||||
info.IKKostentrager = infoParameter.IKKostentrager;
|
||||
info.IKKrankenkasse = infoParameter.IKKrankenkasse;
|
||||
info.IKLeistungserbringer = infoParameter.IKLeistungserbringer;
|
||||
info.IKLeistungserbringer = infoParameter.AddressInformation.IKLeistungserbringer;
|
||||
|
||||
info.Rechnungsnummer = infoParameter.InvoiceBase.InvoiceNumber;
|
||||
info.Rechnungsdatum = infoParameter.InvoiceBase.InvoiceDate.Value;
|
||||
@@ -229,12 +229,9 @@ namespace Dakota.Logic
|
||||
{
|
||||
var info = new InfoAbrechnungsfall();
|
||||
|
||||
var versicherten_status = infoParameter.Customer.VersichertenStatus;
|
||||
var versicherten_status_kurz = versicherten_status.Substring(0, 5);
|
||||
|
||||
info.VersichtertenNummer = infoParameter.Customer.InsuranceNumber;
|
||||
info.Versichertenstatus = versicherten_status_kurz;
|
||||
info.Beleginformation = SchlüsselBeleginformation.KeineBeleguebermittlung;
|
||||
info.Versichertenstatus = DakotaUtils.GetVersichertenstatus(infoParameter.Customer.VersichertenStatus);
|
||||
info.Beleginformation = SchlüsselBeleginformation.BelegePerPost;
|
||||
info.Belegnummer = infoParameter.Customer.CustomerOid.ToString();
|
||||
|
||||
info.VersichtertenVorname = infoParameter.Customer.FirstName;
|
||||
|
||||
@@ -61,7 +61,6 @@ namespace Dakota.Logic
|
||||
|
||||
return new Tuple<string, string, string, string>(datenannahmestelle, search.Item2, search.Item3, bez);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -84,7 +83,9 @@ namespace Dakota.Logic
|
||||
if (verweis is object && verweis.IKVerknüpfungspartners != kostentrager)
|
||||
return GetIKNummern(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen, verweis.IKVerknüpfungspartners);
|
||||
|
||||
var datenannahmestellen = search.SegmentVKG.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.DatenannahmestelleMitEntschlusselungsbefugnis);
|
||||
var datenannahmestellen = search.SegmentVKG
|
||||
.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.DatenannahmestelleMitEntschlusselungsbefugnis)
|
||||
.ToList();
|
||||
|
||||
// Hat keinen Verweis auf Kostenträger oder Datenannahmestelle gefunden
|
||||
if (datenannahmestellen is null || !datenannahmestellen.Any())
|
||||
@@ -93,17 +94,39 @@ namespace Dakota.Logic
|
||||
if (datenannahmestellen.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
var datenannahmestellen_2 = datenannahmestellen.Where(x => x.Abrechnungscode == abrechnungscode);
|
||||
// Abrechnungscode "69" <=> Sozio
|
||||
var datenannahmestellen_2 = datenannahmestellen
|
||||
.Where(x => x.Abrechnungscode == abrechnungscode)
|
||||
.ToList();
|
||||
|
||||
if (datenannahmestellen_2.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen_2.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
var datenannahmestellen_3 = datenannahmestellen_2.Where(x => x.Tarifkennzeichen == tarifkennzeichen);
|
||||
// Tarifkennzeichen
|
||||
var datenannahmestellen_3 = datenannahmestellen_2
|
||||
.Where(x => x.Tarifkennzeichen == tarifkennzeichen)
|
||||
.ToList();
|
||||
|
||||
if (datenannahmestellen_3.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen_3.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
throw new GkvException($"Keine oder mehrere Datenannahmestellen für {ikkrankenkasse} gefunden.");
|
||||
// ArtDesÜbermittlungsmediums "1" <=> Datenfernübertragung
|
||||
var filter_list = datenannahmestellen_3;
|
||||
|
||||
if(!filter_list.Any())
|
||||
filter_list = datenannahmestellen_2;
|
||||
|
||||
if (!filter_list.Any())
|
||||
filter_list = datenannahmestellen;
|
||||
|
||||
filter_list = filter_list
|
||||
.Where(x => x.ArtDesÜbermittlungsmediums == "1")
|
||||
.ToList();
|
||||
|
||||
if (filter_list.Count() == 1)
|
||||
return GetIKNummern(filter_list.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Tuple<string, string, string> GetIKNummern(SegmentKTDVKG vkg, string kostentrager, string ikkrankenkasse)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Models;
|
||||
using BS.Shared.DataContracts;
|
||||
using Dakota.Models.Infos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -40,7 +41,7 @@ namespace Dakota.Logic
|
||||
IsSammelrechnung = isSammelrechnung;
|
||||
}
|
||||
|
||||
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator, int datenaustauschreferenz, int transfernummer)
|
||||
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, AddressInformation address, int datenaustauschreferenz, int transfernummer)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -56,8 +57,10 @@ namespace Dakota.Logic
|
||||
// "E" - Echtdaten
|
||||
// "T" - Testdaten
|
||||
// Annahme: "E" auch für Erprobungsverfahrenstufe
|
||||
|
||||
var verfahrenkennung = verfahrensstufe == 0 ? "TSOL0" : "ESOL0";
|
||||
// Zusatz: "T" bei Erprobungsverfahrenstufe
|
||||
|
||||
var isTest = verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Test || verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Erprobung;
|
||||
var verfahrenkennung = isTest ? "TSOL0" : "ESOL0";
|
||||
var logischer_dateiname = DakotaConfig.GetLogischerDateiname(Month).Trim();
|
||||
|
||||
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, (int)verfahrensstufe, logischer_dateiname, datenaustauschreferenz);
|
||||
@@ -73,7 +76,7 @@ namespace Dakota.Logic
|
||||
{
|
||||
foreach (var invoice in peroid.InvoiceItems)
|
||||
{
|
||||
var info_nutz_item = new InfoParameterInvoiceItem(serviceInvoice, invoice, organisation, customer, mandator);
|
||||
var info_nutz_item = new InfoParameterInvoiceItem(serviceInvoice, invoice, organisation, customer, address);
|
||||
|
||||
DakotaInfoCreator.AddInfoParameter(nutzdaten, info_nutz_item, Version);
|
||||
}
|
||||
|
||||
@@ -102,11 +102,13 @@ namespace Dakota.Models.Blocke
|
||||
{
|
||||
var sumseg = new decimal[3];
|
||||
|
||||
Dictionary<int, decimal[]> segments = new Dictionary<int, decimal[]>();
|
||||
Dictionary<string, decimal[]> segments = new Dictionary<string, decimal[]>();
|
||||
|
||||
foreach (var fall in NachrichtSLLA.BlockKlienten)
|
||||
{
|
||||
int status = 11;
|
||||
var versicherten_status = fall.SegmentSLLAINV.Versichertenstatus.GetValue();
|
||||
var schlüssel_summenstatus = SchlüsselSummenstatus.Parse(versicherten_status);
|
||||
var status = schlüssel_summenstatus.Value;
|
||||
|
||||
if (!segments.ContainsKey(status))
|
||||
{
|
||||
@@ -133,7 +135,7 @@ namespace Dakota.Models.Blocke
|
||||
NachrichtSLGA.SegmentGES00.Gesamtbruttobetrag.SetValue(sumseg[1]);
|
||||
NachrichtSLGA.SegmentGES00.GesamtbetragZuzahlung.SetValue(sumseg[2]);
|
||||
|
||||
foreach (var key in segments.Keys)
|
||||
foreach (var key in segments.Keys.OrderBy(x => x))
|
||||
{
|
||||
var segment = new SegmentSLGAGES();
|
||||
var array = segments[key];
|
||||
|
||||
@@ -4,103 +4,112 @@ using System;
|
||||
|
||||
namespace Dakota.Models.Daten
|
||||
{
|
||||
internal class Datenelement : Dateneinheit
|
||||
{
|
||||
private protected string _Value;
|
||||
private protected bool _IgnoreCheck;
|
||||
internal class Datenelement : Dateneinheit
|
||||
{
|
||||
private protected string _Value;
|
||||
private protected bool _IgnoreCheck;
|
||||
|
||||
public int MinStellen { get; set; }
|
||||
public int MaxStellen { get; set; }
|
||||
public Feldart Feldart { get; set; }
|
||||
public int MinStellen { get; set; }
|
||||
public int MaxStellen { get; set; }
|
||||
public Feldart Feldart { get; set; }
|
||||
|
||||
public Datenelement(string title)
|
||||
{
|
||||
Title = title;
|
||||
public Datenelement(string title)
|
||||
{
|
||||
Title = title;
|
||||
|
||||
_IgnoreCheck = false;
|
||||
}
|
||||
public Datenelement(string title, int min, int max, Feldart art) : this(title)
|
||||
{
|
||||
MinStellen = min;
|
||||
MaxStellen = max;
|
||||
Feldart = art;
|
||||
}
|
||||
public Datenelement(string title, int count, Feldart art) : this(title, count, count, art)
|
||||
{
|
||||
_IgnoreCheck = false;
|
||||
}
|
||||
public Datenelement(string title, int min, int max, Feldart art) : this(title)
|
||||
{
|
||||
MinStellen = min;
|
||||
MaxStellen = max;
|
||||
Feldart = art;
|
||||
}
|
||||
public Datenelement(string title, int count, Feldart art) : this(title, count, count, art)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override string GetValue()
|
||||
{
|
||||
if (!HasValue())
|
||||
{
|
||||
if (Feldart == Feldart.Muss)
|
||||
{
|
||||
// Auffüllen
|
||||
throw new GkvException($"Das Feld \"{Title}\" muss gefüllt sein!");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Leer lassen
|
||||
public override string GetValue()
|
||||
{
|
||||
if (!HasValue())
|
||||
{
|
||||
if (Feldart == Feldart.Muss)
|
||||
{
|
||||
// Auffüllen
|
||||
throw new GkvException($"Das Feld \"{Title}\" muss gefüllt sein!");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Leer lassen
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
if (!_IgnoreCheck)
|
||||
{
|
||||
if(_Value.Length < MinStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Auswertung {_Value.Length} Stellen ergeben! Nach Vorgabe muss es jedoch mindestens {MinStellen} Stellen haben");
|
||||
}
|
||||
else if (_Value.Length > MaxStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Auswertung {_Value.Length} Stellen ergeben! Nach Vorgabe darf es jedoch maximal {MaxStellen} Stellen haben");
|
||||
}
|
||||
}
|
||||
if (!_IgnoreCheck)
|
||||
{
|
||||
if (_Value.Length < MinStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Auswertung {_Value.Length} Stellen ergeben! Nach Vorgabe muss es jedoch mindestens {MinStellen} Stellen haben");
|
||||
}
|
||||
else if (_Value.Length > MaxStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Auswertung {_Value.Length} Stellen ergeben! Nach Vorgabe darf es jedoch maximal {MaxStellen} Stellen haben");
|
||||
}
|
||||
}
|
||||
|
||||
return _Value;
|
||||
}
|
||||
return _Value;
|
||||
}
|
||||
|
||||
public void ClearValue()
|
||||
{
|
||||
_Value = null;
|
||||
}
|
||||
public override bool HasValue()
|
||||
{
|
||||
return !string.IsNullOrEmpty(_Value);
|
||||
}
|
||||
public void SetValue(int value)
|
||||
{
|
||||
if (Feldart == Feldart.Kann && value == 0)
|
||||
return;
|
||||
public void ClearValue()
|
||||
{
|
||||
_Value = null;
|
||||
}
|
||||
public override bool HasValue()
|
||||
{
|
||||
return !string.IsNullOrEmpty(_Value);
|
||||
}
|
||||
public void SetValue(int value)
|
||||
{
|
||||
if (Feldart == Feldart.Kann && value == 0)
|
||||
return;
|
||||
|
||||
SetValue(value.ToString());
|
||||
}
|
||||
public void SetValue(Schlüssel schlussel)
|
||||
{
|
||||
if (schlussel is null)
|
||||
return;
|
||||
SetValue(schlussel.Value);
|
||||
}
|
||||
public void SetValue(string value)
|
||||
{
|
||||
if (value is null)
|
||||
return;
|
||||
SetValue(value.ToString());
|
||||
}
|
||||
public void SetValue(Schlüssel schlussel)
|
||||
{
|
||||
if (schlussel is null)
|
||||
return;
|
||||
SetValue(schlussel.Value);
|
||||
}
|
||||
public void SetValue(string value)
|
||||
{
|
||||
if (value is null)
|
||||
return;
|
||||
|
||||
if (value.Length < MinStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Erstellung {_Value.Length} Stellen ergeben! Nach Vorgabe muss es jedoch mindestens {MinStellen} Stellen haben");
|
||||
}
|
||||
value = value.Trim();
|
||||
|
||||
if (value.Length > MaxStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Erstellung {_Value.Length} Stellen ergeben! Nach Vorgabe darf es jedoch maximal {MaxStellen} Stellen haben");
|
||||
}
|
||||
if (value.Length < MinStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Erstellung {_Value.Length} Stellen ergeben! Nach Vorgabe muss es jedoch mindestens {MinStellen} Stellen haben");
|
||||
}
|
||||
|
||||
var mod_value = DakotaUtils.ClearTextString(value);
|
||||
if (value.Length > MaxStellen)
|
||||
{
|
||||
throw new GkvException($"Das Feld \"{Title}\" hat bei der Erstellung {_Value.Length} Stellen ergeben! Nach Vorgabe darf es jedoch maximal {MaxStellen} Stellen haben");
|
||||
}
|
||||
|
||||
_Value = mod_value;
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
var mod_value = DakotaUtils.ClearTextString(value);
|
||||
|
||||
_Value = mod_value;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new Exception($"Fehler bei Feld \'{Title}\' mit Wert \"{value}\"", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BeWo.Data.Models;
|
||||
using BS.Shared.DataContracts;
|
||||
using Dakota.Models.Schlüssels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -15,22 +16,21 @@ namespace Dakota.Models.Infos
|
||||
public ServiceInvoiceDC ServiceInvoice { get; set; }
|
||||
public CustomerDC Customer { get; set; }
|
||||
public OrganisationDC Organisation { get; set; }
|
||||
public MandatorDC Mandator { get; set; }
|
||||
public AddressInformation AddressInformation { get; set; }
|
||||
|
||||
public string Abrechnungsposition { get; set; }
|
||||
|
||||
public string IKKostentrager => Organisation.IKKostentrager;
|
||||
public string IKKrankenkasse => Organisation.IKKrankenkasse;
|
||||
public string IKLeistungserbringer => Mandator.IKLeistungserbringer;
|
||||
|
||||
public InfoParameterInvoiceItem(ServiceInvoiceDC serviceInvoice, InvoiceItemDC invoiceItem, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator)
|
||||
public InfoParameterInvoiceItem(ServiceInvoiceDC serviceInvoice, InvoiceItemDC invoiceItem, OrganisationDC organisation, CustomerDC customer, AddressInformation addressInformation)
|
||||
{
|
||||
InvoiceItem = invoiceItem;
|
||||
InvoiceBase = serviceInvoice.InvoiceBase;
|
||||
ServiceInvoice = serviceInvoice;
|
||||
Customer = customer;
|
||||
Organisation = organisation;
|
||||
Mandator = mandator;
|
||||
AddressInformation = addressInformation;
|
||||
|
||||
// Todo: Valid prüfen
|
||||
Abrechnungsposition = invoiceItem.UnitDescription?.Substring(6) ?? "TODO";
|
||||
|
||||
@@ -35,18 +35,20 @@ namespace Dakota.Models.Nachrichten
|
||||
|
||||
public static bool TryParse(string[] rows, string filename, int firstline, out NachrichtKTD nachricht)
|
||||
{
|
||||
nachricht = null;
|
||||
|
||||
try
|
||||
{
|
||||
nachricht = Parse(rows, filename, firstline);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch(Exception e)
|
||||
catch(Exception)
|
||||
{
|
||||
nachricht = null;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static NachrichtKTD Parse(string[] rows, string filename, int firstline)
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Dakota.Models.Nachrichten
|
||||
SegmentSLLAFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringer);
|
||||
SegmentSLLAFKT.IKKostenträgers.SetValue(info.IKKostentrager);
|
||||
SegmentSLLAFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
|
||||
SegmentSLLAFKT.IKRechnungsstellers.SetValue(info.IKAbsender);
|
||||
//SegmentSLLAFKT.IKRechnungsstellers.SetValue(info.IKAbsender);
|
||||
|
||||
foreach (var infofall in info.Abrechnungsfalle.OrderBy(x => x.InfosAbrechnungsposition.Min(y => y.DatumDerLeistungserbringung)))
|
||||
{
|
||||
|
||||
@@ -15,5 +15,21 @@ namespace Dakota.Models.Schlüssels
|
||||
public static SchlüsselSummenstatus Angehörige => new SchlüsselSummenstatus("31");
|
||||
public static SchlüsselSummenstatus Rentner => new SchlüsselSummenstatus("51");
|
||||
public static SchlüsselSummenstatus NichtZugehörigerStatus => new SchlüsselSummenstatus("99");
|
||||
|
||||
public static SchlüsselSummenstatus Parse(string versichtenstatus)
|
||||
{
|
||||
var status_key = versichtenstatus.FirstOrDefault();
|
||||
|
||||
if (status_key == '1')
|
||||
return Mitglieder;
|
||||
|
||||
if (status_key == '3')
|
||||
return Angehörige;
|
||||
|
||||
if (status_key == '5')
|
||||
return Rentner;
|
||||
|
||||
return NichtZugehörigerStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,13 +4,26 @@
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
|
||||
<add key="GkvAbrechnungFailedFolderPath" value="C:\GkvAbrechnung\Failed\" />
|
||||
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Data\Queue\" />
|
||||
<add key="GkvAbrechnungCopyFolderPath" value="C:\GkvAbrechnung\Data\QueueCopy\" />
|
||||
<add key="GkvAbrechnungFailedFolderPath" value="C:\GkvAbrechnung\Data\QueueFailed\" />
|
||||
<add key="GkvAbrechnungSuccessFolderPath" value="C:\GkvAbrechnung\Data\QueueSuccess\" />
|
||||
<add key="GkvAbrechnungCopySave" value="True" />
|
||||
<add key="GkvAbrechnungFailedSave" value="True" />
|
||||
<add key="GkvAbrechnungSuccessSave" value="True" />
|
||||
<add key="DakotaExePath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
|
||||
<add key="DakotaFolder" value="C:\dakotale\" />
|
||||
<add key="ProcessWaitForExitMs" value="10000" />
|
||||
<add key="LogPath" value="C:\GkvAbrechnung\Sender\log.txt" />
|
||||
<add key="LogFileName" value="logs.txt" />
|
||||
<add key="LogSingleFile" value="True" />
|
||||
<add key="GkvSecretKey" value="DfDGNGn72PKfSYxSUsmRdzuBtpR9novewlmYU3gsjiFgSkaZZeylUXlbO42cWNqiKgLdMUFtWUNZT962F1raQDR7HGUzCNYsFeC" />
|
||||
<add key="SendMailModuleSmtpServer" value="mail.ownsoft.de" />
|
||||
<add key="SendMailModuleGkvEnabled" value="true" />
|
||||
<add key="SendMailModuleGkvSmtpUser" value="bewoplaner.support@ownsoft.de" />
|
||||
<add key="SendMailModuleGkvSmtpPassword" value="JJVjJntw2yaRDAxInotF" />
|
||||
<add key="SendMailModuleGkvSender" value="noreply@bewoplaner.de" />
|
||||
<add key="SendMailModuleGkvReceiver" value="dakota.exchange@ownsoft.de" />
|
||||
</appSettings>
|
||||
</configuration>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user