7 Commits

556 changed files with 16698 additions and 11615 deletions

13
.gitignore vendored
View File

@@ -1,8 +1,12 @@
/AndroidChatServer/Serveranwendung/obj
/AndroidChatServer/Serveranwendung/Serveranwendung/obj
/BeWoOhneReports.v12.suo
/BeWo/bin
/BeWo/obj
/BeWoChatServer/bin
/BeWoChatServer/obj
/BeWoLauncher/bin
/BeWoLauncher/obj
/BeWoPlanerAndroid/bin
/BeWoPlanerAndroid/obj
/BeWoPlanerMobil/bin
@@ -13,6 +17,8 @@
/Controls/obj
/Data/bin
/Data/obj
/LauncherHost/bin
/LauncherHost/obj
/Report/bin
/Report/obj
/ReportImp/AachenerVereinReports/obj
@@ -186,6 +192,8 @@
/Service/obj
/Shared/bin
/Shared/obj
/SharedLite/bin
/SharedLite/obj
/ReportImp/ABWElsebrock/bin
/ReportImp/ABWElsebrock/obj
/ReportImp/FortschritteEV/bin
@@ -470,3 +478,8 @@
/ReportImp/SabGmbH/obj/Debug
/ReportImp/SabGmbH/obj/Release
/ReportImp/BeWoFlex/obj/Debug
/ValidationLibrary/obj/Debug/*.cache
*.cache
/SharedLauncher/bin
/SharedLauncher/obj
/DLLs

View File

@@ -5,7 +5,7 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3FEBB560-9275-413A-9767-BB68C44EEBC3}</ProjectGuid>
<OutputType>WinExe</OutputType>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWo</RootNamespace>
<AssemblyName>BeWoPlaner</AssemblyName>
@@ -89,6 +89,10 @@
<ManifestTimestampUrl>
</ManifestTimestampUrl>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<PropertyGroup />
<ItemGroup>
<Reference Include="Blacklight.Wpf.Controls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -102,6 +106,7 @@
<Reference Include="DevExpress.RichEdit.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Web.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Accordion.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Core.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Charts.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -148,6 +153,7 @@
<HintPath>..\packages\RestSharp.105.2.3\lib\net45\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@@ -191,6 +197,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MainDictionary.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ProxyLoginView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -231,21 +241,13 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="LoginControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="LogoPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MainControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MainWindow.xaml">
<Page Include="MainPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
@@ -577,10 +579,6 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Detail\ProfileEditView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Detail\ServiceRecordRebookingView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -693,6 +691,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="MainSession.cs" />
<Compile Include="BSLogoControl.xaml.cs">
<DependentUpon>BSLogoControl.xaml</DependentUpon>
</Compile>
@@ -735,6 +734,10 @@
<Compile Include="ConfirmDemoDialog.xaml.cs">
<DependentUpon>ConfirmDemoDialog.xaml</DependentUpon>
</Compile>
<Compile Include="MainDictionary.xaml.cs">
<DependentUpon>MainDictionary.xaml</DependentUpon>
</Compile>
<Compile Include="MainSessionSingleton.cs" />
<Compile Include="MultiLanguage\Markup\TranslateExtension.cs" />
<Compile Include="MultiLanguage\ServiceTranslator.cs" />
<Compile Include="ownChat\OwnChatHelper.cs" />
@@ -779,20 +782,16 @@
</Compile>
<Compile Include="SchulbegleitenderDienst\WochenansichtVM.cs" />
<Compile Include="SchulbegleitenderDienst\WochenVertretung.cs" />
<Compile Include="ServiceProxy\ServiceConfig.cs" />
<Compile Include="StartRoutine.cs" />
<Compile Include="UploadDialog.xaml.cs">
<DependentUpon>UploadDialog.xaml</DependentUpon>
</Compile>
<Compile Include="LockedPage.xaml.cs">
<DependentUpon>LockedPage.xaml</DependentUpon>
</Compile>
<Compile Include="LoginControl.xaml.cs">
<DependentUpon>LoginControl.xaml</DependentUpon>
</Compile>
<Compile Include="MainControl.xaml.cs">
<DependentUpon>MainControl.xaml</DependentUpon>
</Compile>
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<Compile Include="MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="Office\OfficeManager.cs" />
<Compile Include="Office\TableModels\AbstractTableModel.cs" />
@@ -1183,9 +1182,6 @@
<Compile Include="View\Detail\ModalViewWindow.xaml.cs">
<DependentUpon>ModalViewWindow.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\ProfileEditView.xaml.cs">
<DependentUpon>ProfileEditView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\ServiceRecordRebookingView.xaml.cs">
<DependentUpon>ServiceRecordRebookingView.xaml</DependentUpon>
</Compile>
@@ -1279,12 +1275,6 @@
<Reference Include="System.Xaml" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="BeWoApp.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="Styles\AnalysisExpanderStyle.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1803,10 +1793,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="BeWoApp.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>BeWoApp.xaml</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="Converter\BoolScaleTransformConverter.cs" />
@@ -2266,7 +2252,7 @@
<DependentUpon>PivotGridReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="app.config">
<None Include="app2.config">
<SubType>Designer</SubType>
</None>
<None Include="Properties\Settings.settings">
@@ -2317,8 +2303,13 @@
<Project>{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}</Project>
<Name>Controls</Name>
</ProjectReference>
<ProjectReference Include="..\SharedLauncher\SharedLauncher.csproj">
<Project>{efe05c79-e0dd-4311-8b90-a8da7ebdf36f}</Project>
<Name>SharedLauncher</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>

View File

@@ -1,824 +0,0 @@
<Application x:Class="BeWo.BeWoApp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:bewo="clr-namespace:BeWo"
xmlns:shared="clr-namespace:BS.Shared.DataContracts;assembly=BS.Shared"
xmlns:sharedCompact="clr-namespace:BS.Shared.DataContracts.Compact;assembly=BS.Shared"
xmlns:microsoftWindowsThemes1="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic"
StartupUri="MainWindow.xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
mc:Ignorable="d" ShutdownMode="OnExplicitShutdown">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
<ResourceDictionary Source="Styles\OrangeBlack.xaml" />
<ResourceDictionary Source="Styles\AnalysisExpanderStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--<conv:AssessmentSheetCategory2VisibilityConverter x:Key="AssessmentSheetCategory2VisibilityConverter" />-->
<conv:EnumToDescriptionConverter x:Key="enumToDescriptionConverter" />
<DataTemplate x:Key="whithAttributeItemTemplate">
<TextBlock Text="{Binding Converter={StaticResource enumToDescriptionConverter}}"/>
</DataTemplate>
<conv:BoolNullCheckConverter x:Key="BoolNullCheckConverter" />
<conv:BoolScaleTransformConverter x:Key="BoolScaleTransformConverter" />
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:BoolVisibilityMultiConverter x:Key="BoolVisibilityMultiConverter" />
<conv:BoolVisibilityHiddenConverter x:Key="BoolVisibilityHiddenConverter" />
<conv:CellColorConverter x:Key="CellColorConverter"/>
<conv:ClientType2VisibilityConverter x:Key="ClientType2VisibilityConverter" />
<conv:CollectionContainsTag2BoolConverter x:Key="CollectionContainsTag2BoolConverter" />
<conv:CollectionCountToBoolConverter x:Key="CollectionCountToBoolConverter" />
<conv:CostRatePeriodValueConverter x:Key="CostRatePeriodValueConverter" />
<conv:DataContract2StringConverter x:Key="DataContract2StringConverter" />
<conv:Date2CalendarWeekStringConverter x:Key="Date2CalendarWeekStringConverter" />
<conv:DateConverter x:Key="DateConverter" />
<conv:DateNullValueToEmptyStringConverter x:Key="DateNullValueToEmptyStringConverter" />
<conv:DecimalConverter x:Key="DecimalConverter" />
<conv:DownloadURLConverter x:Key="DownloadURLConverter" />
<conv:FileAttachmentTypeConverter x:Key="FileAttachmentTypeConverter"></conv:FileAttachmentTypeConverter>
<conv:FilterDCConverter x:Key="FilterDCConverter" />
<conv:IListT2DataTableConverter x:Key="IListT2DataTableConverter" />
<conv:IndexBoolConverter x:Key="IndexBoolConverter" />
<conv:Int2DecimalConverter x:Key="Int2DecimalConverter" />
<conv:NodeType2IconPathConverter x:Key="NodeType2IconPathConverter" />
<conv:NumberSmaller0Converter x:Key="NumberSmaller0Converter" />
<conv:ObjectBoolConverter x:Key="ObjectBoolConverter" />
<conv:ObjectVisibilityConverter x:Key="ObjectVisibilityConverter" />
<conv:ObjectVisibilityMultiConverter x:Key="ObjectVisibilityMultiConverter" />
<conv:OneWayToSourceSwitch x:Key="OneWayToSourceSwitch" />
<conv:PersonBackgroundBrushConverter x:Key="PersonBackgroundBrushConverter" />
<conv:ReverseValueEqualsParamVisibilityConverter x:Key="ReverseValueEqualsParamVisibilityConverter" />
<conv:SettlementDCPrintURLConverter x:Key="SettlementDCPrintURLConverter" />
<conv:StringBrushConverter x:Key="StringBrushConverter" />
<conv:StringFormatConverter x:Key="StringFormatConverter" />
<conv:StringFormatMulitConverter x:Key="StringFormatMulitConverter" />
<conv:SupportConceptOverviewDCConverter x:Key="SupportConceptOverviewDCConverter" />
<conv:UserRightTypeConverter x:Key="UserRightTypeConverter" />
<conv:ValueEqualsParamVisibilityConverter x:Key="ValueEqualsParamVisibilityConverter" />
<conv:ReactivationRight2VisibilityConverter x:Key="ReactivationRight2VisibilityConverter" />
<conv:BoolReverseConverter x:Key="BoolReverseConverter" />
<conv:IndividualGoalMassnahmeUncheckPreventConverter x:Key="IndividualGoalMassnahmeUncheckPreventConverter" />
<conv:Rights2DefaultBooleanConverter x:Key="Rights2DefaultBooleanConverter"/>
<conv:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter" />
<conv:DeleteForGoodRight2VisibilityConverter x:Key="DeleteForGoodRight2VisibilityConverter" />
<conv:AnonymizationRight2VisibilityConverter x:Key="AnonymizationRight2VisibilityConverter" />
<Style x:Key="SupportConceptDetailStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="Margin" Value="0,2,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" MinWidth="250" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Grid.Row="0" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
<TextBlock x:Name="txtDetail2" Grid.Column="1" Grid.Row="1" Text="{Binding Path=AddressString}" FontSize="12" Foreground="#FFA0A0A0" FontFamily="Microsoft Sans Serif" />
<ListBox x:Name="listBoxDetail3" Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" ItemsSource="{Binding Path=CostBearerDetailStrings}" FontSize="12" Foreground="{Binding ForegroundBrush}" FontFamily="Microsoft Sans Serif" Background="Transparent" BorderThickness="0" IsHitTestVisible="False" Margin="6,0,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBox}, Mode=FindAncestor}}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock VerticalAlignment="Center" Grid.Column="3" Grid.Row="0" Grid.RowSpan="2" Margin="0,0,3,0" Visibility="{Binding Path=IsDeleted, Converter={StaticResource ReactivationRight2VisibilityConverter}, ConverterParameter=SupportConcept}">
<Hyperlink TargetName="_NewWindow" Foreground="#FFFFFFFF" Click="Hyperlink_Hilfeplan_Reaktivieren_Click" Tag="{Binding}">Reaktivieren</Hyperlink>
</TextBlock>
<Button x:Name="btnOpenServiceRecordView" Grid.Column="4" Grid.Row="0" Grid.RowSpan="2" Width="25" Height="25" Style="{DynamicResource TransparentButtonStyle}" ToolTip="{markup:Translate In Zeiterfassung öffnen}" Tag="{Binding}" Margin="0,0,2,0" Click="BtnOpenServiceRecordView_Click">
<Image Source="Ressources\Icons\HistoryDisabled.png" />
</Button>
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsArchived}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FF808080" />
<Setter Property="Foreground" TargetName="txtDetail2" Value="#FF808080" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FF808080" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsDeleted}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FFF97E7B" />
<Setter Property="Foreground" TargetName="txtDetail2" Value="#FFF97E7B" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FFF97E7B" />
</DataTrigger>
<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>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SupportConceptSearchStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="Margin" Value="0,2,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Grid.Row="0" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
<ListBox x:Name="listBoxDetail3" Grid.Column="1" Grid.Row="1" Margin="-2,0,0,0" ItemsSource="{Binding Path=CostBearerDetailStrings}" FontSize="12" Foreground="{Binding ForegroundBrush}" FontFamily="Microsoft Sans Serif" Background="Transparent" BorderThickness="0" IsHitTestVisible="False" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBox}, Mode=FindAncestor}}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsArchived}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FF808080" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FF808080" />
</DataTrigger>
<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>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="MainContentGroupBoxStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<ToggleButton Checked="Togglebutton_maximise_Checked"
Unchecked="Togglebutton_maximise_Unchecked"
Margin="3,6,3,0"
x:Name="togglebutton_maximise"
Grid.Column="0" Grid.Row="0" Width="25" Height="25"
VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MaximizeButtonStyle}"
Grid.ColumnSpan="1" Grid.RowSpan="2"
IsChecked="{Binding Source={x:Static bewo:BeWoApp.MainControl}, Path=IsMaximized}" />
<!-- ToggleButton Checked="togglebutton_maximise_Checked" Unchecked="togglebutton_maximise_Unchecked" Margin="3,6,3,0" x:Name="togglebutton_maximise" Grid.Column="0" Grid.Row="0" Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource MaximizeButtonStyle}" Grid.ColumnSpan="1" Grid.RowSpan="2"/ -->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithoutMaximizeBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close"
Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithMinimizeBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MinimizeButtonStyle}" Command="ApplicationCommands.Close"
Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithMinMaxCloseBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<StackPanel Orientation="Horizontal" Margin="3,3,3,3" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" >
<Button Margin="3,3,3,3" x:Name="button_Minimize"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MinimizeFullyButtonStyle }" Click="TogglebuttonChat_Minimize_Checked" />
<ToggleButton Margin="3,3,3,3" x:Name="button_Maximize"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MaximizeButtonStyle}" Checked="TogglebuttonChat_maximise_Checked" Unchecked="TogglebuttonChat_maximise_Unchecked" />
<Button Margin="3,3,3,3" x:Name="button_close"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" />
</StackPanel>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="PopUpWindowStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="2" CornerRadius="3,1,0,3" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 10,10 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Bottom">
<ContentPresenter TextElement.FontSize="16" Margin="5,0,0,3" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0" Width="20" Height="20" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" Grid.ColumnSpan="1" Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<HierarchicalDataTemplate DataType="{x:Type shared:SupportConceptTreeNodeDC}" ItemsSource="{Binding Path=ChildNodes}">
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Margin="0 0 3 0" Width="16" Height="16" Source="{Binding Path=NodeType, Converter={StaticResource NodeType2IconPathConverter}}" />
<TextBlock Grid.Column="1" Text="{Binding Path=DetailDescription}" FontSize="12" Foreground="Black" FontFamily="Microsoft Sans Serif" />
</Grid>
</HierarchicalDataTemplate>
<Style x:Key="ObjectComboBoxStyle" TargetType="{x:Type ComboBox}">
<Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="1" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<Border SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Border x:Name="BorderBackground" />
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderThickness="2,2,2,2">
<Popup x:Name="PART_Popup" AllowsTransparency="True" IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Focusable="False">
<microsoftWindowsThemes1:SystemDropShadowChrome MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{Binding Path=ActualWidth, ElementName=Border}" x:Name="Shdw" Color="#00FFFFFF">
<Border x:Name="DropDownBorder" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1,1,1,1">
<ScrollViewer>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.DirectionalNavigation="Contained" />
</ScrollViewer>
</Border>
</microsoftWindowsThemes1:SystemDropShadowChrome>
</Popup>
</Border>
<DockPanel>
<FrameworkElement Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" DockPanel.Dock="Right" />
<Border Margin="{TemplateBinding Padding}" x:Name="SelectedItemBorder">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="1,0,1,1" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" />
</Border>
</DockPanel>
<ToggleButton Style="{DynamicResource ComboBoxTransparentButtonStyle}" Margin="1,2,1,2" MinHeight="0" MinWidth="0" Width="Auto" Focusable="False" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelectionBoxHighlighted" Value="True" />
<Condition Property="IsDropDownOpen" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
</MultiTrigger>
<Trigger Property="IsSelectionBoxHighlighted" Value="True">
<Setter Property="Background" TargetName="BorderBackground" Value="#80000000" />
</Trigger>
<Trigger Property="HasItems" Value="False">
<Setter Property="MinHeight" TargetName="DropDownBorder" Value="95" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
</Trigger>
<Trigger Property="IsGrouping" Value="True">
<Setter Property="ScrollViewer.CanContentScroll" Value="False" />
</Trigger>
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="True">
<Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5" />
<Setter Property="Color" TargetName="Shdw" Value="#71000000" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemContainerStyle" Value="{DynamicResource ObjectComboBoxItemStyle}" />
</Style>
<Style x:Key="ObjectComboBoxItemStyle" TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="Padding" Value="3,0,3,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ButtonFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Stroke="Black" StrokeDashArray="1 2" StrokeThickness="1" Margin="2" SnapsToDevicePixels="true" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="WarningButton" TargetType="{x:Type Button}">
<Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}" />
<Setter Property="Background" Value="{StaticResource ButtonNormalBackground}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Padding" Value="1" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Image Width="16" Height="16" Source="Ressources\Icons\warning-16x16.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true" />
<Trigger Property="ToggleButton.IsChecked" Value="true" />
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataTemplate x:Key="CustomerComboBoxItemTemplate" DataType="{x:Type shared:SupportConceptTreeNodeDC}">
<Grid Margin="0,1,0,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000" Grid.RowSpan="3" Grid.ColumnSpan="2" Margin="0,0,0,0">
<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>
<StackPanel Orientation="Horizontal">
<Image Visibility="{Binding Path=SupportConceptName, Converter={StaticResource ObjectVisibilityConverter} }" Source="Ressources\Icons\UserHomeMaleDisabled.png" Height="20" VerticalAlignment="Center" HorizontalAlignment="Left" Width="Auto" />
<TextBlock FontSize="14" Foreground="#FFD2D2D2" x:Name="customerText" Tag="{Binding}" Margin="3 2" Text="{Binding Path=CustomerName}" VerticalAlignment="Center" TextWrapping="Wrap" />
</StackPanel>
<TextBlock FontSize="12" x:Name="supportConceptText" Grid.Column="0" Grid.Row="1" Margin="3 2" Text="{Binding Path=SupportConceptName}" VerticalAlignment="Center" Foreground="{Binding Path=NodeForegroundBrush}" />
<TextBlock FontSize="12" Foreground="#FFA0A0A0" x:Name="costBearerText" Grid.Column="0" Grid.Row="2" Margin="3 2" Text="{Binding Path=CostBearerName}" VerticalAlignment="Center" />
<Button Content="I" Width="15" Height="15" Grid.Column="1" Style="{DynamicResource WarningButton}" Visibility="{Binding Path=IsCustomerWarningActive, Converter={StaticResource BoolVisibilityConverter}}">
<Button.ToolTip>
<TextBlock Text="{Binding Path=CustomerWarning}" />
</Button.ToolTip>
</Button>
</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>
</DataTemplate.Triggers>
</DataTemplate>
<ItemsPanelTemplate x:Key="CustomerComboBoxItemsPanelTemplate">
<StackPanel IsItemsHost="True" Background="{DynamicResource SupportConceptListBrush}" />
</ItemsPanelTemplate>
<DataTemplate x:Key="SupportConceptComboBoxItemTemplate" DataType="{x:Type sharedCompact:CompactSupportConceptDC}">
<Grid Margin="0,1,0,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000" Grid.RowSpan="3" Grid.ColumnSpan="2" Margin="0,0,0,0">
<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>
<StackPanel Orientation="Horizontal">
<Image Visibility="{Binding Path=SupportConceptName, Converter={StaticResource ObjectVisibilityConverter} }" Source="Ressources\Icons\UserHomeMaleDisabled.png" Height="20" VerticalAlignment="Center" HorizontalAlignment="Left" Width="Auto" />
<TextBlock FontSize="14" Foreground="#FFD2D2D2" x:Name="customerText" Tag="{Binding}" Margin="3 2" Text="{Binding Path=CustomerName}" VerticalAlignment="Center" TextWrapping="Wrap" />
</StackPanel>
<TextBlock FontSize="12" x:Name="supportConceptText" Grid.Column="0" Grid.Row="1" Margin="3 2" Text="{Binding Path=SimpleDescription}" VerticalAlignment="Center" Foreground="{Binding Path=NodeForegroundBrush}" />
<TextBlock FontSize="12" Foreground="#FFA0A0A0" x:Name="costBearerText" Grid.Column="0" Grid.Row="2" Margin="3 2" Text="{Binding Path=AllCostBearerNames}" VerticalAlignment="Center" />
</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>
</DataTemplate.Triggers>
</DataTemplate>
<ItemsPanelTemplate x:Key="OrganisationComboBoxItemsPanelTemplate">
<StackPanel IsItemsHost="True" Background="{DynamicResource OrganisationContentBrush}" />
</ItemsPanelTemplate>
<DataTemplate x:Key="OrganisationComboBoxItemTemplate" DataType="{x:Type sharedCompact:CompactOrganisationDC}">
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" Margin="2" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFFFFFFF" FontFamily="Microsoft Sans Serif" />
<TextBlock x:Name="txtDetail2" Grid.Column="1" Grid.Row="1" Text="{Binding Path=AddressString}" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
</Grid>
</Border>
</Grid>
</DataTemplate>
<ControlTemplate x:Key="dx_textedit_border" TargetType="{x:Type ContentControl}">
<Border Background="White" BorderBrush="#6f7074" BorderThickness="1">
<ContentPresenter />
</Border>
</ControlTemplate>
</ResourceDictionary>
</Application.Resources>
</Application>

File diff suppressed because it is too large Load Diff

View File

@@ -21,10 +21,10 @@ namespace BeWo.Converter
switch(parameter.ToString())
{
case "Customer":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_Anonymization);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.Customer_Anonymization);
break;
case "Employee":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_Anonymization);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.Employee_Anonymization);
break;
}

View File

@@ -19,7 +19,7 @@ namespace BeWo.Converter
{
Int32.TryParse((string)parameter, out clienttype);
if (clienttype == BeWoApp.Mandator.BeWoClientType)
if (clienttype == MainSession.Mandator.BeWoClientType)
{
return Visibility.Visible;
}

View File

@@ -7,6 +7,7 @@ using BeWo.Core;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.SharedLauncher.Information;
namespace BeWo.Converter
{
@@ -21,7 +22,7 @@ namespace BeWo.Converter
return null;
}
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?cOid=" + lDC.CustomerOid + "&type=" + Utils.EnumName(ReportTypes.CustomerData);
string url = ConnectionInformation.CoreServerAddressOrigin + "/ReportView.aspx?cOid=" + lDC.CustomerOid + "&type=" + Utils.EnumName(ReportTypes.CustomerData);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
return new Uri(url);

View File

@@ -21,13 +21,13 @@ namespace BeWo.Converter
switch(parameter.ToString())
{
case "Customer":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_Full_Delete);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.Customer_Full_Delete);
break;
case "Employee":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_Full_Delete);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.Employee_Full_Delete);
break;
case "Person":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.Person_Full_Delete);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.Person_Full_Delete);
break;
}

View File

@@ -3,6 +3,7 @@ using System.Globalization;
using System.Windows.Data;
using BeWo.Core;
using BS.SharedLauncher.Information;
namespace BeWo.Converter
{
@@ -12,7 +13,7 @@ namespace BeWo.Converter
{
if (value == null)
return null;
return BeWoWpfUtils.GetHTMLEncodedURL(BeWoApp.SiteOfOrigin + value.ToString());
return BeWoWpfUtils.GetHTMLEncodedURL(ConnectionInformation.CoreServerAddressOrigin + value.ToString());
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View File

@@ -4,6 +4,7 @@ using System.Windows.Data;
using BeWo.Core;
using BeWo.ViewModel;
using BS.SharedLauncher.Information;
namespace BeWo.Converter
{
@@ -18,7 +19,7 @@ namespace BeWo.Converter
return null;
}
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?ioid=" + lVM.DataContract.InvoiceBaseOid + "&type=CustomerInvoice";
string url = ConnectionInformation.CoreServerAddressOrigin + "/ReportView.aspx?ioid=" + lVM.DataContract.InvoiceBaseOid + "&type=CustomerInvoice";
url = BeWoWpfUtils.GetHTMLEncodedURL(url);

View File

@@ -20,19 +20,19 @@ namespace BeWo.Converter
switch (parameter.ToString())
{
case "Person":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonAllowReactivation);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.PersonAllowReactivation);
break;
case "Organisation":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationAllowReactivation);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.OrganisationAllowReactivation);
break;
case "SupportConcept":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConceptAllowReactivation);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.SupportConceptAllowReactivation);
break;
case "Customer":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerAllowReactivation);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.CustomerAllowReactivation);
break;
case "Employee":
hasRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeAllowReactivation);
hasRight = MainSession.LoggedOnUser.HasRight(UserRightType.EmployeeAllowReactivation);
break;
}

View File

@@ -23,7 +23,7 @@ namespace BeWo.Converter
rightsList.AddRange(rights.Select(rightString => (UserRightType) Enum.Parse(typeof (UserRightType), rightString.Trim())));
tmp = BeWoApp.HasLoggedOnUserRight(rightsList.ToArray()) ? DefaultBoolean.True : DefaultBoolean.False;
tmp = MainSession.HasLoggedOnUserRight(rightsList.ToArray()) ? DefaultBoolean.True : DefaultBoolean.False;
}
return tmp;

View File

@@ -4,9 +4,9 @@ using System.Windows.Data;
using BeWo.Core;
using BeWo.ViewModel;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.SharedLauncher.Information;
namespace BeWo.Converter
{
@@ -33,7 +33,7 @@ namespace BeWo.Converter
}
}
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?" + oidString + "&type=" + Utils.EnumName(typ);
string url = ConnectionInformation.CoreServerAddressOrigin + "/ReportView.aspx?" + oidString + "&type=" + Utils.EnumName(typ);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);

View File

@@ -56,6 +56,7 @@ using RestSharp;
using Control = System.Windows.Controls.Control;
using Utils = BS.Shared.Core.Utils;
using Brush = System.Windows.Media.Brush;
using BS.SharedLauncher.Information;
namespace BeWo.Core
{
@@ -125,7 +126,7 @@ namespace BeWo.Core
Width = 500,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow,
Owner = Session.GetWindow(),
rootGroupBox = { Header = "Layout speichern" }
};
@@ -150,9 +151,9 @@ namespace BeWo.Core
//var newUri = navigateUriString.Replace(typeString, "template=" + (selectedTemplate.Oid.HasValue ? selectedTemplate.Oid.Value.ToString() : "-1"));
BeWoApp.MainControl.StartWaiting();
MainSession.MainPage.StartWaiting();
StartGetReportStreamAsync(GetReportStreamForWPFControl, newUri, ms => BeWoApp.MainControl.Dispatch(delegate
StartGetReportStreamAsync(GetReportStreamForWPFControl, newUri, ms => MainSession.MainPage.Dispatch(delegate
{
if (callback != null)
{
@@ -166,9 +167,9 @@ namespace BeWo.Core
}
else
{
BeWoApp.MainControl.StartWaiting();
MainSession.MainPage.StartWaiting();
StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => BeWoApp.MainControl.Dispatch(delegate
StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => MainSession.MainPage.Dispatch(delegate
{
if (callback != null)
{
@@ -245,8 +246,8 @@ namespace BeWo.Core
}
catch (Exception e)
{
BeWoApp.ShowError(null, e, true);
BeWoApp.MainControl.EndWaiting();
Session.ShowError(null, e, true);
MainSession.MainPage.EndWaiting();
}
},
null);
@@ -391,10 +392,10 @@ namespace BeWo.Core
Title = viewModel.ToString()
};
BeWoApp.MainControl.OpenedModalViewWindows.Add(CurrentModalViewWindow);
MainSession.MainPage.OpenedModalViewWindows.Add(CurrentModalViewWindow);
_ModalViewWindowsToUpdate.Add(CurrentModalViewWindow);
foreach (var window in BeWoApp.MainControl.OpenedModalViewWindows.Where(window => !BeWoApp.MainControl.OpenedModalViewWindows.Last().Equals(window)))
foreach (var window in MainSession.MainPage.OpenedModalViewWindows.Where(window => !MainSession.MainPage.OpenedModalViewWindows.Last().Equals(window)))
{
ShowModalBackground(window.RootGrid);
}
@@ -404,15 +405,15 @@ namespace BeWo.Core
public static void RemoveModalViewWindow()
{
if(BeWoApp.MainControl.OpenedModalViewWindows.Count > 1 && CurrentModalViewWindow != null)
if(MainSession.MainPage.OpenedModalViewWindows.Count > 1 && CurrentModalViewWindow != null)
{
var nextToLastWindowWithModalBackground = BeWoApp.MainControl.OpenedModalViewWindows.ElementAt(BeWoApp.MainControl.OpenedModalViewWindows.Count - 2);
var nextToLastWindowWithModalBackground = MainSession.MainPage.OpenedModalViewWindows.ElementAt(MainSession.MainPage.OpenedModalViewWindows.Count - 2);
nextToLastWindowWithModalBackground.RootGrid.Children.RemoveAt(1);
}
BeWoApp.MainControl.OpenedModalViewWindows.Remove(CurrentModalViewWindow);
MainSession.MainPage.OpenedModalViewWindows.Remove(CurrentModalViewWindow);
CurrentModalViewWindow = BeWoApp.MainControl.OpenedModalViewWindows.Count > 0 ? BeWoApp.MainControl.OpenedModalViewWindows.ElementAt(BeWoApp.MainControl.OpenedModalViewWindows.Count - 1) : null;
CurrentModalViewWindow = MainSession.MainPage.OpenedModalViewWindows.Count > 0 ? MainSession.MainPage.OpenedModalViewWindows.ElementAt(MainSession.MainPage.OpenedModalViewWindows.Count - 1) : null;
}
public static bool CheckViewIsCalledFromWindow(BeWoView view)
@@ -445,10 +446,10 @@ namespace BeWo.Core
public static void UpdateAllViews<T>(T updatedObject) where T : IFilterableDC
{
var activeView = BeWoApp.MainControl.ActiveView;
var activeView = MainSession.MainPage.ActiveView;
UpdateView(activeView, updatedObject);
if(BeWoApp.MainControl.OpenedModalViewWindows.Count <= 0)
if(MainSession.MainPage.OpenedModalViewWindows.Count <= 0)
{
return;
}
@@ -932,7 +933,7 @@ namespace BeWo.Core
else if(typeof(T) == typeof(CompactSupportConceptDC))
{
var updatedSupportConcept = new CompactSupportConceptDC();
ServiceFacade.DoCustomerServiceSync(s => updatedSupportConcept = s.LoadCompactSupportConceptDC((pUpdateObject as CompactSupportConceptDC).SupportConceptOid, BeWoApp.LoggedOnEmployee.EmployeeOid));
ServiceFacade.DoCustomerServiceSync(s => updatedSupportConcept = s.LoadCompactSupportConceptDC((pUpdateObject as CompactSupportConceptDC).SupportConceptOid, MainSession.LoggedOnEmployee.EmployeeOid));
if(equityInvoiceView?.SelectedSupportConcept != null)
{
@@ -1068,9 +1069,9 @@ namespace BeWo.Core
pSupportConceptView.popupedit_employee.Text = updatedEmployee.ToString();
}
if(BeWoApp.LoggedOnUser.Employee.EmployeeOid.Equals(updatedEmployee.EmployeeOid))
if(MainSession.LoggedOnUser.Employee.EmployeeOid.Equals(updatedEmployee.EmployeeOid))
{
BeWoApp.LoggedOnUser.Employee = updatedEmployee;
MainSession.LoggedOnUser.Employee = updatedEmployee;
}
pSupportConceptView.popupedit_employee.Text = updatedEmployee.ToString();
@@ -1263,7 +1264,7 @@ namespace BeWo.Core
pUserView.ViewModel.Employee = updatedEmployee;
var myView = new BeWoView();
BeWoApp.MainControl.Views.TryGetValue(UIContext.User, out myView);
MainSession.MainPage.Views.TryGetValue(UIContext.User, out myView);
if(myView is UserNavigationView naviView)
{
@@ -1554,7 +1555,7 @@ namespace BeWo.Core
supConSelConSeletedItem.SupportConceptTreeNodeDC.SupportConcept.Customer = updatedCustomer;
}
var newList = control.SearchView.ObjectList;
List<CompactSupportConceptDC> newList = control.SearchView.ObjectList;
foreach (var concept in newList.Where(concept => concept.Customer.Equals(updatedCustomer)))
concept.Customer = updatedCustomer;
@@ -1567,15 +1568,15 @@ namespace BeWo.Core
private static void UpdateLoggedInEmployee(long employeeOid)
{
if (employeeOid != BeWoApp.LoggedOnUser.Employee.EmployeeOid)
if (employeeOid != MainSession.LoggedOnUser.Employee.EmployeeOid)
return;
ServiceFacade.DoEmployeeServiceSync(s => BeWoApp.LoggedOnUser.Employee = s.LoadCompactEmployee(BeWoApp.LoggedOnUser.Employee.EmployeeOid));
ServiceFacade.DoEmployeeServiceSync(s => MainSession.LoggedOnUser.Employee = s.LoadCompactEmployee(MainSession.LoggedOnUser.Employee.EmployeeOid));
if (BeWoApp.MainControl.HomeButtonPanel == null)
if (MainSession.MainPage.HomeButtonPanel == null)
return;
//BeWoApp.MainControl.HomeView.txtHeader.Text = BeWoApp.LoggedOnUser.Employee.ToString();
MainSession.MainPage.HomeView.txtHeader.Text = MainSession.LoggedOnUser.Employee.ToString();
}
public static void WriteExcelFile(string content, string path)
@@ -1677,7 +1678,7 @@ namespace BeWo.Core
var dc = vm.CommitToDataContract();
dc.Employee = selectedEmployee ?? BeWoApp.LoggedOnUser.Employee;
dc.Employee = selectedEmployee ?? MainSession.LoggedOnUser.Employee;
dc.SupportConcept = scDc;
dc.CostBearer = cbDc;
@@ -1732,12 +1733,12 @@ namespace BeWo.Core
var r = new List<ServiceRecordValidationResultDC>();
var maxdays = BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed;
var maxdays = MainSession.AppSettings.MaxDaysEditServiceRecordsAllowed;
if (withoutClient && BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed <= 0)
if (withoutClient && MainSession.AppSettings.MaxDaysEditServiceRecordsAllowed <= 0)
maxdays = -1;
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth))
if (MainSession.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth))
maxdays = -1;
var test = dc.Start;
@@ -1760,20 +1761,20 @@ namespace BeWo.Core
exitLoop = true;
break;
case ServiceRecordValidationResult.OutOfEditLimit:
MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da bereits der " + BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed + ". des nachfolgenden Monats überschritten ist.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da bereits der " + MainSession.AppSettings.MaxDaysEditServiceRecordsAllowed + ". des nachfolgenden Monats überschritten ist.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
exitLoop = true;
break;
case ServiceRecordValidationResult.FristAbgelaufen:
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
{
if (BeWoApp.AppSettings.AnzTageZeiterfassErfolgt == 1)
if (MainSession.AppSettings.AnzTageZeiterfassErfolgt == 1)
{
MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von einem Tag erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von " + BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + " Tagen erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von " + MainSession.AppSettings.AnzTageZeiterfassErfolgt + " Tagen erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
}
lValid = false;
@@ -1787,7 +1788,7 @@ namespace BeWo.Core
break;
case ServiceRecordValidationResult.ServiceRecordOverlapping:
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLS))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLS))
{
MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag (" + result.Message + " bei Klient/in " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
@@ -1800,7 +1801,7 @@ namespace BeWo.Core
break;
case ServiceRecordValidationResult.EmployeeOverlapping:
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee))
{
MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag von " + result.EmployeeName + "\n(" + result.Message + ").\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
@@ -1822,7 +1823,7 @@ namespace BeWo.Core
"Die für {2} genehmigten FLS ({0:N}) werden mit diesem Eintrag überschritten. ({1:N}).",
result.ApprovedHours, result.HoursNew, klient);
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved))
{
MessageBox.Show(msg + ").\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
@@ -1839,7 +1840,7 @@ namespace BeWo.Core
{
klient2 = "Klient/in " + result.CustomerName;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.BookServiceRecordAfterSettlementInvoice))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.BookServiceRecordAfterSettlementInvoice))
{
MessageBox.Show(String.Format("Sie können den Eintrag nicht bearbeiten, da bereits eine Spitzabrechnung für {0} erstellt wurde.", klient2), "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Warning);
lValid = false;
@@ -1882,7 +1883,7 @@ namespace BeWo.Core
var dc = vm.CommitToDataContract();
var emp = BeWoApp.LoggedOnUser.Employee;
var emp = MainSession.LoggedOnUser.Employee;
var r = new List<ServiceRecordValidationResultDC>();
@@ -1955,7 +1956,7 @@ namespace BeWo.Core
var serienTermine = (List<SchedulerAppointmentDC>)variablen["serienTermine"];
var mehrtaegigeTermine = (List<SchedulerAppointmentDC>)variablen["mehrtaegigeTermine"];
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine), ms => MainSession.MainPage.Dispatch(() => ShowReportWindow(ms, title)));
break;
case ReportEnum.KassenbuchReportEnum:
@@ -1966,7 +1967,7 @@ namespace BeWo.Core
var kasse = (BargeldkassenDC) variablen["bargeldkasse"];
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReportImZeitraum(zeitraum,endzeitraum, kasse, objectOid, objectTid), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReportImZeitraum(zeitraum,endzeitraum, kasse, objectOid, objectTid), ms => MainSession.MainPage.Dispatch(() => ShowReportWindow(ms, title)));
break;
case ReportEnum.ZahlungsbelegEnum:
@@ -1974,7 +1975,7 @@ namespace BeWo.Core
var objectOid2 = Convert.ToInt64(variablen["objectoid"]);
var objectTid2 = (TableID) Enum.Parse(typeof(TableID), variablen["objecttid"].ToString());
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbelegReport(transaktion, objectOid2, objectTid2), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbelegReport(transaktion, objectOid2, objectTid2), ms => MainSession.MainPage.Dispatch(() => ShowReportWindow(ms, title)));
break;
}
@@ -1998,9 +1999,9 @@ namespace BeWo.Core
ms.Close();
ms.Dispose();
//report.DefaultPrinterSettingsUsing.UseLandscape = BeWoApp.AppSettings.PrinterSettingsUseLandscape;
//report.DefaultPrinterSettingsUsing.UseMargins = BeWoApp.AppSettings.PrinterSettingsUseMargins;
//report.DefaultPrinterSettingsUsing.UsePaperKind = BeWoApp.AppSettings.PrinterSettingsUsePaperKind;
//report.DefaultPrinterSettingsUsing.UseLandscape = MainSession.AppSettings.PrinterSettingsUseLandscape;
//report.DefaultPrinterSettingsUsing.UseMargins = MainSession.AppSettings.PrinterSettingsUseMargins;
//report.DefaultPrinterSettingsUsing.UsePaperKind = MainSession.AppSettings.PrinterSettingsUsePaperKind;
BeWoWindow window = null;
@@ -2012,7 +2013,7 @@ namespace BeWo.Core
documentPreviewControl.Loaded += CustomizeReportPreviewToolBar;
documentPreviewControl.SnapsToDevicePixels = true;
window = new BeWoWindow { GroupBoxContent = documentPreviewControl, Owner = BeWoApp.CurrentBeWo.MainWindow };
window = new BeWoWindow { GroupBoxContent = documentPreviewControl, Owner = Session.GetWindow() };
ThemeManager.SetTheme(window, Theme.Office2010Black);
}
@@ -2030,7 +2031,7 @@ namespace BeWo.Core
documentPreviewControl.Visibility = Visibility.Visible;
BeWoApp.MainControl.EndWaiting();
MainSession.MainPage.EndWaiting();
}
public static PasswortSecurityStrength CheckPasswordSecurity(string paswd)
@@ -2104,7 +2105,7 @@ namespace BeWo.Core
{
if (employees.Count == 0)
{
employees.Add(BeWoApp.CompactLoggedOnEmployee);
employees.Add(MainSession.CompactLoggedOnEmployee);
}
// Gruppenbuchungen
@@ -2134,7 +2135,7 @@ namespace BeWo.Core
{
if(employees.Count == 0)
{
employees.Add(BeWoApp.CompactLoggedOnEmployee);
employees.Add(MainSession.CompactLoggedOnEmployee);
}
// Gruppenbuchungen
@@ -2146,32 +2147,32 @@ namespace BeWo.Core
public static void OwnChatSynchronisationVeranlassen()
{
if (!BeWoApp.Mandator.Apikey.IsNullOrEmpty())
if (!MainSession.Mandator.Apikey.IsNullOrEmpty())
{
try
{
var tenant = BeWoApp.Tenant;
var tenant = ConnectionInformation.Tenant;
#if DEBUG
tenant = "5473568546";
#endif
BeWoApp.GetChatServerUrlAsync(serverUrl =>
MainSession.GetChatServerUrlAsync(serverUrl =>
{
var client = new RestClient($"{serverUrl}/api/ownchat/sync/schedule/{BeWoApp.Mandator.Apikey}/{tenant}");
var client = new RestClient($"{serverUrl}/api/ownchat/sync/schedule/{MainSession.Mandator.Apikey}/{tenant}");
var request = new RestRequest();
client.ExecuteAsync(request, null);
});
// var serverUrl = BeWoApp.GetChatServerURL();
// var serverUrl = MainSession.GetChatServerURL();
// if (!string.IsNullOrEmpty(serverUrl))
// {
//#if DEBUG
// var endurl = serverUrl + "/api/ownchat/sync/schedule/" + BeWoApp.Mandator.Apikey + "/5473568546";
// var endurl = serverUrl + "/api/ownchat/sync/schedule/" + MainSession.Mandator.Apikey + "/5473568546";
//#else
// var endurl = serverUrl + "/api/ownchat/sync/schedule/" + BeWoApp.Mandator.Apikey + "/" + BeWoApp.Tenant;
// var endurl = serverUrl + "/api/ownchat/sync/schedule/" + MainSession.Mandator.Apikey + "/" + ConnectionInformation.Tenant;
//#endif
// WebRequest request = WebRequest.Create(endurl);
@@ -2193,19 +2194,19 @@ namespace BeWo.Core
public static bool HasRights(IEnumerable<UserRightType> pUserRightTypes)
{
return BeWoApp.HasLoggedOnUserRight(pUserRightTypes.ToArray());
return MainSession.HasLoggedOnUserRight(pUserRightTypes.ToArray());
}
public static bool HasRight(UserRightType pUserRightType)
{
return BeWoApp.LoggedOnUser.HasRight(pUserRightType);
return MainSession.LoggedOnUser.HasRight(pUserRightType);
}
public static bool CheckSchedulerRights(Appointment pAppointment, bool pIsNew, SchedulerRightsCheckType pCheckType)
{
var storage = pAppointment.GetCustomFieldStorage();
return Utils.CheckSchedulerRights(storage.CustomerList, storage.ResourceList, storage.EmployeeList.ToList(), storage.Originator, pIsNew, pCheckType, BeWoApp.LoggedOnUser);
return Utils.CheckSchedulerRights(storage.CustomerList, storage.ResourceList, storage.EmployeeList.ToList(), storage.Originator, pIsNew, pCheckType, MainSession.LoggedOnUser);
}
}
}

View File

@@ -4,6 +4,7 @@ using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.SharedLauncher.Information;
using System;
using System.Collections.Generic;
using System.IO;
@@ -84,7 +85,7 @@ namespace BeWo.Core
{
if (!offeneDialoge.ContainsKey(e.FullPath) )
{
BeWoApp.CurrentBeWo.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
Session.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
{
var dialog = new UploadDialog(e.FullPath, x);

View File

@@ -1,4 +1,5 @@
using System;
using BS.SharedLauncher.Information;
using System;
using System.ComponentModel;
namespace BeWo.Core
@@ -56,8 +57,8 @@ namespace BeWo.Core
public Uri GenerateNewExcelLink()
{
this._ExcelFileId = Guid.NewGuid() + ".xls";
//alles nach dem ? wird beim klick auf word/excel export im jeweiligen view erstellt tenant=" + BeWoApp.Tenant + "&username=" + BeWoApp.UserName + "&token=" + BeWoApp.LoggedOnUser.RC2Password + "&
this._ExcelUri = new Uri(BeWoApp.SiteOfOrigin + "/Download.aspx?fileid=" + this._ExcelFileId);
//alles nach dem ? wird beim klick auf word/excel export im jeweiligen view erstellt tenant=" + ConnectionInformation.Tenant + "&username=" + ConnectionInformation.Username + "&token=" + MainSession.LoggedOnUser.RC2Password + "&
this._ExcelUri = new Uri(ConnectionInformation.CoreServerAddressOrigin + "/Download.aspx?fileid=" + this._ExcelFileId);
if (this.PropertyChanged != null)
{
@@ -71,7 +72,7 @@ namespace BeWo.Core
{
this._WordFileId = Guid.NewGuid() + ".doc";
//alles nach dem ? wird beim klick auf word/excel export im jeweiligen view erstellt
this._WordUri = new Uri(BeWoApp.SiteOfOrigin + "/Download.aspx?tenant=" + BeWoApp.Tenant + "&username=" + BeWoApp.UserName + "&token=" + BeWoApp.LoggedOnUser.RC2Password + "&fileid=" + this._WordFileId);
this._WordUri = new Uri(ConnectionInformation.CoreServerAddressOrigin + "/Download.aspx?tenant=" + ConnectionInformation.Tenant + "&username=" + ConnectionInformation.Username + "&token=" + MainSession.LoggedOnUser.RC2Password + "&fileid=" + this._WordFileId);
if (this.PropertyChanged != null)
{

View File

@@ -128,7 +128,7 @@ namespace BeWo.Core.Service
if (this.mActiveSupportConceptCostbearerList == null)
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GetAllActiveSupportConceptCostbearer(false, true, BeWoApp.LoggedOnEmployee.EmployeeOid.Value),
s => s.GetAllActiveSupportConceptCostbearer(false, true, MainSession.LoggedOnEmployee.EmployeeOid.Value),
r =>
{
r.Sort((x, y) => (x.LastName + ", " + x.FirstName).CompareTo(y.LastName + ", " + y.FirstName));
@@ -149,7 +149,7 @@ namespace BeWo.Core.Service
// {
// var list = ServiceFacade.DoOperationsServiceSync(
// s => s.GetAllActiveSupportConceptCostbearer(false, true, BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
// s => s.GetAllActiveSupportConceptCostbearer(false, true, MainSession.LoggedOnEmployee.EmployeeOid.Value));
// list.Sort((x, y) => { return (x.LastName + ", " + x.FirstName).CompareTo(y.LastName + ", " + y.FirstName); });
// this.mActiveSupportConceptCostbearerList = list;
@@ -166,7 +166,7 @@ namespace BeWo.Core.Service
if (this.mActiveAndApprovedSupportConceptCostbearerList == null)
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GetAllActiveSupportConceptCostbearer(true, true, BeWoApp.LoggedOnEmployee.EmployeeOid.Value),
s => s.GetAllActiveSupportConceptCostbearer(true, true, MainSession.LoggedOnEmployee.EmployeeOid.Value),
r =>
{
r.Sort((x, y) => { return (x.LastName + ", " + x.FirstName).CompareTo(y.LastName + ", " + y.FirstName); });
@@ -295,7 +295,7 @@ namespace BeWo.Core.Service
if (this.mSupportConceptTree == null)
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GetSupportConceptTreeByEmployee(BeWoApp.LoggedOnUser.Employee.EmployeeOid),
s => s.GetSupportConceptTreeByEmployee(MainSession.LoggedOnUser.Employee.EmployeeOid),
lTree =>
{
lTree.DoForEach(n => n.RecursivelySetParentOnChilds());
@@ -453,7 +453,7 @@ namespace BeWo.Core.Service
if (mAllCompactCustomers == null)
{
ServiceFacade.DoCustomerServiceAsync(
s => s.GetAllActiveAndArchivedCustomersCompact(BeWoApp.LoggedOnEmployee.EmployeeOid.Value),
s => s.GetAllActiveAndArchivedCustomersCompact(MainSession.LoggedOnEmployee.EmployeeOid.Value),
r =>
{
r.Sort((x, y) => (x.LastName + ", " + x.FirstName).CompareTo(y.LastName + ", " + y.FirstName));
@@ -472,7 +472,7 @@ namespace BeWo.Core.Service
{
if (mAllCompactCustomers == null)
{
ServiceFacade.DoCustomerServiceSync(cs => mAllCompactCustomers = cs.GetAllActiveAndArchivedCustomersCompact(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
ServiceFacade.DoCustomerServiceSync(cs => mAllCompactCustomers = cs.GetAllActiveAndArchivedCustomersCompact(MainSession.LoggedOnEmployee.EmployeeOid.Value));
mAllCompactCustomers.Sort((x, y) => (x.LastName + ", " + x.FirstName).CompareTo(y.LastName + ", " + y.FirstName));
}

View File

@@ -309,18 +309,18 @@ namespace BeWo.Core.Service
}
dc.Employee = BeWoApp.LoggedOnUser.Employee;
dc.Employee = MainSession.LoggedOnUser.Employee;
dc.Customer = customerCompact;
if (customerCompact != null)
{
dc.SupportConcept = HoleHilfeplanAusListe(scList, customerCompact, firstTime, lastTime);
}
if (BeWoApp.AppSettings.IsEndDateVisible)
if (MainSession.AppSettings.IsEndDateVisible)
{
dc.ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitEndDatum;
}
else if (BeWoApp.AppSettings.IsOnlyYearMonthVisible)
else if (MainSession.AppSettings.IsOnlyYearMonthVisible)
{
dc.ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitMonatJahr;
}

View File

@@ -4,7 +4,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Width="Auto" Background="{StaticResource LoginBackground}" SnapsToDevicePixels="False" Focusable="True">
mc:Ignorable="d" Width="Auto" Background="{DynamicResource LoginBackground}" SnapsToDevicePixels="False" Focusable="True">
<Page.Resources>
<Storyboard x:Key="OnLoaded1">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="GridLogin" Storyboard.TargetProperty="(UIElement.Opacity)">
@@ -15,7 +15,7 @@
</Page.Resources>
<Page.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="GridLogin">
<BeginStoryboard Storyboard="{StaticResource OnLoaded1}" />
<BeginStoryboard Storyboard="{DynamicResource OnLoaded1}" />
</EventTrigger>
</Page.Triggers>
<Grid>

View File

@@ -9,8 +9,8 @@ namespace BeWo
InitializeComponent();
Loaded += LockedPage_Loaded;
LblVersion.Content = BeWoApp.Version;
lblGesperrt.Content = $"Gesperrt von Benutzer {BeWoApp.LoggedOnUser.Employee.FirstName} {BeWoApp.LoggedOnUser.Employee.LastName}";
LblVersion.Content = MainSession.Version;
lblGesperrt.Content = $"Gesperrt von Benutzer {MainSession.LoggedOnUser.Employee.FirstName} {MainSession.LoggedOnUser.Employee.LastName}";
}
private void LockedPage_Loaded(object sender, RoutedEventArgs e)

817
BeWo/MainDictionary.xaml Normal file
View File

@@ -0,0 +1,817 @@
<ResourceDictionary x:Class="BeWo.MainDictionary"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:bewo="clr-namespace:BeWo"
xmlns:shared="clr-namespace:BS.Shared.DataContracts;assembly=BS.Shared"
xmlns:sharedCompact="clr-namespace:BS.Shared.DataContracts.Compact;assembly=BS.Shared"
xmlns:microsoftWindowsThemes1="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
<ResourceDictionary Source="Styles\OrangeBlack.xaml" />
<ResourceDictionary Source="Styles\AnalysisExpanderStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--<conv:AssessmentSheetCategory2VisibilityConverter x:Key="AssessmentSheetCategory2VisibilityConverter" />-->
<conv:EnumToDescriptionConverter x:Key="enumToDescriptionConverter" />
<DataTemplate x:Key="whithAttributeItemTemplate">
<TextBlock Text="{Binding Converter={StaticResource enumToDescriptionConverter}}"/>
</DataTemplate>
<conv:BoolNullCheckConverter x:Key="BoolNullCheckConverter" />
<conv:BoolScaleTransformConverter x:Key="BoolScaleTransformConverter" />
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:BoolVisibilityMultiConverter x:Key="BoolVisibilityMultiConverter" />
<conv:BoolVisibilityHiddenConverter x:Key="BoolVisibilityHiddenConverter" />
<conv:CellColorConverter x:Key="CellColorConverter"/>
<conv:ClientType2VisibilityConverter x:Key="ClientType2VisibilityConverter" />
<conv:CollectionContainsTag2BoolConverter x:Key="CollectionContainsTag2BoolConverter" />
<conv:CollectionCountToBoolConverter x:Key="CollectionCountToBoolConverter" />
<conv:CostRatePeriodValueConverter x:Key="CostRatePeriodValueConverter" />
<conv:DataContract2StringConverter x:Key="DataContract2StringConverter" />
<conv:Date2CalendarWeekStringConverter x:Key="Date2CalendarWeekStringConverter" />
<conv:DateConverter x:Key="DateConverter" />
<conv:DateNullValueToEmptyStringConverter x:Key="DateNullValueToEmptyStringConverter" />
<conv:DecimalConverter x:Key="DecimalConverter" />
<conv:DownloadURLConverter x:Key="DownloadURLConverter" />
<conv:FileAttachmentTypeConverter x:Key="FileAttachmentTypeConverter"></conv:FileAttachmentTypeConverter>
<conv:FilterDCConverter x:Key="FilterDCConverter" />
<conv:IListT2DataTableConverter x:Key="IListT2DataTableConverter" />
<conv:IndexBoolConverter x:Key="IndexBoolConverter" />
<conv:Int2DecimalConverter x:Key="Int2DecimalConverter" />
<conv:NodeType2IconPathConverter x:Key="NodeType2IconPathConverter" />
<conv:NumberSmaller0Converter x:Key="NumberSmaller0Converter" />
<conv:ObjectBoolConverter x:Key="ObjectBoolConverter" />
<conv:ObjectVisibilityConverter x:Key="ObjectVisibilityConverter" />
<conv:ObjectVisibilityMultiConverter x:Key="ObjectVisibilityMultiConverter" />
<conv:OneWayToSourceSwitch x:Key="OneWayToSourceSwitch" />
<conv:PersonBackgroundBrushConverter x:Key="PersonBackgroundBrushConverter" />
<conv:ReverseValueEqualsParamVisibilityConverter x:Key="ReverseValueEqualsParamVisibilityConverter" />
<conv:SettlementDCPrintURLConverter x:Key="SettlementDCPrintURLConverter" />
<conv:StringBrushConverter x:Key="StringBrushConverter" />
<conv:StringFormatConverter x:Key="StringFormatConverter" />
<conv:StringFormatMulitConverter x:Key="StringFormatMulitConverter" />
<conv:SupportConceptOverviewDCConverter x:Key="SupportConceptOverviewDCConverter" />
<conv:UserRightTypeConverter x:Key="UserRightTypeConverter" />
<conv:ValueEqualsParamVisibilityConverter x:Key="ValueEqualsParamVisibilityConverter" />
<conv:ReactivationRight2VisibilityConverter x:Key="ReactivationRight2VisibilityConverter" />
<conv:BoolReverseConverter x:Key="BoolReverseConverter" />
<conv:IndividualGoalMassnahmeUncheckPreventConverter x:Key="IndividualGoalMassnahmeUncheckPreventConverter" />
<conv:Rights2DefaultBooleanConverter x:Key="Rights2DefaultBooleanConverter"/>
<conv:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter" />
<conv:DeleteForGoodRight2VisibilityConverter x:Key="DeleteForGoodRight2VisibilityConverter" />
<conv:AnonymizationRight2VisibilityConverter x:Key="AnonymizationRight2VisibilityConverter" />
<Style x:Key="SupportConceptDetailStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="Margin" Value="0,2,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" MinWidth="250" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Grid.Row="0" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
<TextBlock x:Name="txtDetail2" Grid.Column="1" Grid.Row="1" Text="{Binding Path=AddressString}" FontSize="12" Foreground="#FFA0A0A0" FontFamily="Microsoft Sans Serif" />
<ListBox x:Name="listBoxDetail3" Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" ItemsSource="{Binding Path=CostBearerDetailStrings}" FontSize="12" Foreground="{Binding ForegroundBrush}" FontFamily="Microsoft Sans Serif" Background="Transparent" BorderThickness="0" IsHitTestVisible="False" Margin="6,0,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBox}, Mode=FindAncestor}}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock VerticalAlignment="Center" Grid.Column="3" Grid.Row="0" Grid.RowSpan="2" Margin="0,0,3,0" Visibility="{Binding Path=IsDeleted, Converter={StaticResource ReactivationRight2VisibilityConverter}, ConverterParameter=SupportConcept}">
<Hyperlink TargetName="_NewWindow" Foreground="#FFFFFFFF" Click="Hyperlink_Hilfeplan_Reaktivieren_Click" Tag="{Binding}">Reaktivieren</Hyperlink>
</TextBlock>
<Button x:Name="btnOpenServiceRecordView" Grid.Column="4" Grid.Row="0" Grid.RowSpan="2" Width="25" Height="25" Style="{DynamicResource TransparentButtonStyle}" ToolTip="{markup:Translate In Zeiterfassung öffnen}" Tag="{Binding}" Margin="0,0,2,0" Click="BtnOpenServiceRecordView_Click">
<Image Source="Ressources\Icons\HistoryDisabled.png" />
</Button>
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsArchived}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FF808080" />
<Setter Property="Foreground" TargetName="txtDetail2" Value="#FF808080" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FF808080" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsDeleted}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FFF97E7B" />
<Setter Property="Foreground" TargetName="txtDetail2" Value="#FFF97E7B" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FFF97E7B" />
</DataTrigger>
<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>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SupportConceptSearchStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
<Setter Property="Margin" Value="0,2,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Grid.Row="0" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
<ListBox x:Name="listBoxDetail3" Grid.Column="1" Grid.Row="1" Margin="-2,0,0,0" ItemsSource="{Binding Path=CostBearerDetailStrings}" FontSize="12" Foreground="{Binding ForegroundBrush}" FontFamily="Microsoft Sans Serif" Background="Transparent" BorderThickness="0" IsHitTestVisible="False" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBox}, Mode=FindAncestor}}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsArchived}" Value="True">
<Setter Property="Foreground" TargetName="txtDetail1" Value="#FF808080" />
<Setter Property="Foreground" TargetName="listBoxDetail3" Value="#FF808080" />
</DataTrigger>
<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>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="MainContentGroupBoxStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<ToggleButton Checked="Togglebutton_maximise_Checked"
Unchecked="Togglebutton_maximise_Unchecked"
Margin="3,6,3,0"
x:Name="togglebutton_maximise"
Grid.Column="0" Grid.Row="0" Width="25" Height="25"
VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MaximizeButtonStyle}"
Grid.ColumnSpan="1" Grid.RowSpan="2"
IsChecked="{Binding Source={x:Static bewo:MainSession.MainPage}, Path=IsMaximized}" />
<!-- ToggleButton Checked="togglebutton_maximise_Checked" Unchecked="togglebutton_maximise_Unchecked" Margin="3,6,3,0" x:Name="togglebutton_maximise" Grid.Column="0" Grid.Row="0" Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource MaximizeButtonStyle}" Grid.ColumnSpan="1" Grid.RowSpan="2"/ -->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithoutMaximizeBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close"
Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithMinimizeBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MinimizeButtonStyle}" Command="ApplicationCommands.Close"
Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="MainContentGroupBoxWithMinMaxCloseBtnStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True" x:Name="frameGrid" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="15" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="3" CornerRadius="3,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" MouseLeftButtonDown="FrameLeftMouseDown" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 20,20 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Center">
<ContentPresenter TextElement.FontSize="22" Margin="5,-3,0,0" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<StackPanel Orientation="Horizontal" Margin="3,3,3,3" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" >
<Button Margin="3,3,3,3" x:Name="button_Minimize"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MinimizeFullyButtonStyle }" Click="TogglebuttonChat_Minimize_Checked" />
<ToggleButton Margin="3,3,3,3" x:Name="button_Maximize"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource MaximizeButtonStyle}" Checked="TogglebuttonChat_maximise_Checked" Unchecked="TogglebuttonChat_maximise_Unchecked" />
<Button Margin="3,3,3,3" x:Name="button_close"
Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Right"
Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" />
</StackPanel>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="PopUpWindowStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="#FF202020" Grid.RowSpan="2" CornerRadius="3,1,0,3" />
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 10,10 H 0 Z" Grid.Column="1" />
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Bottom">
<ContentPresenter TextElement.FontSize="16" Margin="5,0,0,3" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFB6F0E" Offset="0" />
<GradientStop Color="#FF8C400A" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0" Width="20" Height="20" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" Grid.ColumnSpan="1" Grid.RowSpan="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
<HierarchicalDataTemplate DataType="{x:Type shared:SupportConceptTreeNodeDC}" ItemsSource="{Binding Path=ChildNodes}">
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Margin="0 0 3 0" Width="16" Height="16" Source="{Binding Path=NodeType, Converter={StaticResource NodeType2IconPathConverter}}" />
<TextBlock Grid.Column="1" Text="{Binding Path=DetailDescription}" FontSize="12" Foreground="Black" FontFamily="Microsoft Sans Serif" />
</Grid>
</HierarchicalDataTemplate>
<Style x:Key="ObjectComboBoxStyle" TargetType="{x:Type ComboBox}">
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisual}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="1" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<Border SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Border x:Name="BorderBackground" />
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderThickness="2,2,2,2">
<Popup x:Name="PART_Popup" AllowsTransparency="True" IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Focusable="False">
<microsoftWindowsThemes1:SystemDropShadowChrome MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{Binding Path=ActualWidth, ElementName=Border}" x:Name="Shdw" Color="#00FFFFFF">
<Border x:Name="DropDownBorder" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1,1,1,1">
<ScrollViewer>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.DirectionalNavigation="Contained" />
</ScrollViewer>
</Border>
</microsoftWindowsThemes1:SystemDropShadowChrome>
</Popup>
</Border>
<DockPanel>
<FrameworkElement Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" DockPanel.Dock="Right" />
<Border Margin="{TemplateBinding Padding}" x:Name="SelectedItemBorder">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="1,0,1,1" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" />
</Border>
</DockPanel>
<ToggleButton Style="{DynamicResource ComboBoxTransparentButtonStyle}" Margin="1,2,1,2" MinHeight="0" MinWidth="0" Width="Auto" Focusable="False" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelectionBoxHighlighted" Value="True" />
<Condition Property="IsDropDownOpen" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
</MultiTrigger>
<Trigger Property="IsSelectionBoxHighlighted" Value="True">
<Setter Property="Background" TargetName="BorderBackground" Value="#80000000" />
</Trigger>
<Trigger Property="HasItems" Value="False">
<Setter Property="MinHeight" TargetName="DropDownBorder" Value="95" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
</Trigger>
<Trigger Property="IsGrouping" Value="True">
<Setter Property="ScrollViewer.CanContentScroll" Value="False" />
</Trigger>
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="True">
<Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5" />
<Setter Property="Color" TargetName="Shdw" Value="#71000000" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemContainerStyle" Value="{DynamicResource ObjectComboBoxItemStyle}" />
</Style>
<Style x:Key="ObjectComboBoxItemStyle" TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="Padding" Value="3,0,3,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ButtonFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Stroke="Black" StrokeDashArray="1 2" StrokeThickness="1" Margin="2" SnapsToDevicePixels="true" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="WarningButton" TargetType="{x:Type Button}">
<Setter Property="FocusVisualStyle" Value="{DynamicResource ButtonFocusVisual}" />
<Setter Property="Background" Value="{DynamicResource ButtonNormalBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonNormalBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Padding" Value="1" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Image Width="16" Height="16" Source="Ressources\Icons\warning-16x16.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true" />
<Trigger Property="ToggleButton.IsChecked" Value="true" />
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataTemplate x:Key="CustomerComboBoxItemTemplate" DataType="{x:Type shared:SupportConceptTreeNodeDC}">
<Grid Margin="0,1,0,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000" Grid.RowSpan="3" Grid.ColumnSpan="2" Margin="0,0,0,0">
<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>
<StackPanel Orientation="Horizontal">
<Image Visibility="{Binding Path=SupportConceptName, Converter={StaticResource ObjectVisibilityConverter} }" Source="Ressources\Icons\UserHomeMaleDisabled.png" Height="20" VerticalAlignment="Center" HorizontalAlignment="Left" Width="Auto" />
<TextBlock FontSize="14" Foreground="#FFD2D2D2" x:Name="customerText" Tag="{Binding}" Margin="3 2" Text="{Binding Path=CustomerName}" VerticalAlignment="Center" TextWrapping="Wrap" />
</StackPanel>
<TextBlock FontSize="12" x:Name="supportConceptText" Grid.Column="0" Grid.Row="1" Margin="3 2" Text="{Binding Path=SupportConceptName}" VerticalAlignment="Center" Foreground="{Binding Path=NodeForegroundBrush}" />
<TextBlock FontSize="12" Foreground="#FFA0A0A0" x:Name="costBearerText" Grid.Column="0" Grid.Row="2" Margin="3 2" Text="{Binding Path=CostBearerName}" VerticalAlignment="Center" />
<Button Content="I" Width="15" Height="15" Grid.Column="1" Style="{DynamicResource WarningButton}" Visibility="{Binding Path=IsCustomerWarningActive, Converter={StaticResource BoolVisibilityConverter}}">
<Button.ToolTip>
<TextBlock Text="{Binding Path=CustomerWarning}" />
</Button.ToolTip>
</Button>
</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>
</DataTemplate.Triggers>
</DataTemplate>
<ItemsPanelTemplate x:Key="CustomerComboBoxItemsPanelTemplate">
<StackPanel IsItemsHost="True" Background="{DynamicResource SupportConceptListBrush}" />
</ItemsPanelTemplate>
<DataTemplate x:Key="SupportConceptComboBoxItemTemplate" DataType="{x:Type sharedCompact:CompactSupportConceptDC}">
<Grid Margin="0,1,0,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="30" Background="#FF000000" Grid.RowSpan="3" Grid.ColumnSpan="2" Margin="0,0,0,0">
<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>
<StackPanel Orientation="Horizontal">
<Image Visibility="{Binding Path=SupportConceptName, Converter={StaticResource ObjectVisibilityConverter} }" Source="Ressources\Icons\UserHomeMaleDisabled.png" Height="20" VerticalAlignment="Center" HorizontalAlignment="Left" Width="Auto" />
<TextBlock FontSize="14" Foreground="#FFD2D2D2" x:Name="customerText" Tag="{Binding}" Margin="3 2" Text="{Binding Path=CustomerName}" VerticalAlignment="Center" TextWrapping="Wrap" />
</StackPanel>
<TextBlock FontSize="12" x:Name="supportConceptText" Grid.Column="0" Grid.Row="1" Margin="3 2" Text="{Binding Path=SimpleDescription}" VerticalAlignment="Center" Foreground="{Binding Path=NodeForegroundBrush}" />
<TextBlock FontSize="12" Foreground="#FFA0A0A0" x:Name="costBearerText" Grid.Column="0" Grid.Row="2" Margin="3 2" Text="{Binding Path=AllCostBearerNames}" VerticalAlignment="Center" />
</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>
</DataTemplate.Triggers>
</DataTemplate>
<ItemsPanelTemplate x:Key="OrganisationComboBoxItemsPanelTemplate">
<StackPanel IsItemsHost="True" Background="{DynamicResource OrganisationContentBrush}" />
</ItemsPanelTemplate>
<DataTemplate x:Key="OrganisationComboBoxItemTemplate" DataType="{x:Type sharedCompact:CompactOrganisationDC}">
<Grid>
<Border x:Name="ItemBorder" CornerRadius="5" Margin="2" MinHeight="30" Background="#FF000000">
<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 x:Name="ItemContent" CornerRadius="5" MinHeight="30">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Grid.RowSpan="2" Source="{Binding Path=IconPath}" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
<TextBlock x:Name="txtDetail1" Grid.Column="1" Text="{Binding Path=DetailDescription}" FontSize="14" Foreground="#FFFFFFFF" FontFamily="Microsoft Sans Serif" />
<TextBlock x:Name="txtDetail2" Grid.Column="1" Grid.Row="1" Text="{Binding Path=AddressString}" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
</Grid>
</Border>
</Grid>
</DataTemplate>
<ControlTemplate x:Key="dx_textedit_border" TargetType="{x:Type ContentControl}">
<Border Background="White" BorderBrush="#6f7074" BorderThickness="1">
<ContentPresenter />
</Border>
</ControlTemplate>
</ResourceDictionary>

102
BeWo/MainDictionary.xaml.cs Normal file
View File

@@ -0,0 +1,102 @@
using BeWo.View.Navigation;
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.Documents;
using System.Windows.Input;
namespace BeWo
{
partial class MainDictionary
{
public MainDictionary()
{
InitializeComponent();
}
private void Hyperlink_Hilfeplan_Reaktivieren_Click(object sender, RoutedEventArgs e)
{
var scNavView = (SupportConceptNavigationView)MainSession.MainPage.ActiveView;
if (scNavView != null)
{
var supportConcept = (CompactSupportConceptDC)((Hyperlink)sender).Tag;
scNavView.MainNavigationView_OnReactivateObject(supportConcept);
}
}
private void BtnOpenServiceRecordView_Click(object sender, RoutedEventArgs e)
{
var btn = sender as Button;
if (btn == null) return;
var dc = btn.Tag as CompactSupportConceptDC;
if (dc == null) return;
if (MainSession.MainPage != null)
MainSession.MainPage.NavigateToServiceRecordView(dc.SupportConceptOid);
}
private void Togglebutton_maximise_Checked(object sender, RoutedEventArgs e)
{
if (MainSession.MainPage != null)
MainSession.MainPage.Maximize();
}
private void Togglebutton_maximise_Unchecked(object sender, RoutedEventArgs e)
{
if (MainSession.MainPage != null)
MainSession.MainPage.Minimize();
}
private void TogglebuttonChat_maximise_Unchecked(object sender, RoutedEventArgs e)
{
if (MainSession.MainPage.HomeView.ServiceChatView != null)
MainSession.MainPage.HomeView.ServiceChatView.Normal();
}
private void TogglebuttonChat_maximise_Checked(object sender, RoutedEventArgs e)
{
if (MainSession.MainPage.HomeView.ServiceChatView != null)
MainSession.MainPage.HomeView.ServiceChatView.Maximize();
}
private void TogglebuttonChat_Minimize_Checked(object sender, RoutedEventArgs e)
{
if (MainSession.MainPage.HomeView.ServiceChatView != null)
MainSession.MainPage.HomeView.ServiceChatView.Minimize();
}
private void FrameLeftMouseDown(object sender, MouseButtonEventArgs e)
{
var border = (Border)sender;
var borderParent = (Grid)border.Parent;
DependencyObject template = borderParent.TemplatedParent;
var parent = new Window();
var x = (FrameworkElement)template;
if (x != null)
{
var y = new FrameworkElement();
while (y != null)
{
y = (FrameworkElement)x.Parent;
if (y != null)
x = y;
}
if (x is Window)
{
parent = (Window)x;
parent.DragMove();
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
<UserControl x:Class="BeWo.MainControl"
<UserControl x:Class="BeWo.MainPage"
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"
@@ -13,6 +13,10 @@
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<ResourceDictionary>
<!--<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>-->
<Storyboard x:Key="OnLoadedStoryboard" Completed="OnLoadedStoryboard_Completed">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="toolbarRoot"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
@@ -24,6 +28,7 @@
<SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0" KeySpline="0,1,1,1" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</ResourceDictionary>
</UserControl.Resources>
<UserControl.RenderTransform>
<TransformGroup>
@@ -35,7 +40,7 @@
</UserControl.RenderTransform>
<UserControl.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource OnLoadedStoryboard}" x:Name="OnLoaded1_BeginStoryboard" />
<BeginStoryboard Storyboard="{DynamicResource OnLoadedStoryboard}" x:Name="OnLoaded1_BeginStoryboard" />
</EventTrigger>
</UserControl.Triggers>
<Grid x:Name="grid_main" Width="Auto" Height="Auto" Margin="0,0,0,0" HorizontalAlignment="Stretch"
@@ -54,7 +59,7 @@
<Hyperlink NavigateUri="http://www.bewoplaner.de" TargetName="newWindow" Foreground="Transparent" RequestNavigate="Hyperlink_OnRequestNavigate">
<InlineUIContainer>
<Image HorizontalAlignment="Left" Source="Ressources\Icons\bewoplaner_logo_small.png"
Style="{StaticResource toolbarImageStyle}" RenderTransformOrigin="0.5,0.5" x:Name="image">
Style="{DynamicResource toolbarImageStyle}" RenderTransformOrigin="0.5,0.5" x:Name="image">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
@@ -72,7 +77,7 @@
<Hyperlink NavigateUri="http://www.bewoplaner.de" TargetName="newWindow" Foreground="Transparent" RequestNavigate="Hyperlink_OnRequestNavigate">
<InlineUIContainer>
<Image HorizontalAlignment="Left" Source="Ressources\Icons\bewoplaner_logo_small.png"
Style="{StaticResource toolbarImageStyle}" RenderTransformOrigin="0.5,0.5" x:Name="image2">
Style="{DynamicResource toolbarImageStyle}" RenderTransformOrigin="0.5,0.5" x:Name="image2">
</Image>
</InlineUIContainer>
@@ -202,8 +207,8 @@
Width="Auto" Margin="0,0,0,0" Orientation="Horizontal">
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, ServiceRecordView_View"
ImageSource="Ressources\Icons\HistoryDisabled.png" x:Name="button_serviceRecord"
Click="button_serviceRecord_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate ZeiterfassungMenuItem}" Background="{StaticResource ServiceRecordContentBrush}"
Click="button_serviceRecord_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate ZeiterfassungMenuItem}" Background="{DynamicResource ServiceRecordContentBrush}"
RenderTransformOrigin="0.5,0.5"
Tag="" Width="90" Height="Auto">
<Button.RenderTransform>
@@ -217,8 +222,8 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="AdditionalService_View"
ImageSource="Ressources\Icons\HistoryDisabled.png" x:Name="button_additionalService"
Click="button_additionalService_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate Ergänzende DiensteMenuItem}" Background="{StaticResource AdditionalServiceContentBrush}"
Click="button_additionalService_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate Ergänzende DiensteMenuItem}" Background="{DynamicResource AdditionalServiceContentBrush}"
RenderTransformOrigin="0.5,0.5"
Tag="" Width="120" Height="Auto">
<Button.RenderTransform>
@@ -232,8 +237,8 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="VertretungenView_View"
ImageSource="Ressources\Icons\CalendarDisabled.png" x:Name="button_SchulbegleitenderDienst"
Click="Button_Vertretungen_OnClick" Style="{StaticResource NavBarButton}"
Content="{t:Translate VertretungenMenuItem}" Background="{StaticResource SchulbegleitenderDienstContentBrush}"
Click="Button_Vertretungen_OnClick" Style="{DynamicResource NavBarButton}"
Content="{t:Translate VertretungenMenuItem}" Background="{DynamicResource SchulbegleitenderDienstContentBrush}"
RenderTransformOrigin="0.5,0.5"
Width="90" >
<Button.RenderTransform>
@@ -248,8 +253,8 @@
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, AccountingTransactionView_View"
ImageSource="Ressources\Icons\CoinsDisabled.png" x:Name="button_AccountingTransacation"
Click="button_AccountingTransacation_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate FinanzenMenuItem}" Background="{StaticResource AccountingContentBrush}"
Click="button_AccountingTransacation_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate FinanzenMenuItem}" Background="{DynamicResource AccountingContentBrush}"
RenderTransformOrigin="0.5,0.5"
Width="90">
<Button.RenderTransform>
@@ -266,8 +271,8 @@
<Grid>
<localView:ImageButton r:DemandUserRight.VisibleDemands="KalenderAnsehen"
ImageSource="Ressources\Icons\CalendarDisabled.png" x:Name="button_Scheduler"
Click="button_Scheduler_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate KalenderMenuItem}" Background="{StaticResource ResourceContentBrush}"
Click="button_Scheduler_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate KalenderMenuItem}" Background="{DynamicResource ResourceContentBrush}"
RenderTransformOrigin="0.5,0.5"
Width="90">
<Button.RenderTransform>
@@ -296,8 +301,8 @@
</Grid>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, ResourceBookingView_View"
ImageSource="Ressources\Icons\CalendarDisabled.png" x:Name="button_ResourceBooking"
Click="button_ResourceBooking_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate RessourcenMenuItem}" Background="{StaticResource ResourceContentBrush}"
Click="button_ResourceBooking_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate RessourcenMenuItem}" Background="{DynamicResource ResourceContentBrush}"
RenderTransformOrigin="0.5,0.5"
Width="90">
<Button.RenderTransform>
@@ -311,9 +316,9 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, QueryView_View"
x:Name="button_Reports" Click="button_Reports_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate AuswertungenMenuItem}"
Background="{StaticResource ReportContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource ReportContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\ChartBarDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -326,9 +331,9 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, SupportConceptView_View, SupportConcept_ViewAllSupportConcepts, SupportConcept_ViewMyTeams"
x:Name="button_SupportConcept" Click="button_SupportConcept_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate HilfepläneMenuItem}"
Background="{StaticResource SupportConceptContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource SupportConceptContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\IDBadgeDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -341,9 +346,9 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, CustomerView_View, Customer_ViewMyCustomers, Customer_ViewMyTeams"
x:Name="button_Customer" Click="button_Customer_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate KlientenMenuItem}"
Background="{StaticResource CustomerContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource CustomerContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\UserHomeMaleDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -359,9 +364,9 @@
<localView:ImageButton Visibility="Collapsed"
Click="button_CustomerTeam_Click"
x:Name="button_CustomerTeam"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate KliententeamsMenuItem}"
Background="{StaticResource CustomerTeamContentBrush}" RenderTransformOrigin="0.5, 0.5"
Background="{DynamicResource CustomerTeamContentBrush}" RenderTransformOrigin="0.5, 0.5"
ImageSource="Ressources/Icons/UserGroupBusinessDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -375,9 +380,9 @@
<localView:ImageButton r:DemandUserRight.VisibleDemands="WohnheimView_View"
x:Name="button_Wohnheim" Click="button_Wohnheim_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate WohnheimeMenuItem}"
Background="{StaticResource WohnheimContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource WohnheimContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\OfficeBulidingBlackDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -391,9 +396,9 @@
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, OrganisationView_View"
x:Name="button_Organisation" Click="button_Organisation_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate OrganisationenMenuItem}"
Background="{StaticResource OrganisationContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource OrganisationContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\OfficeBulidingBlackDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -405,8 +410,8 @@
</Button.RenderTransform>
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, PersonView_View"
x:Name="button_Person" Click="button_Person_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate PersonenMenuItem}" Background="{StaticResource PersonContentBrush}"
x:Name="button_Person" Click="button_Person_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate PersonenMenuItem}" Background="{DynamicResource PersonContentBrush}"
RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\AnonymousUserDisabled.png"
Width="90">
@@ -421,9 +426,9 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, EmployeeView_View, Employee_AllowViewOwnEmployees, Employee_AllowViewOwnTeam"
x:Name="button_Employee" Click="button_Employee_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate MitarbeiterMenuItem}"
Background="{StaticResource EmployeeContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource EmployeeContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\UserBusinessMaleDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -435,8 +440,8 @@
</Button.RenderTransform>
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, TeamView_ViewAll, TeamView_ViewMyTeams"
x:Name="button_Team" Click="button_Team_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate TeamsMenuItem}" Background="{StaticResource TeamContentBrush}"
x:Name="button_Team" Click="button_Team_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate TeamsMenuItem}" Background="{DynamicResource TeamContentBrush}"
RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\UserGroupBusinessDisabled.png" Width="90">
<Button.RenderTransform>
@@ -449,8 +454,8 @@
</Button.RenderTransform>
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, UserView_View"
x:Name="button_User" Click="button_User_Click" Style="{StaticResource NavBarButton}"
Content="{t:Translate BenutzerMenuItem}" Background="{StaticResource UserContentBrush}"
x:Name="button_User" Click="button_User_Click" Style="{DynamicResource NavBarButton}"
Content="{t:Translate BenutzerMenuItem}" Background="{DynamicResource UserContentBrush}"
RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\UserBusinessMaleDisabled.png" Width="90">
<Button.RenderTransform>
@@ -464,9 +469,9 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, UserGroupView_View"
x:Name="button_UserGroup" Click="button_UserGroup_Click"
Style="{StaticResource NavBarButton}"
Style="{DynamicResource NavBarButton}"
Content="{t:Translate BenutzergruppenMenuItem}"
Background="{StaticResource UserGroupContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource UserGroupContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\UserGroupBusinessDisabled.png" Width="Auto">
<Button.RenderTransform>
<TransformGroup>
@@ -479,7 +484,7 @@
</localView:ImageButton>
<!--<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, AdministrationView_View"
x:Name="button_Template" Click="button_Template_Click"
HorizontalAlignment="Stretch" Style="{StaticResource NavBarButton}"
HorizontalAlignment="Stretch" Style="{DynamicResource NavBarButton}"
Content="{t:Translate Vorlagen}"
Background="#FF0045e0" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\MenuDisabled.png" Width="90">
@@ -495,9 +500,9 @@
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, AdministrationView_View"
x:Name="button_Administration" Click="button_Administration_Click"
HorizontalAlignment="Stretch" Style="{StaticResource NavBarButton}"
HorizontalAlignment="Stretch" Style="{DynamicResource NavBarButton}"
Content="{t:Translate VerwaltungMenuItem}"
Background="{StaticResource AdministrationContentBrush}" RenderTransformOrigin="0.5,0.5"
Background="{DynamicResource AdministrationContentBrush}" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\ConfigurationDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
@@ -510,7 +515,7 @@
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="Support_View"
x:Name="button_Support" Click="button_Support_Click"
HorizontalAlignment="Stretch" Style="{StaticResource NavBarButton}"
HorizontalAlignment="Stretch" Style="{DynamicResource NavBarButton}"
Content="{t:Translate SupportMenuItem}"
Background="#FFD4FFCF" RenderTransformOrigin="0.5,0.5"
ImageSource="Ressources\Icons\TechSupportWhiteDisabled.png" Width="90">

View File

@@ -24,10 +24,12 @@ using BeWo.View.Detail;
using BeWo.View.Master;
using BeWo.View.Navigation;
using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.SharedLauncher;
using BS.SharedLauncher.Information;
using BS.SharedLauncher.Pages;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Scheduler;
@@ -52,7 +54,7 @@ namespace BeWo
CustomerTeam
}
public partial class MainControl
public partial class MainPage : UserControl, IMainPage
{
private const string _PINInfoText = "Um Zugriff auf Ihre Daten zu bekommen, benötigen wir eine PIN.";
private readonly Stack<Control> _ModalPopupControls = new Stack<Control>();
@@ -68,46 +70,44 @@ namespace BeWo
private Dictionary<UIContext, BeWoView> _Views = new Dictionary<UIContext, BeWoView>();
private WaitLayer2 _WaitLayer;
public MainControl()
public MainPage()
{
InitializeComponent();
BeWoApp.MainControl = this;
MainSession.MainPage = this;
InitCommandBindings();
KeyDown += MainControl_KeyDown;
KeyDown += MainPage_KeyDown;
NavigateToHomeView();
//EditorLocalizer.Active = new CustomDXEditorLocalizer();
//SchedulerControlLocalizer.Active = new CustomSchedulerLocalizer();
//GridControlLocalizer.Active = new CustomGridLocalizer();
OpenedModalViewWindows = new List<ModalViewWindow>();
if (!string.IsNullOrWhiteSpace(BeWoApp.AppSettings.TimeRecordingMenuName))
if (!string.IsNullOrWhiteSpace(MainSession.AppSettings.TimeRecordingMenuName))
{
button_serviceRecord.Content = BeWoApp.AppSettings.TimeRecordingMenuName;
button_serviceRecord.Content = MainSession.AppSettings.TimeRecordingMenuName;
}
BeWoApp.InitAutoUILocking();
MainSession.InitAutoUILocking();
BeWoApp.InitBlubb();
Session.AddTimer("AufOffeneTerminePruefen", new System.Threading.Timer(
e => AufOffeneTerminePruefen(), null, TimeSpan.Zero, TimeSpan.FromMinutes(1)
));
#if !DEBUG
if (this.button_Scheduler.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsSchedulerAllowed)
if (this.button_Scheduler.Visibility == Visibility.Visible && !MainSession.AppSettings.IsSchedulerAllowed)
{
this.button_Scheduler.Visibility = Visibility.Collapsed;
}
if (this.button_Wohnheim.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsWohnheimAllowed)
if (this.button_Wohnheim.Visibility == Visibility.Visible && !MainSession.AppSettings.IsWohnheimAllowed)
{
this.button_Wohnheim.Visibility = Visibility.Collapsed;
}
if (this.button_ResourceBooking.Visibility == Visibility.Visible && !BeWoApp.AppSettings.ShowRessources)
if (this.button_ResourceBooking.Visibility == Visibility.Visible && !MainSession.AppSettings.ShowRessources)
{
this.button_ResourceBooking.Visibility = Visibility.Collapsed;
}
if (BeWoApp.Mandator == null || !BeWoApp.Mandator.AllowSbd)
if (MainSession.Mandator == null || !MainSession.Mandator.AllowSbd)
{
this.button_SchulbegleitenderDienst.Visibility = Visibility.Collapsed;
}
@@ -151,7 +151,7 @@ namespace BeWo
set
{
_HatNeueTermine = value;
NewAppointmentsOutlinedTextBlock.Visibility = value && BeWoApp.LoggedOnUser != null && BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderAnsehen) ? Visibility.Visible : Visibility.Collapsed;
NewAppointmentsOutlinedTextBlock.Visibility = value && MainSession.LoggedOnUser != null && MainSession.LoggedOnUser.HasRight(UserRightType.KalenderAnsehen) ? Visibility.Visible : Visibility.Collapsed;
if(ActiveView?.GetType() == typeof(SchedulerMasterView))
{
@@ -239,6 +239,7 @@ namespace BeWo
}
public event PropertyChangedEventHandler PropertyChanged;
public event EventHandler Logout;
public void AnimateOpacity(double pOpacitiy, double pDuration)
{
@@ -349,7 +350,7 @@ namespace BeWo
if (DoSaveCheck())
{
VMFactory.CreateServiceRecordVMAsync(
BeWoApp.LoggedOnUser.Employee.EmployeeOid,
MainSession.LoggedOnUser.Employee.EmployeeOid,
vm => this.Dispatch(
delegate
{
@@ -364,7 +365,7 @@ namespace BeWo
if (DoSaveCheck())
{
VMFactory.CreateServiceRecordVMAsync(
BeWoApp.LoggedOnUser.Employee.EmployeeOid,
MainSession.LoggedOnUser.Employee.EmployeeOid,
vm => Cache.GetInstance().GetAllActiveAndArchivedCustomerCompact(
c => this.Dispatch(
delegate
@@ -430,7 +431,7 @@ namespace BeWo
internal void ClearDetailFrame()
{
foreach (var window in BeWoApp.CurrentBeWo.MainWindow.OwnedWindows)
foreach (var window in Session.GetWindow().OwnedWindows)
{
((System.Windows.Window)window).Close();
}
@@ -449,7 +450,7 @@ namespace BeWo
{
var hdpv = lOld as HomeView;
hdpv.SaveState();
BeWoApp.SaveAppSettings();
MainSession.SaveAppSettings();
}
lOld.BlendOutComplete += (s, e) => DetailFrame.Children.Remove(lOld);
@@ -470,8 +471,8 @@ namespace BeWo
AnimateToolbarOut(0);
DetailFrame.BeginAnimation(MarginProperty, animation);
BeWoApp.AppSettings.WindowState = AppSettings.WindowStateType.Maximised;
BeWoApp.SaveAppSettings();
MainSession.AppSettings.WindowState = AppSettings.WindowStateType.Maximised;
MainSession.SaveAppSettings();
// toolbarButtonPanel.Visibility = Visibility.Hidden;
// toolbarBord.Visibility = Visibility.Hidden;
@@ -491,8 +492,8 @@ namespace BeWo
AnimateToolbarIn(0);
DetailFrame.BeginAnimation(MarginProperty, animation);
BeWoApp.AppSettings.WindowState = AppSettings.WindowStateType.Default;
BeWoApp.SaveAppSettings();
MainSession.AppSettings.WindowState = AppSettings.WindowStateType.Default;
MainSession.SaveAppSettings();
// toolbarButtonPanel.Visibility = Visibility.Visible;
// toolbarBord.Visibility = Visibility.Visible;
@@ -503,7 +504,7 @@ namespace BeWo
internal void NavigateTo(BeWoView pElement)
{
if (BeWoApp.RenderTier < 2)
if (MainSession.RenderTier < 2)
NavigateToWithoutFade(pElement);
else
NavigateToWithFade(pElement);
@@ -527,7 +528,7 @@ namespace BeWo
{
var hdpv = lOld as HomeView;
hdpv.SaveState();
BeWoApp.SaveAppSettings();
MainSession.SaveAppSettings();
}
}
DetailFrame.Children.Clear();
@@ -589,7 +590,7 @@ namespace BeWo
{
var hdpv = lOld as HomeView;
hdpv.SaveState();
BeWoApp.SaveAppSettings();
MainSession.SaveAppSettings();
}
lOld.BlendOutComplete += (s, e) =>
@@ -757,7 +758,7 @@ namespace BeWo
NavigateTo(beWoView);
}
private void MainControl_KeyDown(object sender, KeyEventArgs e)
private void MainPage_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Back)
{
@@ -777,15 +778,11 @@ namespace BeWo
}
NavigateTo(_HomeView);
// VarFieldListVM v = new VarFieldListVM(l);
// NavigateTo(new VarFieldView(v));
}
private void OnLoadedStoryboard_Completed(object sender, EventArgs e)
{
if (BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised)
if (MainSession.AppSettings.WindowState == AppSettings.WindowStateType.Maximised)
{
Maximize();
IsMaximized = true;
@@ -816,11 +813,11 @@ namespace BeWo
//if (navigationService != null)
//{
// navigationService.Navigate(new LoginPage());
BeWoApp.UserName = string.Empty;
BeWoApp.UserPassword = string.Empty;
ConnectionInformation.Username = string.Empty;
ConnectionInformation.Password = string.Empty;
// BeWoApp.Tenant = "";
BeWoApp.LoggedOnUser = null;
// ConnectionInformation.Tenant = "";
MainSession.LoggedOnUser = null;
//}
if (LogoutClicked != null)
LogoutClicked(null, new EventArgs());
@@ -924,31 +921,32 @@ namespace BeWo
}
//Hier das mit Chat Refreshen
if (BeWoApp.MainControl != null && BeWoApp.MainControl.HomeView.ServiceChatView != null)
if (MainSession.MainPage != null && MainSession.MainPage.HomeView.ServiceChatView != null)
{
if (BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl != null &&
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer != null)
if (MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl != null &&
MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer.Stop();
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer = null;
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.ShouldInterruptContactsThread = true;
MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer.Stop();
MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer = null;
MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl.ShouldInterruptContactsThread = true;
}
if (BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView != null)
if (MainSession.MainPage.HomeView.ServiceChatView.ServiceChat.EmojiView != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView = null;
MainSession.MainPage.HomeView.ServiceChatView.ServiceChat.EmojiView.Close();
MainSession.MainPage.HomeView.ServiceChatView.ServiceChat.EmojiView = null;
}
if (BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl != null)
if (MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.DeleteTempFiles();
MainSession.MainPage.HomeView.ServiceChatView.ChatMainControl.DeleteTempFiles();
}
BeWoApp.MainControl.HomeView.ServiceChatView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView = null;
MainSession.MainPage.HomeView.ServiceChatView.Close();
MainSession.MainPage.HomeView.ServiceChatView = null;
}
BeWoApp.Cleanup();
MainSession.Cleanup();
Logout(this, null);
//Ende
}
@@ -993,7 +991,7 @@ namespace BeWo
{
Dictionary<ValueListEntryDC, List<ResourceDC>> lCategoriesToResources = r1.Select(res => res.ResourceCategory).Distinct().OrderBy(cat => cat.TypeDescription).Select(cat => new {Key = cat, Value = r1.Where(res => res.ResourceCategory.Equals(cat)).OrderBy(res => res.Name).ToList()}).ToDictionary(a => a.Key, a => a.Value);
this.Dispatch(delegate { NavigateTo(new BookingView(lCategoriesToResources, r2, BeWoApp.LoggedOnUser.Employee)); });
this.Dispatch(delegate { NavigateTo(new BookingView(lCategoriesToResources, r2, MainSession.LoggedOnUser.Employee)); });
}
catch (Exception)
{
@@ -1209,13 +1207,13 @@ namespace BeWo
String linkText = "Teamviewer herunterladen";
String url = "https://get.teamviewer.com/dj5y4zy";
if (!String.IsNullOrWhiteSpace(BeWoApp.Mandator.SupportToolUrl))
if (!String.IsNullOrWhiteSpace(MainSession.Mandator.SupportToolUrl))
{
url = BeWoApp.Mandator.SupportToolUrl;
if (BeWoApp.Mandator.SupportToolUrl.Contains("<") && BeWoApp.Mandator.SupportToolUrl.Contains(">") && BeWoApp.Mandator.SupportToolUrl.IndexOf("<") > 0)
url = MainSession.Mandator.SupportToolUrl;
if (MainSession.Mandator.SupportToolUrl.Contains("<") && MainSession.Mandator.SupportToolUrl.Contains(">") && MainSession.Mandator.SupportToolUrl.IndexOf("<") > 0)
{
linkText = BeWoApp.Mandator.SupportToolUrl.Substring(0, BeWoApp.Mandator.SupportToolUrl.IndexOf("<"));
url = BeWoApp.Mandator.SupportToolUrl.Substring(BeWoApp.Mandator.SupportToolUrl.IndexOf("<"));
linkText = MainSession.Mandator.SupportToolUrl.Substring(0, MainSession.Mandator.SupportToolUrl.IndexOf("<"));
url = MainSession.Mandator.SupportToolUrl.Substring(MainSession.Mandator.SupportToolUrl.IndexOf("<"));
url = url.Replace("<", "").Replace(">", "");
}
@@ -1305,7 +1303,7 @@ namespace BeWo
bewoWindow.GroupBoxContent = grid;
bewoWindow.rootGroupBox.Header = "Support";
bewoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
bewoWindow.Owner = Session.GetWindow();
bewoWindow.Show();
}
@@ -1471,10 +1469,10 @@ namespace BeWo
//infoGrid.Children.Add(sendenButton);
//infoGrid.Children.Add(naviStackPanel);
SupportEMailControl ctrl = new SupportEMailControl();
ctrl.SenderName = String.Format("{0} {1}", BeWoApp.LoggedOnEmployee.FirstName, BeWoApp.LoggedOnEmployee.LastName);
if (BeWoApp.LoggedOnEmployee.ContactInformations != null)
ctrl.SenderName = String.Format("{0} {1}", MainSession.LoggedOnEmployee.FirstName, MainSession.LoggedOnEmployee.LastName);
if (MainSession.LoggedOnEmployee.ContactInformations != null)
{
foreach (var contact in BeWoApp.LoggedOnEmployee.ContactInformations)
foreach (var contact in MainSession.LoggedOnEmployee.ContactInformations)
{
if (contact.ContactType == ContactType.business_Mail)
{
@@ -1503,7 +1501,7 @@ namespace BeWo
bewoWindow.GroupBoxContent = ctrl;
bewoWindow.rootGroupBox.Header = "E-Mail versenden";
bewoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
bewoWindow.Owner = Session.GetWindow();
bewoWindow.Show();
}
@@ -1605,7 +1603,7 @@ namespace BeWo
bewoWindow.GroupBoxContent = infoGrid;
bewoWindow.rootGroupBox.Header = "Support";
bewoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
bewoWindow.Owner = Session.GetWindow();
bewoWindow.Show();
}
@@ -1667,7 +1665,7 @@ namespace BeWo
public void InitOffeneTermine()
{
if (!_TermineInitialized && BeWoApp.LoggedOnEmployee != null)
if (!_TermineInitialized && MainSession.LoggedOnEmployee != null)
{
AufOffeneTerminePruefen();
_TermineInitialized = true;
@@ -1676,8 +1674,8 @@ namespace BeWo
public void AufOffeneTerminePruefen()
{
if (BeWoApp.LoggedOnEmployee != null && BeWoApp.LoggedOnEmployee.EmployeeOid != null && BeWoApp.AppSettings.IsSchedulerAllowed)
ServiceFacade.DoResourceServiceAsync(rs => rs.GetAllOpenAppointmentsForEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value), r => this.Dispatch(delegate
if (MainSession.LoggedOnEmployee != null && MainSession.LoggedOnEmployee.EmployeeOid != null && MainSession.AppSettings.IsSchedulerAllowed)
ServiceFacade.DoResourceServiceAsync(rs => rs.GetAllOpenAppointmentsForEmployee(MainSession.LoggedOnEmployee.EmployeeOid.Value), r => this.Dispatch(delegate
{
HatNeueTermine = r.Count > 0;
}), false);
@@ -1695,5 +1693,15 @@ namespace BeWo
NavigateTo(GetViewForUIContext(UIContext.Vertretungen));
}
}
public void DoMoreSaveStuff()
{
throw new NotImplementedException("#54356476245725465");
}
public void UpdateServerAddresses(string url)
{
throw new NotImplementedException("#8734745253415");
}
}
}

894
BeWo/MainSession.cs Normal file
View File

@@ -0,0 +1,894 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.Core.Config;
using BeWo.ServiceProxy;
using BeWo.View;
using BeWo.View.Navigation;
using BeWo.View.Navigation.Filter;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Core;
using ChatController.HauptKlassen;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Grid;
using BS.SharedLauncher;
using BS.SharedLauncher.Information;
namespace BeWo
{
public static class MainSession
{
public static string ShortVersion = "3";
public static string Version = "Version 3.0 TEST";
public static int RenderTier = 0;
private static AppSettings _AppSettings;
private static CompactEmployeeDC _CompactLoggedOnEmployee;
private static EmployeeDC _LoggedOnEmployee;
private static UserDC _LoggedOnUser;
private static MandatorDC _Mandator;
private static List<Window> _OpenDevExpressEditForms = new List<Window>();
private static DocumentWatcher _DocumentWatcher;
private static FrameworkElement _lockedContent;
private static int _LockUITime = 30;
static MainSession()
{
MainSessionSingleton.Instance.LoggedOnUsersRights = LoggedOnUsersRights;
}
public static Dictionary<string, string> ICD10Diagnosis { get; set; }
public static EmployeeDC LoggedOnEmployee
{
get { return _LoggedOnEmployee; }
set { _LoggedOnEmployee = value; }
}
public static long? LoggedOnEmployeeOid => _LoggedOnEmployee?.EmployeeOid;
public static CompactEmployeeDC CompactLoggedOnEmployee
{
get => _CompactLoggedOnEmployee;
set => _CompactLoggedOnEmployee = value;
}
public static ObservableCollection<UserRightType> LoggedOnUsersRights
{
get
{
if (LoggedOnUser != null)
return LoggedOnUser.GetGrantedRights().ToObservableCollection();
return null;
}
}
public static DocumentWatcher DocumentWatcher
{
get
{
if (_DocumentWatcher == null)
{
_DocumentWatcher = new DocumentWatcher();
}
return _DocumentWatcher;
}
}
public static AppSettings AppSettings
{
get
{
if (_AppSettings == null)
{
RestoreAppSettings();
}
return _AppSettings;
}
}
public static UserDC LoggedOnUser
{
get => _LoggedOnUser;
set
{
_LoggedOnUser = value;
if (_LoggedOnUser != null)
{
var settings = _LoggedOnUser.Settings;
//Session.BeginInvokeNormal(() =>
ServiceFacade.DoEmployeeServiceAsync(s => s.LoadEmployee(value.Employee.EmployeeOid),
r =>
{
_LoggedOnEmployee = r;
ServiceFacade.DoEmployeeServiceAsync(s => s.LoadCompactEmployee(value.Employee.EmployeeOid), r2 => { _CompactLoggedOnEmployee = r2; });
Session.BeginInvokeNormal(() => MainPage.InitOffeneTermine());
});
}
Session.FirePropertyChanged("LoggedOnUsersRights");
}
}
public static MandatorDC Mandator
{
get => _Mandator;
set
{
_Mandator = value;
bool showDatevFields = false;
bool isServiceRecordNoticeMandatory = true;
bool isPasswordSecurityActiv = false;
bool showServiceRecordsDistanceFields = false;
bool showHilfeplanBezeichnung = false;
bool showArbeitszeiten = false;
bool showCustomerDistanceFields = false;
bool showAdditionalService = false;
bool showRoundedDurationInEmployeeAnalysis = true;
bool showTeamNews = false;
bool showMarker = false;
bool showAnnualReport = false;
int maxDaysEditServiceRecordsAllowed = 0;
int hilfeplanAuslaufAuswahl = 3;
int anzTageZeiterfassErfolgt = 0;
int zeiterfassungsSchwellwert = 80;
bool printerSettingsUseLandscape = false;
bool printerSettingsUseMargins = false;
bool printerSettingsUsePaperKind = false;
var hideServiceRecordInsertedByAndInsertedOn = false;
bool isEndDateVisible = false;
bool isOnlyYearMonthVisible = false;
bool isZeiterfassDateNormal = true;
bool isZeiterfassungInStdMin = false;
int lastSelectedStundenkontoIntervall = 3;
bool showSignatures = false;
bool showRtfTextfield = false;
bool showPivotGrid = false;
bool showUrlaubsplanung = false;
bool dontShowSpitzabrechnung = false;
bool showDienstplanung = false;
AppSettings.ShowAdvisedAttendedFlag = false;
String timeRecordingMenuName = "";
if (_Mandator != null)
{
string val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowMedication");
AppSettings.IsMedicationAllowed = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowScheduler");
AppSettings.IsSchedulerAllowed = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowWohnheime");
AppSettings.IsWohnheimAllowed = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowChat");
AppSettings.IsChatAllowed = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsServiceRecordNoticeMandatory");
if (val != null && val.Equals("0"))
{
isServiceRecordNoticeMandatory = false;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsPasswordSecurityActiv");
if (val != null && val.Equals("1"))
{
isPasswordSecurityActiv = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsEndDateVisible");
if (val != null && val.Equals("1"))
{
isEndDateVisible = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsOnlyYearMonthVisible");
if (val != null && val.Equals("1"))
{
isOnlyYearMonthVisible = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsZeiterfassungInStdMin");
if (val != null && val.Equals("1"))
{
isZeiterfassungInStdMin = true;
}
if (!isZeiterfassungInStdMin)
{
AppSettings.LetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsZeiterfassDateNormal");
if (val != null && val.Equals("0"))
{
isZeiterfassDateNormal = false;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "MaxDaysEditServiceRecordsAllowed");
int result;
if (Int32.TryParse(val, out result))
{
maxDaysEditServiceRecordsAllowed = result;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "HilfeplanAuslaufAuswahl");
int resultplan;
if (Int32.TryParse(val, out resultplan))
{
hilfeplanAuslaufAuswahl = resultplan;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "LastSelectedStundenkontoIntervall");
int resultinterval;
if (Int32.TryParse(val, out resultinterval))
{
lastSelectedStundenkontoIntervall = resultinterval;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "AnzTageZeiterfassErfolgt");
int resultzeitplan;
if (Int32.TryParse(val, out resultzeitplan))
{
anzTageZeiterfassErfolgt = resultzeitplan;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ZeiterfassungsSchwellwert");
int resultschwell;
if (Int32.TryParse(val, out resultschwell))
{
zeiterfassungsSchwellwert = resultschwell;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowDistanceFields");
if (val != null && val.Equals("1"))
{
showServiceRecordsDistanceFields = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowHilfeplanBezeichnung");
if (val != null && val.Equals("1"))
{
showHilfeplanBezeichnung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowArbeitszeiten");
if (val != null && val.Equals("1"))
{
showArbeitszeiten = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowRessources");
AppSettings.ShowRessources = val != null && val.Equals("1");
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowTeamNews");
if (val != null && val.Equals("1"))
{
showTeamNews = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowPivotGrid");
if (val != null && val.Equals("1"))
{
showPivotGrid = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowUrlaubsplanung");
if (val != null && val.Equals("1"))
{
showUrlaubsplanung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "dontShowSpitzabrechnung");
if (val != null && val.Equals("1"))
{
dontShowSpitzabrechnung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowDienstplanung");
if (val != null && val.Equals("1"))
{
showDienstplanung = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowMarker");
if (val != null && val.Equals("1"))
{
showMarker = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowAnnualReport");
if (val != null && val.Equals("1"))
{
showAnnualReport = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowCustomerDistanceFields");
if (val != null && val.Equals("1"))
{
showCustomerDistanceFields = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowAdditionalService");
if (val != null && val.Equals("1"))
{
showAdditionalService = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowRoundedDurationInEmployeeAnalysis");
if (val != null && val.Equals("0"))
{
showRoundedDurationInEmployeeAnalysis = false;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowDatevFields");
if (val != null && val.Equals("1"))
{
showDatevFields = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "PrinterSettingsUseLandscape");
if (val != null && val.Equals("1"))
{
printerSettingsUseLandscape = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "PrinterSettingsUseMargins");
if (val != null && val.Equals("1"))
{
printerSettingsUseMargins = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "PrinterSettingsUsePaperKind");
if (val != null && val.Equals("1"))
{
printerSettingsUsePaperKind = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "HideServiceRecordInsertedByAndInsertedOn");
if (val != null && val.Equals("1"))
{
hideServiceRecordInsertedByAndInsertedOn = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowSignature");
if (val != null && val.Equals("1"))
{
showSignatures = true;
}
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowRtfTextfield");
if (val != null && val.Equals("1"))
{
showRtfTextfield = true;
}
switch (_Mandator.BeWoClientType)
{
case 1:
//Die Kette
showDatevFields = true;
AppSettings.ShowAdvisedAttendedFlag = true;
break;
case 2:
//Datev
showDatevFields = true;
break;
case 3:
////Köln Ring
showDatevFields = true;
timeRecordingMenuName = "Dokumentation";
break;
case 4:
//Betreuwo
break;
case 5:
//Kontakt und Krisenhilfe
AppSettings.ShowLargeCustomerNotice = true;
break;
case 6:
// Nur Jahresbericht
break;
case 7:
//IBP
showDatevFields = true;
break;
case 8:
//LH Würzburg
break;
case 9:
//Caritas Frankfurt+Aids Hilfe Gießen + Alle mit Korridor (Kostenträger Hessen)
break;
case 10:
//Integra
showDatevFields = true;
break;
case 11:
//Hannover
showDatevFields = true;
break;
}
}
AppSettings.ShowDatevFields = showDatevFields;
AppSettings.IsServiceRecordNoticeMandatory = isServiceRecordNoticeMandatory;
AppSettings.IsPasswordSecurityActiv = isPasswordSecurityActiv;
AppSettings.IsEndDateVisible = isEndDateVisible;
AppSettings.IsOnlyYearMonthVisible = isOnlyYearMonthVisible;
AppSettings.IsZeiterfassDateNormal = isZeiterfassDateNormal;
AppSettings.IsZeiterfassungInStdMin = isZeiterfassungInStdMin;
AppSettings.MaxDaysEditServiceRecordsAllowed = maxDaysEditServiceRecordsAllowed;
AppSettings.HilfeplanAuslaufAuswahl = hilfeplanAuslaufAuswahl;
AppSettings.LastSelectedStundenkontoIntervall = lastSelectedStundenkontoIntervall;
AppSettings.AnzTageZeiterfassErfolgt = anzTageZeiterfassErfolgt;
AppSettings.ZeiterfassungsSchwellwert = zeiterfassungsSchwellwert;
AppSettings.TimeRecordingMenuName = timeRecordingMenuName;
AppSettings.ShowDistanceFields = showServiceRecordsDistanceFields;
AppSettings.ShowHilfeplanBezeichnung = showHilfeplanBezeichnung;
AppSettings.ShowArbeitszeiten = showArbeitszeiten;
AppSettings.ShowSignatures = showSignatures;
AppSettings.ShowRtfTextfield = showRtfTextfield;
AppSettings.ShowCustomerDistanceFields = showCustomerDistanceFields;
AppSettings.ShowAdditionalService = showAdditionalService;
AppSettings.ShowRoundedDurationInEmployeeAnalysis = showRoundedDurationInEmployeeAnalysis;
AppSettings.HideServiceRecordInsertedByAndInsertedOn = hideServiceRecordInsertedByAndInsertedOn;
AppSettings.ShowTeamNews = showTeamNews;
AppSettings.ShowMarker = showMarker;
AppSettings.ShowAnnualReport = showAnnualReport;
AppSettings.PrinterSettingsUseLandscape = printerSettingsUseLandscape;
AppSettings.PrinterSettingsUseMargins = printerSettingsUseMargins;
AppSettings.PrinterSettingsUsePaperKind = printerSettingsUsePaperKind;
AppSettings.ShowPivotGrid = showPivotGrid;
AppSettings.ShowUrlaubsplanung = showUrlaubsplanung;
AppSettings.DontShowSpitzabrechnung = dontShowSpitzabrechnung;
AppSettings.ShowDienstplanung = showDienstplanung;
BS.Shared.Settings.ApplicationSettings.SupportConceptExpirationLimitInMonths = AppSettings.HilfeplanAuslaufAuswahl;
}
}
public static int LockUITime
{
get
{
var lockTime = _Mandator.Settings.SplitToKeyValuePairList(";", "=").FirstOrDefault(f => f.Key.Equals("TimeUntilUILock")).Value;
if (_LoggedOnUser != null && lockTime != null)
{
return Convert.ToInt32(lockTime);
}
return _LockUITime;
}
set
{
_LockUITime = value;
if (_LoggedOnUser == null)
{
return;
}
AutoLockUI.LockUITime = value;
AutoLockUI.StopTimer();
AutoLockUI.StartAutoLockUIOption();
}
}
public static MainPage MainPage { get; set; }
public static string GetAndCreateUserAppDataPath()
{
try
{
string localAppData = Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData);
string companyFilePath
= Path.Combine(localAppData, "beyondSoft");
if (!Directory.Exists(companyFilePath))
Directory.CreateDirectory(companyFilePath);
string bewoFilePath
= Path.Combine(companyFilePath, "BeWoPlaner");
if (!Directory.Exists(bewoFilePath))
Directory.CreateDirectory(bewoFilePath);
return bewoFilePath;
}
catch (Exception ex)
{
MessageBox.Show(
"Fehler beim Anlegen des Anwendungsordners. Sie besitzen nicht die erforderlichen Rechte, bitte wenden Sie sich an Ihren Systemadministrator.\n" +
ex.Message, "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
internal static bool HasLoggedOnUserRight(UserRightType[] pRight)
{
if (LoggedOnUser != null)
{
return pRight == null || (pRight.Length == 1 && pRight[0] == UserRightType.None) || LoggedOnUser.GetGrantedRights().Exists(
right =>
{
var rightAsString = pRight.ToString();
var vals = rightAsString.Split(",");
foreach (var urt in pRight)
{
if (urt == right)
{
return true;
}
}
return false;
});
}
return false;
}
internal static void SaveAppSettings()
{
if (_AppSettings != null && _LoggedOnUser != null && _AppSettings.IsDirty)
{
_AppSettings.IsDirty = false;
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "WindowStateType", ((int)_AppSettings.WindowState).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "LastSelectedServiceRecordTimeInterval", ((int)_AppSettings.LastSelectedServiceRecordTimeInterval).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterInZeiterfassung", ((int)_AppSettings.CustomerFilterInZeiterfassung).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterSupportConcepts", ((int)_AppSettings.CustomerFilterSupportConcepts).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterCustomers", ((int)_AppSettings.CustomerFilterCustomers).ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "ShowExpiredSupportConcepts", _AppSettings.ShowExpiredSupportConcepts ? "1" : "0", _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "ShowServiceRecordGridControl", _AppSettings.ShowServiceRecordGridControl ? "1" : "0", _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "StartupPanelMaximized", _AppSettings.StartupPanelMaximized, _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "HideServiceRecordInsertedByAndInsertedOn", _AppSettings.HideServiceRecordInsertedByAndInsertedOn ? "1" : "0", _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "DocumentationFontSize", _AppSettings.DocumentationFontSize.ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "ZeigeNurMeineTermine", _AppSettings.ZeigeNurMeineTermine ? "1" : "0", _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "LastSelectedServiceRecordTimeIntervalDays", _AppSettings.LastSelectedServiceRecordTimeIntervalDays.ToString(), _LoggedOnUser.Settings);
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "LetzteZeiterfassungsDauer", ((int)_AppSettings.LetzteZeiterfassungsDauer).ToString(), _LoggedOnUser.Settings);
string val = string.Empty;
if (_AppSettings.StartupPanelOrder != null)
{
foreach (string item in _AppSettings.StartupPanelOrder)
{
if (val.Length > 0)
{
val += "|";
}
val += item;
}
}
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, "StartupPanelOrder", val, _LoggedOnUser.Settings);
ServiceFacade.DoUserServiceAsync(s => s.UpdateUserSettings(_LoggedOnUser.UserOid.Value, _LoggedOnUser.Settings), ReloadSettings, false);
}
}
public static void FirePropertyChanged(string pPropertyName)
{
Session.FirePropertyChanged(pPropertyName);
}
public static void InitAutoUILocking()
{
EventManager.RegisterClassHandler(typeof(Window), UIElement.PreviewMouseDownEvent, new MouseButtonEventHandler(OnPreviewMouseDown));
EventManager.RegisterClassHandler(typeof(Window), UIElement.PreviewKeyDownEvent, new KeyEventHandler(OnPreviewKeyDown));
var settingsKeyValuePairList = _Mandator.Settings.SplitToKeyValuePairList(";", "=").ToList();
var x = settingsKeyValuePairList.FirstOrDefault(f => f.Key.Equals("TimeUntilUILock")).Value ?? "NULL";
var y = _LockUITime;
AutoLockUI.LockUITime = Convert.ToInt32(settingsKeyValuePairList.FirstOrDefault(f => f.Key.Equals("TimeUntilUILock")).Value ?? LockUITime.ToString());
AutoLockUI.DoAutoLockUIEvent += AutoLockUIDoAutoLockUIEvent;
AutoLockUI.StartAutoLockUIOption();
}
private static void ReloadSettings(List<SettingsDC> settings)
{
if (_LoggedOnUser != null)
_LoggedOnUser.Settings = settings;
}
private static void RestoreAppSettings()
{
if (_LoggedOnUser != null)
{
_AppSettings = new AppSettings();
var settings = _LoggedOnUser.Settings;
var val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "WindowStateType", settings);
if (int.TryParse(val, out var result))
{
_AppSettings.WindowState = (AppSettings.WindowStateType)result;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "LastSelectedServiceRecordTimeInterval", settings);
if (int.TryParse(val, out result))
{
_AppSettings.LastSelectedServiceRecordTimeInterval = (ServiceRecordTimeInterval)result;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterInZeiterfassung", settings);
if (int.TryParse(val, out result))
{
_AppSettings.CustomerFilterInZeiterfassung = (CustomerFilterEnum)result;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterSupportConcepts", settings);
if (int.TryParse(val, out result))
{
_AppSettings.CustomerFilterSupportConcepts = (CustomerFilterEnum)result;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "CustomerFilterCustomers", settings);
if (int.TryParse(val, out result))
{
_AppSettings.CustomerFilterCustomers = (CustomerFilterEnum)result;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "ShowServiceRecordGridControl", settings);
_AppSettings.ShowServiceRecordGridControl = val == "1";
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "ShowExpiredSupportConcepts", settings);
_AppSettings.ShowExpiredSupportConcepts = val != "0";
_AppSettings.StartupPanelMaximized = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "StartupPanelMaximized", settings);
_AppSettings.DocumentationFontSize = Convert.ToDouble(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "DocumentationFontSize", settings));
//val = GetSettingValue(SettingsType.ApplicationSettings, "ZeigeNurMeineTermine");
//_AppSettings.ZeigeNurMeineTermine = val != "0";
_AppSettings.ZeigeNurMeineTermine = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "ZeigeNurMeineTermine", settings) == "1";
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "LastSelectedServiceRecordTimeIntervalDays", settings);
if (val != null)
{
_AppSettings.LastSelectedServiceRecordTimeIntervalDays = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "LastSelectedServiceRecordTimeIntervalDays", settings));
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "LetzteZeiterfassungsDauer", settings);
if (val != null)
{
var x = Convert.ToInt32(UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "LetzteZeiterfassungsDauer", settings));
_AppSettings.LetzteZeiterfassungsDauer = x == 0 ? ZeiterfassungsDauer.Minuten : ZeiterfassungsDauer.Stunden;
}
val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, "StartupPanelOrder", settings);
if (val != null)
{
_AppSettings.StartupPanelOrder = new List<string>();
var panels = val.Split('|');
foreach (var item in panels)
{
_AppSettings.StartupPanelOrder.Add(item);
}
}
_AppSettings.IsDirty = false;
}
}
private static void BtnOpenServiceRecordView_Click(object sender, RoutedEventArgs e)
{
var btn = sender as Button;
if (btn == null) return;
var dc = btn.Tag as CompactSupportConceptDC;
if (dc == null) return;
if (MainPage != null)
MainPage.NavigateToServiceRecordView(dc.SupportConceptOid);
}
private static void Togglebutton_maximise_Checked(object sender, RoutedEventArgs e)
{
if (MainPage != null)
MainPage.Maximize();
}
private static void Togglebutton_maximise_Unchecked(object sender, RoutedEventArgs e)
{
if (MainPage != null)
MainPage.Minimize();
}
private static void TogglebuttonChat_maximise_Unchecked(object sender, RoutedEventArgs e)
{
if (MainPage.HomeView.ServiceChatView != null)
MainPage.HomeView.ServiceChatView.Normal();
}
private static void TogglebuttonChat_maximise_Checked(object sender, RoutedEventArgs e)
{
if (MainPage.HomeView.ServiceChatView != null)
MainPage.HomeView.ServiceChatView.Maximize();
}
private static void TogglebuttonChat_Minimize_Checked(object sender, RoutedEventArgs e)
{
if (MainPage.HomeView.ServiceChatView != null)
MainPage.HomeView.ServiceChatView.Minimize();
}
private static void FrameLeftMouseDown(object sender, MouseButtonEventArgs e)
{
var border = (Border)sender;
var borderParent = (Grid)border.Parent;
DependencyObject template = borderParent.TemplatedParent;
var parent = new Window();
var x = (FrameworkElement)template;
if (x != null)
{
var y = new FrameworkElement();
while (y != null)
{
y = (FrameworkElement)x.Parent;
if (y != null)
x = y;
}
if (x is Window)
{
parent = (Window)x;
parent.DragMove();
}
}
}
private static void AutoLockUIDoAutoLockUIEvent()
{
if (ConnectionInformation.Username.Equals("BSAdmin"))
{
AutoLockUI.StartAutoLockUIOption();
return;
}
if (MainPage.Content is LockedPage)
{
AutoLockUI.StartAutoLockUIOption();
return;
}
_lockedContent = MainPage.Content as FrameworkElement;
var openWindowCollection = Application.Current.Windows;
foreach (var blubb in openWindowCollection)
{
var abc = (Window)blubb;
if (!abc.Title.Equals("BeWoPlaner") && blubb.GetType() == typeof(WindowContentHolder))
{
abc.Close();
}
}
MainPage.HideCurrentModalViewWindows();
var lockedPage = new LockedPage();
lockedPage.ButtonLogin.Click += UnlockBeWoPlaner;
Application.Current.MainWindow.Content = lockedPage;
Application.Current.Dispatcher.Invoke(new Action(() => Application.Current.MainWindow?.Activate()));
AutoLockUI.StartAutoLockUIOption();
}
private static void UnlockBeWoPlaner(object sender, RoutedEventArgs e)
{
var lbtn = (Button)sender;
var lbtnParent = (Grid)lbtn.Parent;
var mainWindowUIElements = new UIElement[lbtnParent.Children.Count];
lbtnParent.Children.CopyTo(mainWindowUIElements, 0);
var elementList = mainWindowUIElements.ToList();
var username = ((TextBox)elementList.Where(el => el is TextBox && ((TextBox)el).Name.Equals("TextBoxUsername")).ToList()[0]).Text;
var password = ((PasswordBox)elementList.Where(el => el is PasswordBox && ((PasswordBox)el).Name.Equals("PasswordBoxPassword")).ToList()[0]).Password;
if (string.IsNullOrEmpty(username) || !username.Equals(_LoggedOnUser.LoginName, StringComparison.OrdinalIgnoreCase))
{
MessageBox.Show("Das Programm kann nur vom Benutzer '" + _LoggedOnUser.LoginName + "' entsperrt werden.", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
username = $"{username}//Version=Sperrung aufgehoben";
ServiceFacade.DoUserServiceAsync(u => u.IsUserValid(username, password, ""), r =>
{
if (!r.Equals(ServiceProxy.UserValidationResult.UserValid))
{
MessageBox.Show("Anmeldeinformationen nicht bekannt. Bitte überprüfen Sie den Benutzernamen und das Passwort!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
AutoLockUI.HasJustBeenUnlocked = true;
Application.Current.Dispatcher.Invoke(delegate
{
Application.Current.MainWindow.Content = _lockedContent;
MainPage.ShowCurrentModalViewWindowsAgain();
});
}, true);
}
private static void OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
AutoLockUI.ResetLockUITimer();
}
private static void OnPreviewKeyDown(object sender, KeyEventArgs e)
{
AutoLockUI.ResetLockUITimer();
}
private static void Hyperlink_Hilfeplan_Reaktivieren_Click(object sender, RoutedEventArgs e)
{
var scNavView = (SupportConceptNavigationView)MainPage.ActiveView;
if (scNavView != null)
{
var supportConcept = (CompactSupportConceptDC)((Hyperlink)sender).Tag;
scNavView.MainNavigationView_OnReactivateObject(supportConcept);
}
}
public static void GetChatServerUrlAsync(Action<string> callback)
{
if (string.IsNullOrWhiteSpace(ConnectionInformation.ServerName))
{
var tenant = ConnectionInformation.Tenant;
#if DEBUG
tenant = "5473568546";
#endif
var login = new Login(tenant, serverUrl =>
{
if (!string.IsNullOrWhiteSpace(serverUrl))
{
callback(serverUrl);
}
});
}
else
{
callback?.Invoke(ConnectionInformation.ChatServerAddress);
}
}
public static void Cleanup()
{
_lockedContent = null;
_AppSettings = null;
_CompactLoggedOnEmployee = null;
_LoggedOnEmployee = null;
_LoggedOnUser = null;
_Mandator = null;
}
}
}

View File

@@ -0,0 +1,37 @@
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo
{
public class MainSessionSingleton
{
private static MainSessionSingleton instance = null;
private static readonly object padlock = new object();
public ObservableCollection<UserRightType> LoggedOnUsersRights { get; set; }
MainSessionSingleton()
{
}
public static MainSessionSingleton Instance
{
get
{
lock (padlock)
{
if (instance == null)
{
instance = new MainSessionSingleton();
}
return instance;
}
}
}
}
}

View File

@@ -1,9 +0,0 @@
<Window x:Class="BeWo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BeWoPlaner" Height="768" Width="1024" WindowStartupLocation="CenterScreen" WindowState="Maximized"
BorderThickness="1" Closing="MainWindow_OnClosing">
<Grid x:Name="rootGrid">
</Grid>
</Window>

View File

@@ -1,109 +0,0 @@
using System;
using System.ComponentModel;
using System.Threading;
using System.Windows;
using BeWo.Core.Config;
using BeWo.MultiLanguage;
using BS.Shared.Translation;
using DevExpress.Xpf.Core;
namespace BeWo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ApplicationThemeHelper.ApplicationThemeName = "Office2010Black";
ShowLoginControl();
}
private void ShowLoginControl()
{
//WebRequest.DefaultWebProxy
//System.Net.WebRequest.GetSystemWebProxy()
var lc = new LoginControl();
rootGrid.Children.Add(lc);
lc.LoginSuccessful += lc_LoginSuccessful;
}
void lc_LoginSuccessful(object sender, EventArgs e)
{
Translator t = new Translator(new ServiceTranslator());
#if DEBUG
//if (BeWoApp.Tenant == "demo")
//{
// var dlg = new ConfirmDemoDialog();
// dlg.ShowDialog();
//}
#else
if (BeWoApp.Tenant == "demo")
{
var dlg = new ConfirmDemoDialog();
dlg.ShowDialog();
}
#endif
rootGrid.Children.Clear();
MainControl mc = new MainControl();
mc.IsMaximized = BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised;
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
rootGrid.Children.Add(mc);
}
void mc_LogoutClicked(object sender, EventArgs e)
{
rootGrid.Children.Clear();
BeWoApp.MainControl = null;
ShowLoginControl();
}
private void MainWindow_OnClosing(object sender, CancelEventArgs e)
{
if (BeWoApp.MainControl != null)
{
//BeWoApp.SaveAppSettings();
if (!BeWoApp.MainControl.DoSaveCheck())
{
e.Cancel = true;
return;
}
}
if(BeWoApp.MainControl != null && BeWoApp.MainControl.HomeView.ServiceChatView != null) {
if (BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl != null &&
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer.Stop();
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer = null;
//BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.disableKontaktNachrichtenThread = true;
}
if (BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView != null) {
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView = null;
}
BeWoApp.MainControl.HomeView.ServiceChatView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView = null;
}
BeWoApp.CurrentBeWo.DocumentWatcher.LoescheTempDateien();
Application.Current.Shutdown();
}
}
}

View File

@@ -1,4 +1,5 @@
using System.ServiceModel;
using BS.SharedLauncher.Information;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Dispatcher;
@@ -12,7 +13,7 @@ namespace BeWo.Multitenancy
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
request.Headers.Add(new MultitenancyHeader { Tenant = BeWoApp.Tenant });
request.Headers.Add(new MultitenancyHeader { Tenant = ConnectionInformation.Tenant});
return null;
}
}

View File

@@ -7,7 +7,7 @@
AllowsTransparency="True"
Background="Transparent" ResizeMode="NoResize" >
<Grid>
<GroupBox Style="{StaticResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Header="Download" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<GroupBox Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Header="Download" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />

View File

@@ -21,7 +21,7 @@ namespace BeWo
{
InitializeComponent();
InitCommandBindings();
Owner = GetWindow(BeWoApp.MainControl.ActiveView);
Owner = GetWindow(MainSession.MainPage.ActiveView);
Question = fileName;
DataContext = this;
}

View File

@@ -44,7 +44,7 @@ namespace BeWo
var filePath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\proxy.dat";
if (!File.Exists(filePath))
{
filePath = System.IO.Path.Combine(BeWoApp.GetAndCreateUserAppDataPath(), "proxy.dat");
filePath = System.IO.Path.Combine(MainSession.GetAndCreateUserAppDataPath(), "proxy.dat");
}
var file = new System.IO.StreamReader(filePath);
@@ -83,7 +83,7 @@ namespace BeWo
var filePath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\proxy.dat";
if (!File.Exists(filePath))
{
filePath = System.IO.Path.Combine(BeWoApp.GetAndCreateUserAppDataPath(), "proxy.dat");
filePath = System.IO.Path.Combine(MainSession.GetAndCreateUserAppDataPath(), "proxy.dat");
}
using (System.IO.StreamWriter file =

View File

@@ -7,7 +7,7 @@
ResizeMode="NoResize">
<Grid>
<GroupBox Header="Passwort anfordern" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />

View File

@@ -3,8 +3,8 @@ using System.Windows;
using System.Windows.Input;
using BeWo.ServiceProxy;
using BS.Shared.Extensions;
using BS.SharedLauncher.Information;
namespace BeWo
{
@@ -35,7 +35,7 @@ namespace BeWo
return;
}
ServiceFacade.DoUserServiceAsync(s => s.GetEmailForUserName(out email, benutzername, BeWoApp.SiteOfOrigin), CallBack, true);
ServiceFacade.DoUserServiceAsync(s => s.GetEmailForUserName(out email, benutzername, ConnectionInformation.CoreServerAddressOrigin), CallBack, true);
}
private void CallBack(bool hatEmail)

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
namespace BeWo.Scheduler
{
public interface IBeWoAppointment
public interface IMainSessionointment
{
object Id { get; set; }

View File

@@ -23,7 +23,7 @@ namespace BeWo.Scheduler
Dictionary<ValueListEntryDC, List<ResourceDC>> Categories2Resources { get; }
BindingList<IBeWoAppointment> Appointments { get; }
BindingList<IMainSessionointment> Appointments { get; }
Dictionary<Guid, Dictionary<string, Dictionary<string, object>>> ChangedOccurenceCustomFields { get; }

View File

@@ -10,8 +10,8 @@
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<Grid Width="Auto" Height="Auto" x:Name="root">
<GroupBox x:Name="rootGroupBox" Style="{StaticResource PopUpWindowStyle}" Header="Mitarbeiterverfügbarkeit">
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<GroupBox x:Name="rootGroupBox" Style="{DynamicResource PopUpWindowStyle}" Header="Mitarbeiterverfügbarkeit">
<Grid Margin="0,3,0,0" Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />

View File

@@ -1,6 +1,7 @@
<localView:BeWoView x:Class="BeWo.Scheduler.View.NewSchedulerView"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localSchConv="clr-namespace:BeWo.Scheduler.Converter"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
@@ -15,6 +16,7 @@
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<ResourceDictionary>
<conv:StringBrushConverter x:Key="StringBrushConverter" />
<dxschint:ToolTipVisibilityToVisibilityConverter x:Key="ToolTipVisibilityConverter" />
<dx:BooleanToVisibilityConverter x:Key="boolToVisibilityConverter" />
<localSchConv:CheckBoxConverter x:Key="CheckBoxConverter" />
@@ -463,10 +465,10 @@
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource EmployeeContentBrush}" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource EmployeeContentBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -484,10 +486,10 @@
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource CustomerContentBrush}" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource CustomerContentBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -505,10 +507,10 @@
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource ResourceContentBrush}" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
<Setter TargetName="Border" Property="Background" Value="{DynamicResource ResourceContentBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -627,7 +629,7 @@
<CheckBox x:Name="ZeigeNurMeineTermineCheckBox" Grid.Row="0" Content="Nur meine Termine anzeigen" Margin="3, 3, 3, 3" IsChecked="{Binding Path=ZeigeNurMeineTermine, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Checked="NurMeineTermineEinAusCheckBox_OnChecked" Unchecked="NurMeineTermineEinAusCheckBox_OnChecked" />
<UniformGrid Grid.Column="0" x:Name="AuswahlGrid" Rows="2" Columns="1" Width="270" Grid.Row="1">
<TabControl SelectionChanged="Selector_OnSelectionChanged" x:Name="TabControl">
<TabItem Header="{markup:Translate Mitarbeiter}" Style="{StaticResource MitarbeiterTabItemStyle}" x:Name="MitarbeiterTabItem">
<TabItem Header="{markup:Translate Mitarbeiter}" Style="{DynamicResource MitarbeiterTabItemStyle}" x:Name="MitarbeiterTabItem">
<Grid x:Name="MitarbeiterTabGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
@@ -639,7 +641,7 @@
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<CheckBox Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="AlleMitarbeiterCB" Click="AlleMitarbeiterCB_OnClick" />
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="1" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="MeinTB" Checked="MeinTB_OnChecked" Unchecked="MeinTB_OnChecked" />
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="1" Height="17" Width="36" Style="{DynamicResource LupenToggleButtonStyle}" x:Name="MeinTB" Checked="MeinTB_OnChecked" Unchecked="MeinTB_OnChecked" />
<Grid x:Name="MitarbeiterSuchGrid" Margin="0,1,0,3" Grid.Column="0" Grid.ColumnSpan="2" Background="Black" Grid.Row="1" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -729,7 +731,7 @@
</ListView>
</Grid>
</TabItem>
<TabItem x:Name="KlientenTabItem" Header="{markup:Translate Klienten}" Style="{StaticResource KlientenTabItemStyle}">
<TabItem x:Name="KlientenTabItem" Header="{markup:Translate Klienten}" Style="{DynamicResource KlientenTabItemStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -747,7 +749,7 @@
</Grid.RowDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="AlleKlientenCB" Click="AlleKlientennCB_OnClick" HorizontalAlignment="Left" HorizontalContentAlignment="Center" />
<CheckBox Grid.Row="0" Grid.Column="1" Content="{markup:Translate Nur meine Klienten}" Margin="3" x:Name="NurMeineKlientenCB" HorizontalAlignment="Right" Click="NurEigeneKlientenAnzeigen" IsThreeState="False" HorizontalContentAlignment="Center" />
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="2" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="MeinTB2" Checked="MeinTB2_OnChecked" Unchecked="MeinTB2_OnChecked" />
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="2" Height="17" Width="36" Style="{DynamicResource LupenToggleButtonStyle}" x:Name="MeinTB2" Checked="MeinTB2_OnChecked" Unchecked="MeinTB2_OnChecked" />
<Grid x:Name="KlientenSuchGrid" Margin="0,1,0,3" Grid.Column="0" Grid.ColumnSpan="3" Background="Black" Grid.Row="1" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -833,14 +835,14 @@
</ListView>
</Grid>
</TabItem>
<TabItem x:Name="RessourcenTabItem" Header="Ressourcen" Style="{StaticResource RessourcenTabItemStyle}">
<TabItem x:Name="RessourcenTabItem" Header="Ressourcen" Style="{DynamicResource RessourcenTabItemStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<CheckBox Grid.Row="0" Content="Alle auswählen" Margin="3" x:Name="AlleRessourcenCB" Click="AlleRessourcenCB_OnClick" />
<TreeView Grid.Row="1" BorderThickness="0" ItemsSource="{Binding Path=Category2ResourcesDictionary, Mode=OneWay}" Background="Transparent" ItemContainerStyle="{StaticResource SupportConceptTreeViewStyle}">
<TreeView Grid.Row="1" BorderThickness="0" ItemsSource="{Binding Path=Category2ResourcesDictionary, Mode=OneWay}" Background="Transparent" ItemContainerStyle="{DynamicResource SupportConceptTreeViewStyle}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
<Border BorderBrush="{x:Null}" Height="23">
@@ -875,7 +877,7 @@
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="Ausgewählte Elemente" Style="{StaticResource ObjectEditGroupBox}" Grid.Row="0" Margin="0,3,0,0">
<GroupBox Header="Ausgewählte Elemente" Style="{DynamicResource ObjectEditGroupBox}" Grid.Row="0" Margin="0,3,0,0">
<ListBox Background="Transparent" ItemsSource="{Binding Path=SelectedItems}" IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch"
ItemContainerStyle="{DynamicResource MultiElementSelectionControlStyle}">
@@ -911,7 +913,7 @@
</CheckBox.LayoutTransform>
</CheckBox>
</StackPanel>
<ToggleButton Grid.Column="1" Style="{StaticResource VerticalExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="LeftExpanderClick" x:Name="LeftExpanderButton" />
<ToggleButton Grid.Column="1" Style="{DynamicResource VerticalExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="LeftExpanderClick" x:Name="LeftExpanderButton" />
<!-- SchedulerControl -->
<dxsch:SchedulerControl Grid.Column="2" x:Name="Scheduler" dx:ThemeManager.ThemeName="Office2010Black"
@@ -1032,7 +1034,7 @@
<dxsch:DXSchedulerControlPrintAdapter Grid.Column="0" x:Name="PrintAdapter" SchedulerControl="{Binding ElementName=Scheduler}" />
<ToggleButton Grid.Column="3" Style="{StaticResource VerticalRightExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="RightExpanderClick" x:Name="RightExpanderButton" />
<ToggleButton Grid.Column="3" Style="{DynamicResource VerticalRightExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="RightExpanderClick" x:Name="RightExpanderButton" />
<dxe:DateNavigator Grid.Column="4" Name="DateNavigator" HighlightSpecialDates="True" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black" SelectedDatesChanged="DateNavigator_OnSelectedDatesChanged">
<dxe:DateNavigator.StyleSettings>
<dxsch:SchedulerDateNavigatorStyleSettings SchedulerControl="{Binding ElementName=Scheduler}" />
@@ -1042,7 +1044,7 @@
<Border Grid.Row="0" Grid.RowSpan="2" x:Name="PopupContent" />
<Popup Grid.Row="0" StaysOpen="True" Placement="MousePoint" Width="290" Height="80" Closed="popup_Closed" Opened="popup_Opened" x:Name="DeleteAppointmentsPopup">
<Grid Background="{StaticResource ControlBackground}" Margin="2,2,2,2">
<Grid Background="{DynamicResource ControlBackground}" Margin="2,2,2,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />

View File

@@ -30,7 +30,7 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using BS.SharedLauncher;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Scheduler;
@@ -106,13 +106,13 @@ namespace BeWo.Scheduler.View
public bool ZeigeNurMeineTermine
{
get => BeWoApp.AppSettings.ZeigeNurMeineTermine;
get => MainSession.AppSettings.ZeigeNurMeineTermine;
set
{
if(BeWoApp.AppSettings.ZeigeNurMeineTermine != value)
if(MainSession.AppSettings.ZeigeNurMeineTermine != value)
{
BeWoApp.AppSettings.ZeigeNurMeineTermine = value;
BeWoApp.SaveAppSettings();
MainSession.AppSettings.ZeigeNurMeineTermine = value;
MainSession.SaveAppSettings();
OnPropertyChanged(nameof(ZeigeNurMeineTermine));
}
}
@@ -277,7 +277,7 @@ namespace BeWo.Scheduler.View
AlleMitarbeiterCB.IsChecked = ListEquals(value, AllEmployees);
ZeigeNurMeineTermine = value.Count == 1 && value.Contains(BeWoApp.CompactLoggedOnEmployee);
ZeigeNurMeineTermine = value.Count == 1 && value.Contains(MainSession.CompactLoggedOnEmployee);
OnPropertyChanged(nameof(SelectedEmployees));
OnPropertyChanged(nameof(SelectedItems));
@@ -434,13 +434,13 @@ namespace BeWo.Scheduler.View
{
this.Dispatch(() =>
{
if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen))
if(!MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen))
{
allEmployees = new List<CompactEmployeeDC> { BeWoApp.CompactLoggedOnEmployee };
allEmployees = new List<CompactEmployeeDC> { MainSession.CompactLoggedOnEmployee };
}
var darfKlientenAnsichtSehen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) && BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View);
var darfTermineAllerKlientenSehen = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen);
var darfKlientenAnsichtSehen = MainSession.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) && MainSession.LoggedOnUser.HasRight(UserRightType.CustomerView_View);
var darfTermineAllerKlientenSehen = MainSession.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen);
if(darfKlientenAnsichtSehen)
{
@@ -454,7 +454,7 @@ namespace BeWo.Scheduler.View
allCustomers.Clear();
}
if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen))
if(!MainSession.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen))
{
resourceDictionary.Clear();
}
@@ -529,7 +529,7 @@ namespace BeWo.Scheduler.View
if(_IstErsterAufruf)
{
if(MainControl.HatNeueTermine && !_IsComingFromHomeDragPanel)
if(MainPage.HatNeueTermine && !_IsComingFromHomeDragPanel)
{
FensterOeffnen();
}
@@ -577,16 +577,16 @@ namespace BeWo.Scheduler.View
private void InitRights()
{
MitarbeiterTabItem.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) ? Visibility.Visible : Visibility.Collapsed;
RessourcenTabItem.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen) ? Visibility.Visible : Visibility.Collapsed;
KlientenTabItem.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View) || BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) ? Visibility.Visible : Visibility.Collapsed;
MitarbeiterTabItem.Visibility = MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) ? Visibility.Visible : Visibility.Collapsed;
RessourcenTabItem.Visibility = MainSession.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen) ? Visibility.Visible : Visibility.Collapsed;
KlientenTabItem.Visibility = MainSession.LoggedOnUser.HasRight(UserRightType.CustomerView_View) || MainSession.LoggedOnUser.HasRight(UserRightType.ViewAll) ? Visibility.Visible : Visibility.Collapsed;
MitarbeiterEbenenCheckBox.Visibility = MitarbeiterTabItem.Visibility;
RessourcenEbenenCheckBox.Visibility = RessourcenTabItem.Visibility;
KlientenEbenenCheckBox.Visibility = KlientenTabItem.Visibility;
MitarbeiterfarbenEinAusCheckBox.Visibility = MitarbeiterTabItem.Visibility;
ButtonDeleteAppointments.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.Termine_IntervalDelete) ? Visibility.Visible : Visibility.Collapsed;
ButtonDeleteAppointments.Visibility = MainSession.LoggedOnUser.HasRight(UserRightType.Termine_IntervalDelete) ? Visibility.Visible : Visibility.Collapsed;
}
private void UpdateDataSource(ISchedulerViewModel vm)
@@ -608,14 +608,14 @@ namespace BeWo.Scheduler.View
foreach(var item in Scheduler.Storage.AppointmentStorage.Items)
{
var bapp = item.GetSourceObject(Scheduler.GetCoreStorage()) as IBeWoAppointment;
var bapp = item.GetSourceObject(Scheduler.GetCoreStorage()) as IMainSessionointment;
if(item.IsRecurring)
{
var ausnahmen = item.GetExceptions();
foreach(var exc in ausnahmen)
{
var b = exc.GetSourceObject(Scheduler.GetCoreStorage()) as IBeWoAppointment;
var b = exc.GetSourceObject(Scheduler.GetCoreStorage()) as IMainSessionointment;
if(b?.CustomFields == null)
{
continue;
@@ -823,12 +823,12 @@ namespace BeWo.Scheduler.View
SelectedEmployees.Remove(employee);
OnPropertyChanged(nameof(SelectedEmployees));
if (employee != null && employee.Equals(BeWoApp.CompactLoggedOnEmployee))
if (employee != null && employee.Equals(MainSession.CompactLoggedOnEmployee))
{
ZeigeNurMeineTermine = false;
ReloadVM(true);
}
else if (SelectedEmployees.Count == 1 && SelectedEmployees.First().Equals(BeWoApp.CompactLoggedOnEmployee))
else if (SelectedEmployees.Count == 1 && SelectedEmployees.First().Equals(MainSession.CompactLoggedOnEmployee))
{
ZeigeNurMeineTermine = true;
}
@@ -934,15 +934,15 @@ namespace BeWo.Scheduler.View
public void UpdateRequestString()
{
ServiceFacade.DoResourceServiceSync(r => _Liste = r.GetAllOpenAppointmentsForEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
ServiceFacade.DoResourceServiceSync(r => _Liste = r.GetAllOpenAppointmentsForEmployee(MainSession.LoggedOnEmployee.EmployeeOid.Value));
var count = 0;
var oidList = new List<long>();
foreach (var termin in _Liste)
{
if (termin.Originator.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value)
if (termin.Originator.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value)
{
foreach (var status in termin.EmployeeList.Where(w => w.Employee.EmployeeOid != BeWoApp.LoggedOnEmployee.EmployeeOid.Value))
foreach (var status in termin.EmployeeList.Where(w => w.Employee.EmployeeOid != MainSession.LoggedOnEmployee.EmployeeOid.Value))
{
if (status.IsPChanged && status.ParticipationAnswer != ParticipationAnswer.Offen && status.ParticipationAnswer != ParticipationAnswer.Verstrichen && !oidList.Contains(status.Employee2SchedulerAppointmentOid.Value))
{
@@ -953,9 +953,9 @@ namespace BeWo.Scheduler.View
}
else
{
if (termin.EmployeeList.Any(a => a.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value))
if (termin.EmployeeList.Any(a => a.Employee.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value))
{
foreach (var status in termin.EmployeeList.Where(w => w.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value))
foreach (var status in termin.EmployeeList.Where(w => w.Employee.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value))
{
if (!status.IsPChanged && status.ParticipationAnswer == ParticipationAnswer.Offen && status.ParticipationAnswer != ParticipationAnswer.Verstrichen && !oidList.Contains(status.Employee2SchedulerAppointmentOid.Value))
{
@@ -1139,7 +1139,7 @@ namespace BeWo.Scheduler.View
}
}
if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) || !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll))
if(!MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) || !MainSession.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll))
{
var verfuegbarkeitMenue = e.Menu.ItemLinks.FirstOrDefault(f => f.GetType() == typeof(BarButtonItemLink) && (((BarButtonItemLink)f).Item?.Name.Contains("MitarbeiterVerfuegbarkeitPruefenButtonItem") ?? false));
@@ -1173,7 +1173,7 @@ namespace BeWo.Scheduler.View
}
}
if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderInZeiterfassungUebernehmen))
if(!MainSession.LoggedOnUser.HasRight(UserRightType.KalenderInZeiterfassungUebernehmen))
{
BarItemLinkBase menuItem = null;
@@ -1205,7 +1205,7 @@ namespace BeWo.Scheduler.View
var seperatorTop = e.Menu.ItemLinks.FirstOrDefault(f => f.GetType() == typeof(BarItemLinkSeparator) && ((BarItemLinkSeparator) f).BarItemName.Equals("ZusagenStackSeperatorTop"));
var seperatorBottom = e.Menu.ItemLinks.FirstOrDefault(f => f.GetType() == typeof(BarItemLinkSeparator) && ((BarItemLinkSeparator) f).BarItemName.Equals("ZusagenStackSeperatorBottom"));
if(!Scheduler.SelectedAppointments[0].CF_IsTask() && Scheduler.SelectedAppointments[0].CF_EmployeeList().Any(a => a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid)))
if(!Scheduler.SelectedAppointments[0].CF_IsTask() && Scheduler.SelectedAppointments[0].CF_EmployeeList().Any(a => a.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid)))
{
return;
}
@@ -1279,9 +1279,9 @@ namespace BeWo.Scheduler.View
var ersteller = appointment.CF_Originator();
var mitarbeiterliste = appointment.CF_EmployeeList();
var istErsteller = ersteller?.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) ?? false;
var istErsteller = ersteller?.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) ?? false;
if(!istErsteller && appointment.CF_IsPrivate() && !mitarbeiterliste.Any(a => Equals(a.Employee, BeWoApp.CompactLoggedOnEmployee)))
if(!istErsteller && appointment.CF_IsPrivate() && !mitarbeiterliste.Any(a => Equals(a.Employee, MainSession.CompactLoggedOnEmployee)))
{
darfTerminDetailsSehen = false;
}
@@ -1291,7 +1291,7 @@ namespace BeWo.Scheduler.View
private void AllowAppointmentCreateEvent(object sender, AppointmentOperationEventArgs e)
{
var darfAnlegen = (BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAnlegen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnlegen));
var darfAnlegen = (MainSession.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAnlegen) || MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnlegen));
e.Allow = darfAnlegen;
}
@@ -1350,9 +1350,9 @@ namespace BeWo.Scheduler.View
private void NurEigeneKlientenAnzeigen(object sender, RoutedEventArgs e)
{
//!BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View) && BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) ? AllCustomers :
//!MainSession.LoggedOnUser.HasRight(UserRightType.CustomerView_View) && MainSession.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) ? AllCustomers :
var relatedCustomerOids = BeWoApp.LoggedOnEmployee.RelatedCustomers.Select(s => s.Customer.CustomerOid);
var relatedCustomerOids = MainSession.LoggedOnEmployee.RelatedCustomers.Select(s => s.Customer.CustomerOid);
if (NurMeineKlientenCB.IsChecked.HasValue && NurMeineKlientenCB.IsChecked.Value)
{
@@ -1390,14 +1390,14 @@ namespace BeWo.Scheduler.View
var originator = customFieldStorage.Originator;
if(customFieldStorage.EmployeeList == null || originator.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value)
if(customFieldStorage.EmployeeList == null || originator.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value)
{
return false;
}
var empList = customFieldStorage.EmployeeList;
return empList.Any(a => a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) && a.ParticipationAnswer == ParticipationAnswer.Offen);
return empList.Any(a => a.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) && a.ParticipationAnswer == ParticipationAnswer.Offen);
}).ToList();
var updates = vm.Appointments.Where(app =>
@@ -1412,7 +1412,7 @@ namespace BeWo.Scheduler.View
var empList = customFieldStorage.EmployeeList;
var or = customFieldStorage.Originator;
return or.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) && empList.Any(a => a.IsPChanged && a.ParticipationAnswer != ParticipationAnswer.Offen && a.ParticipationAnswer != ParticipationAnswer.Verstrichen && !a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid));
return or.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) && empList.Any(a => a.IsPChanged && a.ParticipationAnswer != ParticipationAnswer.Offen && a.ParticipationAnswer != ParticipationAnswer.Verstrichen && !a.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid));
}).ToList();
if(!zuBestaetigen.Any() && !updates.Any())
@@ -1552,7 +1552,7 @@ namespace BeWo.Scheduler.View
var el = sa.CF_EmployeeList();
var neu = new ObservableCollection<Employee2SchedulerAppointmentDC>(el.DoForEach(dfe =>
{
if(!dfe.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
if(!dfe.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid))
{
return;
}
@@ -1746,7 +1746,7 @@ namespace BeWo.Scheduler.View
public void ReloadAppointmentViewModel(DateTime pIntervalStart, DateTime pIntervalEnd, List<long> pSelectedEmployees, List<long> pSelectedCustomer, List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, bool pShouldShowAbsenceTimes)
{
if (!BeWoApp.LoggedOnEmployee.EmployeeOid.HasValue)
if (!MainSession.LoggedOnEmployee.EmployeeOid.HasValue)
{
return;
}
@@ -1756,16 +1756,16 @@ namespace BeWo.Scheduler.View
GetCacheObjects((c, e, r) =>
{
ServiceFacade.DoResourceServiceAsync(s2 => s2.LoadFilteredAppointmentsMitAufgaben(BeWoApp.HasLoggedOnUserRight(new[] {UserRightType.KalenderMitarbeitertermineAnsehen}), BeWoApp.LoggedOnEmployee.EmployeeOid.Value, start, end, pSelectedEmployees, pSelectedCustomer, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, IsTasksVisible),
ServiceFacade.DoResourceServiceAsync(s2 => s2.LoadFilteredAppointmentsMitAufgaben(MainSession.HasLoggedOnUserRight(new[] {UserRightType.KalenderMitarbeitertermineAnsehen}), MainSession.LoggedOnEmployee.EmployeeOid.Value, start, end, pSelectedEmployees, pSelectedCustomer, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, IsTasksVisible),
appointments =>
{
ServiceFacade.DoResourceServiceAsync(s3 => s3.GetAllActiveAbsenceTimesInInterval(start, end, BeWoApp.LoggedOnEmployee.EmployeeOid.Value, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)),
ServiceFacade.DoResourceServiceAsync(s3 => s3.GetAllActiveAbsenceTimesInInterval(start, end, MainSession.LoggedOnEmployee.EmployeeOid.Value, MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)),
absenceTimes =>
{
this.Dispatch(() =>
{
var prefilteredAppointments = appointments.Where(w => (w.EmployeeList.Count == 0 && w.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) ||
w.EmployeeList.Count > 0 && w.EmployeeList.Any(a => a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid)) ||
var prefilteredAppointments = appointments.Where(w => (w.EmployeeList.Count == 0 && w.Originator.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) ||
w.EmployeeList.Count > 0 && w.EmployeeList.Any(a => a.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid)) ||
BeWoUtils.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)) && (!w.EmployeeList.TrueForAll(e2a => e2a.ParticipationAnswer == ParticipationAnswer.Absage) || w.EmployeeList == null || w.EmployeeList.Count == 0)).ToList();
var vm = new SchedulerAppointmentListVM(prefilteredAppointments, c, e, r);
@@ -1861,7 +1861,7 @@ namespace BeWo.Scheduler.View
return;
try
{
var productIdentifier = string.Format("-//{0}//DXScheduler iCalendarExchange Example//DE", BeWoApp.Mandator);
var productIdentifier = string.Format("-//{0}//DXScheduler iCalendarExchange Example//DE", MainSession.Mandator);
var exporter = new iCalendarExporter(Scheduler.GetCoreStorage()) { ProductIdentifier = productIdentifier };
exporter.AppointmentExporting += OnAppointmentExporting;
@@ -2084,7 +2084,7 @@ namespace BeWo.Scheduler.View
{
{ "appointmentOidListe", appointmentOidListe },
{ "datesList", datesList },
{ "employeeOid", BeWoApp.LoggedOnEmployee.EmployeeOid },
{ "employeeOid", MainSession.LoggedOnEmployee.EmployeeOid },
{ "serienTermine", serienTermine },
{"mehrtaegigeTermine", neueTermine}
};
@@ -2163,16 +2163,16 @@ namespace BeWo.Scheduler.View
{
var cb = (CheckBox) sender;
if (CheckBoxConverter != null && BeWoApp.CompactLoggedOnEmployee != null)
if (CheckBoxConverter != null && MainSession.CompactLoggedOnEmployee != null)
{
if (cb.IsChecked != null && cb.IsChecked.Value)
{
SelectedEmployees = new List<CompactEmployeeDC>{BeWoApp.CompactLoggedOnEmployee};
CheckBoxConverter.AktuellerMitarbeiter = BeWoApp.CompactLoggedOnEmployee;
SelectedEmployees = new List<CompactEmployeeDC>{MainSession.CompactLoggedOnEmployee};
CheckBoxConverter.AktuellerMitarbeiter = MainSession.CompactLoggedOnEmployee;
}
else if (cb.IsChecked != null && !cb.IsChecked.Value && SelectedEmployees.Count == 1)
{
SelectedEmployees.Remove(BeWoApp.CompactLoggedOnEmployee);
SelectedEmployees.Remove(MainSession.CompactLoggedOnEmployee);
CheckBoxConverter.AktuellerMitarbeiter = null;
}
@@ -2252,23 +2252,23 @@ namespace BeWo.Scheduler.View
var onlyPrivateAppointments = ShowPrivateAppointmentsCheckBox.IsChecked != null && ShowPrivateAppointmentsCheckBox.IsChecked.Value;
var showOnlyMyAppointments = ZeigeNurMeineTermine;
var loggedOnUserHasRightToSeeAllAppointments = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll);
var loggedOnEmployeeOid = BeWoApp.LoggedOnEmployee.EmployeeOid.Value;
var loggedOnUserHasRightToSeeAllAppointments = MainSession.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen) || MainSession.LoggedOnUser.HasRight(UserRightType.ViewAll);
var loggedOnEmployeeOid = MainSession.LoggedOnEmployee.EmployeeOid.Value;
var date = DeleteForGoodIntervalEndDateEdit.DateTime;
var userRights = new Dictionary<UserRightType, bool>
{
{
UserRightType.KalenderKliententermineAendern, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAendern)
UserRightType.KalenderKliententermineAendern, MainSession.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAendern)
},
{
UserRightType.KalenderMitarbeitertermineAendern, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAendern)
UserRightType.KalenderMitarbeitertermineAendern, MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAendern)
},
{
UserRightType.KalenderRessourcentermineAendern, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAendern)
UserRightType.KalenderRessourcentermineAendern, MainSession.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAendern)
},
{
UserRightType.KalenderRessourcentermineAndererAendern, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAndererAendern)
UserRightType.KalenderRessourcentermineAndererAendern, MainSession.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAndererAendern)
}
};
@@ -2493,7 +2493,7 @@ namespace BeWo.Scheduler.View
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException("#4534523454"); }
}
public class AppointmentToolTipConverter : IValueConverter
@@ -2677,7 +2677,7 @@ namespace BeWo.Scheduler.View
var employeeList = customFieldStorage.EmployeeList;
var isTask = customFieldStorage.IsTask;
return employeeList.Any(e => e.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) && e.ParticipationAnswer == ParticipationAnswer.Vorbehalt) ?
return employeeList.Any(e => e.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) && e.ParticipationAnswer == ParticipationAnswer.Vorbehalt) ?
new SolidColorBrush(Color.FromRgb(185, 39, 217)) :
isTask ? new SolidColorBrush(Color.FromRgb(153, 59, 59)) : new SolidColorBrush(Color.FromRgb(192, 255, 208));
}

View File

@@ -33,7 +33,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListView x:Name="OTListView" Grid.Column="0" MinWidth="120" SelectionMode="Single" Margin="3" ItemsSource="{Binding Path=OffeneTermine, UpdateSourceTrigger=PropertyChanged}" MaxWidth="300" SelectionChanged="Selector_OnSelected" Background="{StaticResource NavigationContentBrush}" SelectedIndex="0">
<ListView x:Name="OTListView" Grid.Column="0" MinWidth="120" SelectionMode="Single" Margin="3" ItemsSource="{Binding Path=OffeneTermine, UpdateSourceTrigger=PropertyChanged}" MaxWidth="300" SelectionChanged="Selector_OnSelected" Background="{DynamicResource NavigationContentBrush}" SelectedIndex="0">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />

View File

@@ -46,10 +46,10 @@ namespace BeWo.Scheduler.View
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public ObservableCollection<IBeWoAppointment> OffeneTermine { get; set; }
public ObservableCollection<IMainSessionointment> OffeneTermine { get; set; }
private IBeWoAppointment _selektierterTermin;
public IBeWoAppointment SelektierterTermin
private IMainSessionointment _selektierterTermin;
public IMainSessionointment SelektierterTermin
{
get => _selektierterTermin;
set
@@ -59,14 +59,14 @@ namespace BeWo.Scheduler.View
}
}
public RequestAnswerView(IEnumerable<IBeWoAppointment> appointments, IEnumerable<IBeWoAppointment> statusUpdates)
public RequestAnswerView(IEnumerable<IMainSessionointment> appointments, IEnumerable<IMainSessionointment> statusUpdates)
{
var statusUpdatesAsAppointments = new List<IBeWoAppointment>();
var statusUpdatesAsAppointments = new List<IMainSessionointment>();
foreach(var beWoAppointment in statusUpdates)
foreach(var MainSessionointment in statusUpdates)
{
var item = (SchedulerAppointmentVM) beWoAppointment;
foreach(var relation in item.EmployeeList.Where(emp => emp.IsPChanged && emp.ParticipationAnswer != ParticipationAnswer.Offen && emp.ParticipationAnswer != ParticipationAnswer.Verstrichen && !emp.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid)))
var item = (SchedulerAppointmentVM) MainSessionointment;
foreach(var relation in item.EmployeeList.Where(emp => emp.IsPChanged && emp.ParticipationAnswer != ParticipationAnswer.Offen && emp.ParticipationAnswer != ParticipationAnswer.Verstrichen && !emp.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid)))
{
if(statusUpdatesAsAppointments.All(a => a.LabelId != relation.Employee2SchedulerAppointmentOid))
{
@@ -79,7 +79,7 @@ namespace BeWo.Scheduler.View
}
OffeneTermine = appointments.ToObservableCollection();
OffeneTermine.AddRange(new List<IBeWoAppointment>(statusUpdatesAsAppointments));
OffeneTermine.AddRange(new List<IMainSessionointment>(statusUpdatesAsAppointments));
DataContext = this;
InitializeComponent();
@@ -121,7 +121,7 @@ namespace BeWo.Scheduler.View
private void Selector_OnSelected(object sender, RoutedEventArgs e)
{
var lv = (ListView) sender;
SelektierterTermin = (IBeWoAppointment) lv.SelectedItem;
SelektierterTermin = (IMainSessionointment) lv.SelectedItem;
}
private void Zusagen_OnClick(object sender, RoutedEventArgs e)
@@ -146,7 +146,7 @@ namespace BeWo.Scheduler.View
{
termin.EmployeeList.DoForEach(e =>
{
if (e.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
if (e.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid))
{
e.ParticipationAnswer = antwort;
}
@@ -218,17 +218,17 @@ namespace BeWo.Scheduler.View
private void OK_OnClick(object sender, RoutedEventArgs e)
{
SelektierterTermin = OTListView.SelectedItem as IBeWoAppointment;
SelektierterTermin = OTListView.SelectedItem as IMainSessionointment;
if(_selektierterTermin != null && _selektierterTermin.Start < DateTime.Now && _selektierterTermin.End < DateTime.Now)
{
if(SelektierterTermin != null && BeWoApp.LoggedOnEmployee.EmployeeOid.HasValue)
if(SelektierterTermin != null && MainSession.LoggedOnEmployee.EmployeeOid.HasValue)
{
var customFieldStorage = (CustomFieldStorage) SelektierterTermin.CustomFields[nameof(CustomFieldStorage)];
var emp2App = customFieldStorage.EmployeeList.ToList().Find(f => f.Employee2SchedulerAppointmentOid == SelektierterTermin.LabelId) ??
customFieldStorage.EmployeeList.ToList().Find(f => f.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value);
customFieldStorage.EmployeeList.ToList().Find(f => f.Employee.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value);
if(emp2App.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value)
if(emp2App.Employee.EmployeeOid == MainSession.LoggedOnEmployee.EmployeeOid.Value)
{
emp2App.ParticipationAnswer = ParticipationAnswer.Verstrichen;
}
@@ -277,7 +277,7 @@ namespace BeWo.Scheduler.View
private void RequestAnswerView_OnClosing(object sender, CancelEventArgs e)
{
BeWoApp.MainControl.AufOffeneTerminePruefen();
MainSession.MainPage.AufOffeneTerminePruefen();
}
}
@@ -285,7 +285,7 @@ namespace BeWo.Scheduler.View
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var app = (IBeWoAppointment) value;
var app = (IMainSessionointment) value;
if(app == null)
{
@@ -334,7 +334,7 @@ namespace BeWo.Scheduler.View
return null;
}
var app = (IBeWoAppointment)value;
var app = (IMainSessionointment)value;
var customFieldStorage = (CustomFieldStorage) app.CustomFields[nameof(CustomFieldStorage)];
var originator = customFieldStorage.Originator;

View File

@@ -39,7 +39,7 @@
</Border>
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="25" Background="{StaticResource SupportConceptContentBrush}">
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="25" Background="{DynamicResource SupportConceptContentBrush}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
@@ -316,10 +316,10 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox IsReadOnly="True" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding CountSelectedEmployees, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Margin="0" />
<ToggleButton Grid.Column="1" x:Name="MitarbeiterToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Mitarbeiter anzeigen" Style="{StaticResource ExpanderLookAlikeToggleBotton}"/>
<ToggleButton Grid.Column="1" x:Name="MitarbeiterToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Mitarbeiter anzeigen" Style="{DynamicResource ExpanderLookAlikeToggleBotton}"/>
</Grid>
<Popup Grid.Column="1" Grid.Row="5" Margin="10" Name="PopupEmployee" StaysOpen="False" Placement="MousePoint" Width="450" Height="300" >
<search:MultiEmployeeSearch x:Name="MultiEmployeeSearch" ResultListBackground="{StaticResource EmployeeListBrush}" SelectionChanged="MultiEmployeeSearch_OnSelectionChanged" SelectedEmployees="{Binding Controller.EmployeeList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
<search:MultiEmployeeSearch x:Name="MultiEmployeeSearch" ResultListBackground="{DynamicResource EmployeeListBrush}" SelectionChanged="MultiEmployeeSearch_OnSelectionChanged" SelectedEmployees="{Binding Controller.EmployeeList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
</Popup>
<Button x:Name="MitarbeiterPopUpOeffnenBtn" Grid.Column="4" Grid.Row="5" Width="20" Height="20" Margin="3,0,3,0" VerticalAlignment="Center" Click="EmployeePopupClick">
<Grid Width="18" HorizontalAlignment="Center" VerticalAlignment="Center">
@@ -327,7 +327,7 @@
<Line X1="8" X2="8" Y1="4" Y2="12" Fill="{x:Null}" Stroke="#FFFFFFFF" StrokeStartLineCap="Round" StrokeEndLineCap="Round" StrokeThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center" Width="16" Height="16" />
</Grid>
</Button>
<ListBox Grid.Column="1" Grid.Row="6" Background="{StaticResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedEmployees, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"
<ListBox Grid.Column="1" Grid.Row="6" Background="{DynamicResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedEmployees, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3" x:Name="SelectedMitarbeiter"
ItemContainerStyle="{DynamicResource MultiElementSelectionControlStyle}" MaxHeight="70" Height="70"
Visibility="{Binding IsChecked, ElementName=MitarbeiterToggleButton, Converter={StaticResource BoolVisibilityConverter}}">
@@ -351,7 +351,7 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox IsReadOnly="True" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding CountSelectedCustomers, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
<ToggleButton Grid.Column="1" x:Name="KlientenToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Klienten anzeigen" Style="{StaticResource ExpanderLookAlikeToggleBotton}"/>
<ToggleButton Grid.Column="1" x:Name="KlientenToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Klienten anzeigen" Style="{DynamicResource ExpanderLookAlikeToggleBotton}"/>
</Grid>
<Button x:Name="KlientenPopUpOeffnenBtn" Grid.Column="4" Grid.Row="7" Width="20" Height="20" Margin="3,0,3,0" VerticalAlignment="Center" Click="CustomerPopUpEditClick">
<Grid Width="18" HorizontalAlignment="Center" VerticalAlignment="Center">
@@ -360,9 +360,9 @@
</Grid>
</Button>
<Popup Grid.Column="1" Grid.Row="7" Margin="10" Name="CustomerSearchViewPopup" StaysOpen="False" Placement="MousePoint" Width="450" Height="300" >
<search:MultiCustomerSearchView x:Name="MultiCustomerSearch" ResultListBackground="{StaticResource CustomerListBrush}" SelectionChanged="MultiCustomerSearch_OnSelectionChanged" SelectedCustomers="{Binding Controller.CustomerList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
<search:MultiCustomerSearchView x:Name="MultiCustomerSearch" ResultListBackground="{DynamicResource CustomerListBrush}" SelectionChanged="MultiCustomerSearch_OnSelectionChanged" SelectedCustomers="{Binding Controller.CustomerList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
</Popup>
<ListBox Grid.Column="1" Grid.Row="8" Background="{StaticResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedCustomers, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"
<ListBox Grid.Column="1" Grid.Row="8" Background="{DynamicResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedCustomers, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3"
ItemContainerStyle="{DynamicResource MultiElementSelectionControlStyle}" MaxHeight="70" Height="70" x:Name="SelectedCustomersListBox"
Visibility="{Binding IsChecked, ElementName=KlientenToggleButton, Converter={StaticResource BoolVisibilityConverter}}">
@@ -386,7 +386,7 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox IsReadOnly="True" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding CountSelectedResources, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
<ToggleButton Grid.Column="1" x:Name="RessourcenToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Ressourcen anzeigen" Style="{StaticResource ExpanderLookAlikeToggleBotton}"/>
<ToggleButton Grid.Column="1" x:Name="RessourcenToggleButton" IsThreeState="False" Margin="0,0,2,0" Height="19" Width="19" ToolTip="Ausgewählte Ressourcen anzeigen" Style="{DynamicResource ExpanderLookAlikeToggleBotton}"/>
</Grid>
<Button x:Name="RessourcenPopUpOeffnenBtn" Grid.Column="4" Grid.Row="9" Width="20" Height="20" Margin="3,0,3,0" VerticalAlignment="Center" Click="ResourcePopUpClick">
<Grid Width="18" HorizontalAlignment="Center" VerticalAlignment="Center">
@@ -395,11 +395,11 @@
</Grid>
</Button>
<Popup Grid.Column="1" Grid.Row="9" Margin="10" Name="PopupResource" StaysOpen="False" Placement="MousePoint" Width="450" Height="300">
<search:ResourcesTreeSearchView x:Name="ResourcesTreeSearchView" ResultListBackground="{StaticResource ResourceContentBrush}" SelectionChanged="ResourcesTreeSearchView_OnSelectionChanged" SelectedResources="{Binding Controller.ResourceList}" />
<search:ResourcesTreeSearchView x:Name="ResourcesTreeSearchView" ResultListBackground="{DynamicResource ResourceContentBrush}" SelectionChanged="ResourcesTreeSearchView_OnSelectionChanged" SelectedResources="{Binding Controller.ResourceList}" />
</Popup>
<ListBox Grid.Column="1" Grid.Row="10" Background="{StaticResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedResources}" IsSynchronizedWithCurrentItem="True"
<ListBox Grid.Column="1" Grid.Row="10" Background="{DynamicResource ObjectEditBackgroundBrush}" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedResources}" IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3"
ItemContainerStyle="{StaticResource MultiResourceSelectionControlStyle}" MaxHeight="70" Height="70"
ItemContainerStyle="{DynamicResource MultiResourceSelectionControlStyle}" MaxHeight="70" Height="70"
Visibility="{Binding IsChecked, ElementName=RessourcenToggleButton, Converter={StaticResource BoolVisibilityConverter}}">
<ListBox.Template>
<ControlTemplate TargetType="{x:Type ListBox}">
@@ -426,7 +426,7 @@
</Popup>
<ListBox Grid.Column="1" Grid.Row="11" Background="White" Margin="4,0,1,4" ItemsSource="{Binding Path=SelectedSupportConcepts, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3" Name="SelectedSupportConceptsListBox"
ItemContainerStyle="{StaticResource MultiSupportConceptSelectionControlStyle}" MaxHeight="35" Height="35" Visibility="Collapsed">
ItemContainerStyle="{DynamicResource MultiSupportConceptSelectionControlStyle}" MaxHeight="35" Height="35" Visibility="Collapsed">
<ListBox.Template>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">

View File

@@ -142,7 +142,7 @@ namespace BeWo.Scheduler.View
CurrentAppointment = appointment;
IsNew = Controller.IsNewAppointment;
IsOwnAppointment = Equals(BeWoApp.CompactLoggedOnEmployee, NewSchedulerAppointmentFormController.Originator) && (NewSchedulerAppointmentFormController.EmployeeList?.Count == 0 || NewSchedulerAppointmentFormController.EmployeeList.Any(a => Equals(a.Employee, BeWoApp.CompactLoggedOnEmployee)));
IsOwnAppointment = Equals(MainSession.CompactLoggedOnEmployee, NewSchedulerAppointmentFormController.Originator) && (NewSchedulerAppointmentFormController.EmployeeList?.Count == 0 || NewSchedulerAppointmentFormController.EmployeeList.Any(a => Equals(a.Employee, MainSession.CompactLoggedOnEmployee)));
IsInTaskViewMode = pIsInTaskViewMode;
@@ -181,9 +181,9 @@ namespace BeWo.Scheduler.View
EdtRecurrenceType.CustomDisplayText += EdtRecurrenceType_CustomDisplayText;
if(IsInTaskViewMode && !SelectedEmployees.Any(a => a.Employee.Equals(BeWoApp.CompactLoggedOnEmployee)))
if(IsInTaskViewMode && !SelectedEmployees.Any(a => a.Employee.Equals(MainSession.CompactLoggedOnEmployee)))
{
SelectedEmployees.Add(new Employee2SchedulerAppointmentDC { Employee = BeWoApp.CompactLoggedOnEmployee });
SelectedEmployees.Add(new Employee2SchedulerAppointmentDC { Employee = MainSession.CompactLoggedOnEmployee });
MitarbeiterToggleButton.IsChecked = true;
}
@@ -242,7 +242,7 @@ namespace BeWo.Scheduler.View
// --------------------------------------------------------------------
var checkType = IsNew ? SchedulerRightsCheckType.Create : SchedulerRightsCheckType.Edit;
var allowedToChange = BS.Shared.Core.Utils.CheckSchedulerRights(SelectedCustomers.ToList(), SelectedResources.ToList(), SelectedEmployees.ToList(), NewSchedulerAppointmentFormController.Originator, IsNew, checkType, BeWoApp.LoggedOnUser);
var allowedToChange = BS.Shared.Core.Utils.CheckSchedulerRights(SelectedCustomers.ToList(), SelectedResources.ToList(), SelectedEmployees.ToList(), NewSchedulerAppointmentFormController.Originator, IsNew, checkType, MainSession.LoggedOnUser);
if(IsInTaskViewMode)
{

View File

@@ -35,8 +35,8 @@ namespace BeWo.Scheduler.ViewModel
return settings;
}
private BindingList<IBeWoAppointment> _AppointmentList;
public BindingList<IBeWoAppointment> Appointments
private BindingList<IMainSessionointment> _AppointmentList;
public BindingList<IMainSessionointment> Appointments
{
get
{
@@ -45,7 +45,7 @@ namespace BeWo.Scheduler.ViewModel
return _AppointmentList;
}
_AppointmentList = new BindingList<IBeWoAppointment>();
_AppointmentList = new BindingList<IMainSessionointment>();
_AppointmentList.AddingNew += AppointmentListAddingNew;
foreach (var item in VMList)
@@ -108,7 +108,7 @@ namespace BeWo.Scheduler.ViewModel
item.Id = item.DataContract.SchedulerAppointmentOid;
if (!item.IsPrivate || item.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) || item.EmployeeList.Select(s => s.Employee).Contains(BeWoApp.CompactLoggedOnEmployee))
if (!item.IsPrivate || item.Originator.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) || item.EmployeeList.Select(s => s.Employee).Contains(MainSession.CompactLoggedOnEmployee))
{
continue;
}
@@ -426,14 +426,14 @@ namespace BeWo.Scheduler.ViewModel
{
appointment.StatusId = 0;
appointment.CustomFields[nameof(CustomFieldStorage)] = new CustomFieldStorage { Originator = BeWoApp.CompactLoggedOnEmployee };
appointment.CustomFields[nameof(CustomFieldStorage)] = new CustomFieldStorage { Originator = MainSession.CompactLoggedOnEmployee };
}
public void InitNewTask(Appointment pAppointment, DateTime? pDueDate, IEnumerable<Employee2SchedulerAppointmentDC> pSelectedEmployees, List<CompactCustomerDC> pSelectedCustomers, List<ResourceDC> pSelectedResources, List<CompactSupportConceptDC> pSelectedSupportConcepts)
{
pAppointment.CustomFields[nameof(CustomFieldStorage)] = new CustomFieldStorage
{
Originator = BeWoApp.CompactLoggedOnEmployee,
Originator = MainSession.CompactLoggedOnEmployee,
EmployeeList = new ObservableCollection<Employee2SchedulerAppointmentDC>(pSelectedEmployees ?? new List<Employee2SchedulerAppointmentDC>()),
CustomerList = pSelectedCustomers ?? new List<CompactCustomerDC>(),
ResourceList = pSelectedResources ?? new List<ResourceDC>(),
@@ -483,7 +483,7 @@ namespace BeWo.Scheduler.ViewModel
if (isPrivate)
{
if (ersteller == null || !ersteller.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
if (ersteller == null || !ersteller.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid))
{
return true;
}
@@ -492,8 +492,8 @@ namespace BeWo.Scheduler.ViewModel
switch (filterCategory)
{
case "NurEigene":
var istEigenerTermin = ersteller != null && ersteller.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid) && employeeList != null && employeeList.Count == 0 ||
employeeList != null && employeeList.Any(a => a.Employee.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid));
var istEigenerTermin = ersteller != null && ersteller.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid) && employeeList != null && employeeList.Count == 0 ||
employeeList != null && employeeList.Any(a => a.Employee.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid));
wirdAngezeigt = istEigenerTermin;
@@ -522,7 +522,7 @@ namespace BeWo.Scheduler.ViewModel
// Ersteller und Rechte beachten
var istEigen = ersteller.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid);
var istEigen = ersteller.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid);
var mVorhanden = appEList.Any(a2app => _AllEmployees.Contains(a2app.Employee));
var kVorhanden = customerList.Any(_AllCustomers.Contains);
@@ -530,17 +530,17 @@ namespace BeWo.Scheduler.ViewModel
wirdAngezeigt = liste[0] && mVorhanden || liste[1] && resourceList.Any() || liste[2] && kVorhanden;
// Nur Ansehen
if (!istEigen && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) && liste[0] && mVorhanden && !appEList.Select(e2sa => e2sa.Employee).Any(a => a.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid)))
if (!istEigen && !MainSession.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen) && liste[0] && mVorhanden && !appEList.Select(e2sa => e2sa.Employee).Any(a => a.EmployeeOid.Equals(MainSession.LoggedOnEmployee.EmployeeOid)))
{
wirdAngezeigt = false;
}
if (!istEigen && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen) && liste[2] && kVorhanden)
if (!istEigen && !MainSession.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen) && liste[2] && kVorhanden)
{
wirdAngezeigt = false;
}
if (!istEigen && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen) && liste[1] && resourceList.Any())
if (!istEigen && !MainSession.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnsehen) && liste[1] && resourceList.Any())
{
wirdAngezeigt = false;
}

View File

@@ -12,7 +12,7 @@ using BS.Shared.Extensions;
namespace BeWo.Scheduler.ViewModel
{
public class SchedulerAppointmentVM : AbstractDCMapperVM<SchedulerAppointmentDC>, IBeWoAppointment
public class SchedulerAppointmentVM : AbstractDCMapperVM<SchedulerAppointmentDC>, IMainSessionointment
{
public static string PropertyName_Type = "Type";
public static string PropertyName_Start = "Start";

View File

@@ -22,7 +22,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<GroupBox Grid.ColumnSpan="1" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<GroupBox Grid.ColumnSpan="1" Padding="5" Style="{DynamicResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -48,7 +48,7 @@
<TextBox Grid.Row="4" Grid.Column="1" Margin="3" Height="23" Text="{Binding Path=Schutzstufe, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</GroupBox>
<GroupBox Header="Vertretungs-Einstellungen" Style="{StaticResource ObjectEditGroupBox}" Grid.Column="0" Grid.Row="1" Visibility="Visible" x:Name="VertretungsEinstellungen" Margin="0,10,0,0">
<GroupBox Header="Vertretungs-Einstellungen" Style="{DynamicResource ObjectEditGroupBox}" Grid.Column="0" Grid.Row="1" Visibility="Visible" x:Name="VertretungsEinstellungen" Margin="0,10,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -73,7 +73,7 @@
EditValue="{Binding Path=AbWelchemKrankheitsTag, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource Int2DecimalConverter}}" />
</Grid>
</GroupBox>
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.Row="2" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.Row="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -97,7 +97,7 @@
</dxe:ComboBoxEdit>
</Grid>
</GroupBox>
<GroupBox Header="Ausschlusskriterien" Grid.Column="1" Grid.Row="2" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Header="Ausschlusskriterien" Grid.Column="1" Grid.Row="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -27,7 +27,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<GroupBox Grid.ColumnSpan="1" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<GroupBox Grid.ColumnSpan="1" Padding="5" Style="{DynamicResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -60,7 +60,7 @@
</GroupBox>
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="1" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -86,7 +86,7 @@
</Grid>
</GroupBox>
<GroupBox Header="Ausschlusskriterien" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Header="Ausschlusskriterien" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="1" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -38,7 +38,7 @@
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Header="Mitarbeiter Wunsch Kriterien" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Mitarbeiter Wunsch Kriterien" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- Ready machen für teilweise funktion / Combobox zur auswahl der tokens und TextBox zur anzeige der ausgewählten tokens -->
<Grid>
@@ -62,7 +62,7 @@
</GroupBox>
<GroupBox Header="Mitarbeiter Ausschluss Kriterien" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<GroupBox Header="Mitarbeiter Ausschluss Kriterien" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3">
<!-- Ready machen für teilweise funktion <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <RowDefinition Height="Auto"/>-->
@@ -87,7 +87,7 @@
</GroupBox>
<GroupBox Header="Klient Wunsch Kriterien" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Klient Wunsch Kriterien" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
@@ -110,7 +110,7 @@
<!-- ############################################################################################################## -->
</GroupBox>
<GroupBox Header="Klient Ausschluss Kriterien" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Klient Ausschluss Kriterien" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
@@ -132,7 +132,7 @@
</GroupBox>
<GroupBox Header="Geschlecht" Grid.Row="0" Grid.Column="4" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<GroupBox Header="Geschlecht" Grid.Row="0" Grid.Column="4" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3">
<WrapPanel Orientation="Horizontal">
<CheckBox Content="männlich" Margin="3,3,3,3" Click="RBMaennlich_OnClick" x:Name="RBMaennlich" IsChecked="True"/>
<CheckBox Content="weiblich" Margin="3,3,3,3" Click="RBWeiblich_OnClick" x:Name="RBWeiblich" IsChecked="True" />
@@ -150,7 +150,7 @@
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Klienten PLZ">
<GroupBox Grid.Row="0" Margin="1" Style="{DynamicResource ObjectEditGroupBox}" Header="Klienten PLZ">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -169,7 +169,7 @@
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Suche nach">
<GroupBox Grid.Row="1" Margin="1" Style="{DynamicResource ObjectEditGroupBox}" Header="Suche nach">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -196,7 +196,7 @@
<!--Bereich einfügen um auszuwählen ob ganzen tag oder nur teilweise -->
<GroupBox Header="Vertretungs Zeitraum" Grid.Row="1" Grid.Column="0" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Vertretungs Zeitraum" Grid.Row="1" Grid.Column="0" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -13,7 +13,7 @@
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True" x:Name="View">
<Grid Width="Auto" Height="Auto">
<uc:ShadowChrome>
<GroupBox Style="{StaticResource MainContentGroupBoxStyle}">
<GroupBox Style="{DynamicResource MainContentGroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0,11,0,0">
<Image Source="..\..\Ressources\Icons\CalendarDisabled.png" RenderTransformOrigin="0.5,0.5" Width="32">
@@ -30,7 +30,7 @@
<TextBox Text="Vertretungen" 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" />
</StackPanel>
</GroupBox.Header>
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Margin="0,3,0,0" Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -292,7 +292,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}" >
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{DynamicResource ObjectEditGroupBox}" >
<dxg:GridControl x:Name="GridDataControlTagesansichtMitarbeiter" Visibility="Visible" Grid.Row="0" Margin="5,5,5,5" >
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="Employee" Width="125" ReadOnly="True" Header="Mitarbeiter/in">
@@ -347,7 +347,7 @@
</dxg:GridControl>
</GroupBox>
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<dxg:GridControl x:Name="GridDataControlTagesansichtKlient" Visibility="Visible" Margin="5,5,5,5" >
<dxg:GridControl.Columns >
@@ -417,7 +417,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}" >
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{DynamicResource ObjectEditGroupBox}" >
<dxg:GridControl x:Name="GridDataControlWochenansichtMitarbeiter" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" BorderBrush="Black" >
<dxg:GridControl.Columns >
@@ -570,7 +570,7 @@
</dxg:GridControl>
</GroupBox>
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<dxg:GridControl x:Name="GridDataControlWochenansichtKlient" Grid.Row="2" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" BorderBrush="Black" >
<dxg:GridControl.Columns >

View File

@@ -47,7 +47,7 @@
</localView:BeWoView.Resources>
<Grid Width="Auto" Height="Auto">
<uc:ShadowChrome>
<GroupBox Style="{StaticResource MainContentGroupBoxStyle}">
<GroupBox Style="{DynamicResource MainContentGroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0,11,0,0">
<Image Source="..\Ressources\Icons\CalendarDisabled.png" RenderTransformOrigin="0.5,0.5" Width="32">
@@ -63,7 +63,7 @@
<TextBox Text="Vertretungen" 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" />
</StackPanel>
</GroupBox.Header>
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Margin="0,3,0,0" Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -259,7 +259,7 @@
</Grid.RowDefinitions>
<!-- Abwesende Mitarbeiter -->
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}" >
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{DynamicResource ObjectEditGroupBox}" >
<dxg:GridControl x:Name="GridDataControlTagesansichtMitarbeiter" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=AbsentEmployeesDayViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in" SortOrder="Ascending">
@@ -403,7 +403,7 @@
</GroupBox>
<!-- Abwesende Klienten -->
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<dxg:GridControl x:Name="GridDataControlTagesansichtKlient" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=AbsentCustomersDayViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in" SortOrder="Ascending">
@@ -533,7 +533,7 @@
</GroupBox>
<!-- Kein Vertretungsbedarf -->
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{DynamicResource ObjectEditGroupBox}">
<dxg:GridControl x:Name="SubstitutionUnwantedDayViewGridControl" AllowDrop="True" Margin="5" BorderBrush="Black" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=SubstitutionUnwantedDayViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in abwesend" SortOrder="Ascending">
@@ -658,7 +658,7 @@
</Grid.RowDefinitions>
<!-- Wochenansicht Abwesende Mitarbeiter -->
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{DynamicResource ObjectEditGroupBox}">
<dxg:GridControl x:Name="GridDataControlWochenansichtMitarbeiter" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" ItemsSource="{Binding AbsentEmployeesWeekViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="EmployeeName" Header="Mitarbeiter/in" ReadOnly="True" SortOrder="Ascending" AllowBestFit="True">
@@ -962,7 +962,7 @@
</GroupBox>
<!-- Wochenansicht Abwesende Klienten -->
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<dxg:GridControl x:Name="GridDataControlWochenansichtKlient" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" ItemsSource="{Binding AbsentCustomersWeekViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="EmployeeName" Header="Mitarbeiter/in" ReadOnly="True" SortOrder="Ascending" AllowBestFit="True">
@@ -1158,7 +1158,7 @@
</GroupBox>
<!-- Wochenansicht Kein Vertretungsbedarf -->
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{DynamicResource ObjectEditGroupBox}" Margin="0,10,0,0">
<dxg:GridControl AllowDrop="True" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black"
x:Name="SubstitutionUnwantedWeekViewGridControl" ItemsSource="{Binding SubstitutionUnwantedWeekViewList, UpdateSourceTrigger=PropertyChanged}">
<dxg:GridControl.Columns>

View File

@@ -13,6 +13,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.SharedLauncher.Information;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
@@ -640,7 +641,7 @@ namespace BeWo.SchulbegleitenderDienst
{
var selectedTagesansichtVM = (TagesansichtVM) selectedItem;
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedTagesansichtVM.Customer.CustomerOid}";
var url = $"{ConnectionInformation.CoreServerAddressOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedTagesansichtVM.Customer.CustomerOid}";
//var tempToken = string.Empty;

View File

@@ -103,7 +103,7 @@
<ListBox Grid.Row="0" Grid.Column="6" Width="200" Grid.RowSpan="2" Margin="3" x:Name="ListBoxLetzteVertreter" LostFocus="LetzteVertreter_OnLostFocus" SelectionChanged="LetzteVertreter_OnSelectionChanged" />
</Grid>
</GroupBox>
<GroupBox Header="Filter" Grid.Row="2" Grid.Column="0" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Filter" Grid.Row="2" Grid.Column="0" Style="{DynamicResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -15,7 +15,7 @@
</Grid.RowDefinitions>
<WrapPanel Orientation="Horizontal">
<GroupBox Header="Stundensätze" Style="{StaticResource ObjectEditGroupBox}" MaxWidth="400">
<GroupBox Header="Stundensätze" Style="{DynamicResource ObjectEditGroupBox}" MaxWidth="400">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -55,7 +55,7 @@
</Grid>
</GroupBox>
<GroupBox Header="Feiertage" Style="{StaticResource ObjectEditGroupBox}" MaxWidth="400">
<GroupBox Header="Feiertage" Style="{DynamicResource ObjectEditGroupBox}" MaxWidth="400">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -7,6 +7,7 @@ using System.Windows.Data;
using BeWo.Converter;
using BS.Shared;
using BS.SharedLauncher.Information;
namespace BeWo.Security
{
@@ -31,13 +32,13 @@ namespace BeWo.Security
[TypeConverter(typeof(UserRightTypeArrayConverter))]
public static void SetEnabledDemands(FrameworkElement element, UserRightType[] value)
{
element.SetBinding(UIElement.IsEnabledProperty, new Binding("LoggedOnUsersRights") { Source = BeWoApp.CurrentBeWo, Converter = new Right2IsEnabledConverter(), ConverterParameter = value });
element.SetBinding(UIElement.IsEnabledProperty, new Binding("LoggedOnUsersRights") { Source = MainSessionSingleton.Instance, Converter = new Right2IsEnabledConverter(), ConverterParameter = value });
}
[TypeConverter(typeof(UserRightTypeArrayConverter))]
public static void SetVisibleDemands(FrameworkElement element, UserRightType[] value)
{
element.SetBinding(UIElement.VisibilityProperty, new Binding("LoggedOnUsersRights") { Source = BeWoApp.CurrentBeWo, Converter = new Right2VisibilityConverter(), ConverterParameter = value });
element.SetBinding(UIElement.VisibilityProperty, new Binding("LoggedOnUsersRights") { Source = MainSessionSingleton.Instance, Converter = new Right2VisibilityConverter(), ConverterParameter = value });
}
}
@@ -45,7 +46,7 @@ namespace BeWo.Security
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return BeWoApp.HasLoggedOnUserRight((UserRightType[])parameter) ? Visibility.Visible : Visibility.Collapsed;
return MainSession.HasLoggedOnUserRight((UserRightType[])parameter) ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
@@ -58,7 +59,7 @@ namespace BeWo.Security
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return BeWoApp.HasLoggedOnUserRight((UserRightType[])parameter);
return MainSession.HasLoggedOnUserRight((UserRightType[])parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View File

@@ -1,4 +1,5 @@
using System.ServiceModel;
using BS.SharedLauncher.Information;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Dispatcher;
@@ -12,7 +13,7 @@ namespace BeWo.Security
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
request.Headers.Add(new SecurityHeader { Username = BeWoApp.UserName, Password = BeWoApp.UserPassword });
request.Headers.Add(new SecurityHeader { Username = ConnectionInformation.Username, Password = ConnectionInformation.Password });
return null;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,168 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ServiceProxy
{
public static class ServiceConfig
{
public static BasicHttpBinding BeWoBasicHttpBinding = new BasicHttpBinding()
{
Name = "BeWoBasicEndpoint",
CloseTimeout = new TimeSpan(0, 5, 0),
OpenTimeout = new TimeSpan(0, 5, 0),
ReceiveTimeout = new TimeSpan(0, 10, 0),
SendTimeout = new TimeSpan(0, 5, 0),
AllowCookies = false,
BypassProxyOnLocal = false,
HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
MaxBufferPoolSize = 524288,
MaxBufferSize = int.MaxValue,
MaxReceivedMessageSize = int.MaxValue,
TextEncoding = Encoding.UTF8,
TransferMode = TransferMode.Buffered,
UseDefaultWebProxy = true,
MessageEncoding = WSMessageEncoding.Text,
ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas
{
MaxDepth = 32,
MaxStringContentLength = int.MaxValue,
MaxArrayLength = int.MaxValue,
MaxBytesPerRead = 4096,
MaxNameTableCharCount = 16384
},
Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.None
}
};
public static BasicHttpBinding BeWoStreamingBinding = new BasicHttpBinding()
{
Name = "BeWoStreamingEndpoint",
ReceiveTimeout = new TimeSpan(10, 0, 0),
SendTimeout = new TimeSpan(10, 0, 0),
MaxBufferSize = 65536,
MaxReceivedMessageSize = 67108864,
TextEncoding = Encoding.UTF8,
TransferMode = TransferMode.StreamedRequest,
UseDefaultWebProxy = true,
MessageEncoding = WSMessageEncoding.Text,
ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas
{
MaxDepth = 32,
MaxStringContentLength = 8192,
MaxArrayLength = 16384,
MaxBytesPerRead = 4096,
MaxNameTableCharCount = 16384
},
Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.None
}
};
public static BasicHttpBinding QueryServiceBinding = new BasicHttpBinding()
{
Name = "BeWoBasicEndpoint",
CloseTimeout = new TimeSpan(0, 5, 0),
OpenTimeout = new TimeSpan(0, 5, 0),
ReceiveTimeout = new TimeSpan(0, 10, 0),
SendTimeout = new TimeSpan(0, 5, 0),
AllowCookies = false,
BypassProxyOnLocal = false,
HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
MaxBufferPoolSize = 524288,
MaxBufferSize = int.MaxValue,
MaxReceivedMessageSize = int.MaxValue,
TextEncoding = Encoding.UTF8,
TransferMode = TransferMode.Buffered,
UseDefaultWebProxy = true,
MessageEncoding = WSMessageEncoding.Text,
ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas
{
MaxDepth = 32,
MaxStringContentLength = 8192,
MaxArrayLength = 16384,
MaxBytesPerRead = 4096,
MaxNameTableCharCount = 16384
},
Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.None
}
};
public static Dictionary<Type, BasicHttpBinding> HttpBindingConfiguration = new Dictionary<Type, BasicHttpBinding>
{
{ typeof(IQueryService), QueryServiceBinding},
{ typeof(IStreamingService), BeWoStreamingBinding},
{ typeof(IEmployeeService), BeWoBasicHttpBinding },
{ typeof(ICustomerService), BeWoBasicHttpBinding },
{ typeof(IUserService), BeWoBasicHttpBinding },
{ typeof(IValueListService), BeWoBasicHttpBinding },
{ typeof(IDownloadService), BeWoBasicHttpBinding },
{ typeof(IResourceService), BeWoBasicHttpBinding },
{ typeof(IOperationsService), BeWoBasicHttpBinding },
{ typeof(IAnalysisService), BeWoBasicHttpBinding },
{ typeof(IMailService), BeWoBasicHttpBinding },
{ typeof(IAccountingService), BeWoBasicHttpBinding},
{ typeof(IReportService), BeWoBasicHttpBinding}
};
public static Dictionary<Type, BasicHttpBinding> ServiceClient = new Dictionary<Type, BasicHttpBinding>
{
{ typeof(IQueryService), QueryServiceBinding},
{ typeof(IStreamingService), BeWoStreamingBinding},
{ typeof(IEmployeeService), BeWoBasicHttpBinding },
{ typeof(ICustomerService), BeWoBasicHttpBinding },
{ typeof(IUserService), BeWoBasicHttpBinding },
{ typeof(IValueListService), BeWoBasicHttpBinding },
{ typeof(IDownloadService), BeWoBasicHttpBinding },
{ typeof(IResourceService), BeWoBasicHttpBinding },
{ typeof(IOperationsService), BeWoBasicHttpBinding },
{ typeof(IAnalysisService), BeWoBasicHttpBinding },
{ typeof(IMailService), BeWoBasicHttpBinding },
{ typeof(IAccountingService), BeWoBasicHttpBinding},
{ typeof(IReportService), BeWoBasicHttpBinding}
};
public static TClient GetClient<TClient, TInterface>()
where TClient : ClientBase<TInterface>, TInterface, new()
where TInterface : class
{
TClient client = null;
try
{
client = new TClient();
}
catch (Exception e)
{
}
var binding = HttpBindingConfiguration[typeof(TInterface)];
var endpoint = ServiceFacade.EndpointAddresses[typeof(TInterface)];
client = //new UserServiceClient(binding, endpoint) as TClient;
(TClient)Activator.CreateInstance(typeof(TClient), new object[] {binding, endpoint});
if (typeof(IQueryService).IsAssignableFrom(typeof(TClient)))
{
}
else if (typeof(IUserService).IsAssignableFrom(typeof(TClient)))
{
}
return client;
}
}
}

View File

@@ -12,6 +12,7 @@ using BeWo.Security;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.SharedLauncher.Information;
namespace BeWo.ServiceProxy
{
@@ -38,7 +39,6 @@ namespace BeWo.ServiceProxy
public static void UpdateServerAddresses(String siteOfOrigin)
{
String serverName = siteOfOrigin;
var test = serverName.Substring(serverName.Length - 1, 1);
if (serverName.Substring(serverName.Length - 1, 1) != "/")
@@ -59,7 +59,6 @@ namespace BeWo.ServiceProxy
{ typeof(IAccountingService), new EndpointAddress(serverName + "AccountingService.svc") },
{ typeof(IReportService), new EndpointAddress(serverName + "ReportService.svc") }
};
}
static ServiceFacade()
@@ -545,9 +544,9 @@ namespace BeWo.ServiceProxy
{
long? oid = null;
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.ViewAll) && !MainSession.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
{
oid = BeWoApp.LoggedOnUser.Employee.EmployeeOid;
oid = MainSession.LoggedOnUser.Employee.EmployeeOid;
}
DoCustomerServiceAsync(
@@ -599,7 +598,7 @@ namespace BeWo.ServiceProxy
}
else
{
throw new NotImplementedException();
throw new NotImplementedException("#4342345669875");
}
}
@@ -792,17 +791,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
@@ -839,14 +827,14 @@ namespace BeWo.ServiceProxy
if (lClient == null)
{
lClient = new TClient();
//lClient = new TClient();
lClient = ServiceConfig.GetClient<TClient, TInterface>();
if(!_ProxyCache.ContainsKey(lClient.GetType()))
if (!_ProxyCache.ContainsKey(lClient.GetType()))
{
_ProxyCache.Add(typeof(TClient), lClient);
}
lClient.Endpoint.Behaviors.Add(new SecurityHeaderEndpointBehavior());
lClient.Endpoint.Behaviors.Add(new MultitenancyEndpointBehavior());
@@ -869,7 +857,7 @@ namespace BeWo.ServiceProxy
switch (lBeWoFault.FaultType)
{
case BeWoFaultType.Concurrency:
BeWoApp.ShowError(rowUpdated, e, false);
Session.ShowError(rowUpdated, e, false);
break;
case BeWoFaultType.DeleteNotPossible:
MessageBox.Show(lBeWoFault.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
@@ -878,22 +866,22 @@ namespace BeWo.ServiceProxy
MessageBox.Show(lBeWoFault.Message, "Warnung", MessageBoxButton.OK, MessageBoxImage.Asterisk);
return;
case BeWoFaultType.CustomWithoutDetails:
BeWoApp.ShowError(lBeWoFault.Message, e, false);
Session.ShowError(lBeWoFault.Message, e, false);
break;
default:
if (!String.IsNullOrEmpty(e.Message) && e.Message.IndexOf("Row was updated or deleted by another transaction") >= 0)
{
BeWoApp.ShowError(rowUpdated, e, false);
Session.ShowError(rowUpdated, e, false);
}
else
{
if (!String.IsNullOrEmpty(lBeWoFault.Message))
{
BeWoApp.ShowError(lBeWoFault.Message, e, true);
Session.ShowError(lBeWoFault.Message, e, true);
}
else
{
BeWoApp.ShowError(null, e, true);
Session.ShowError(null, e, true);
}
}
break;
@@ -901,20 +889,30 @@ namespace BeWo.ServiceProxy
}
else
{
BeWoApp.ShowError(null, e, true);
Session.ShowError(null, e, true);
}
}
private static void StartWaiting()
{
Monitor.Enter(_Lock);
if ((++_RunningAsyncs) == 1 && BeWoApp.MainControl != null)
if ((++_RunningAsyncs) == 1 && MainSession.MainPage != null)
{
BeWoApp.MainControl.StartWaiting();
MainSession.MainPage.StartWaiting();
}
Monitor.Exit(_Lock);
}
private static void EndWaiting()
{
Monitor.Enter(_Lock);
if ((--_RunningAsyncs) == 0 && MainSession.MainPage != null)
{
MainSession.MainPage.EndWaiting();
}
Monitor.Exit(_Lock);
}
}
}

47
BeWo/StartRoutine.cs Normal file
View File

@@ -0,0 +1,47 @@
using BeWo.MultiLanguage;
using BeWo.ServiceProxy;
using BeWo.View.Controls;
using BeWo.View.Search;
using BS.Shared.Translation;
using BS.SharedLauncher.Information;
using BS.SharedLauncher.Interfaces;
using BS.SharedLauncher.Windows;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace BeWo
{
public class StartRoutine : IStartRoutine
{
public void OnStartup(IBeWoWindow main, Application app)
{
//new MainSession(app);
ConnectionInformation.CoreServerAddress = ConnectionInformation.CoreServerAddressOrigin.ToString();
ServiceFacade.UpdateServerAddresses(ConnectionInformation.CoreServerAddress);
MainSession.LoggedOnUser = ServiceFacade.DoUserServiceSync(x => x.LoadUserByNameAndPassword(ConnectionInformation.Username, ConnectionInformation.Password));
MainSession.Mandator = ServiceFacade.DoOperationsServiceSync(x => x.GetMandator());
var dict = new MainDictionary();
app.Resources.MergedDictionaries.Add(dict);
Translator t = new Translator(new ServiceTranslator());
//var test = Session.FindResource("SupportConceptListBrush");
//throw new NotImplementedException("#342342342309");
//new SupportConceptSearchView();
new SingleSupportConceptSelectionControl();
}
}
}

View File

@@ -212,7 +212,7 @@
<ControlTemplate TargetType="{x:Type Expander}">
<Border SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
<DockPanel>
<ToggleButton localcore:BeWoWpfUtils.IsExpanderButtonVisible="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" IsEnabled="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}" Margin="1" MinHeight="0" MinWidth="0" x:Name="HeaderSite" Style="{DynamicResource AnalysisExpanderToggleButton}" Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontStretch="{TemplateBinding FontStretch}" FontStyle="{TemplateBinding FontStyle}" FontWeight="{TemplateBinding FontWeight}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" DockPanel.Dock="Top" />
<ToggleButton localcore:BeWoWpfUtils.IsExpanderButtonVisible="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" IsEnabled="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" FocusVisualStyle="{DynamicResource ExpanderHeaderFocusVisual}" Margin="1" MinHeight="0" MinWidth="0" x:Name="HeaderSite" Style="{DynamicResource AnalysisExpanderToggleButton}" Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontStretch="{TemplateBinding FontStretch}" FontStyle="{TemplateBinding FontStyle}" FontWeight="{TemplateBinding FontWeight}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" DockPanel.Dock="Top" />
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" x:Name="ExpandSite" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Focusable="false" Visibility="Collapsed" DockPanel.Dock="Bottom" />
</DockPanel>
</Border>
@@ -301,7 +301,7 @@
<DockPanel>
<Border SnapsToDevicePixels="true" Background="Transparent" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,0,0,1" DockPanel.Dock="Top">
<ToggleButton localcore:BeWoWpfUtils.IsExpanderButtonVisible="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}"
IsEnabled="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}"
IsEnabled="{TemplateBinding localcore:BeWoWpfUtils.IsExpanderButtonVisible}" FocusVisualStyle="{DynamicResource ExpanderHeaderFocusVisual}"
Margin="1" MinHeight="0" MinWidth="0" x:Name="HeaderSite" Style="{DynamicResource TriangleToggleButton}" Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}"
FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontStretch="{TemplateBinding FontStretch}"

View File

@@ -111,7 +111,7 @@
<Style TargetType="{x:Type TextBox}">
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="TextOptions.TextFormattingMode" Value="Display" />
<Style.Triggers>
@@ -132,13 +132,13 @@
<Style TargetType="{x:Type PasswordBox}">
<Setter Property="Padding" Value="3,2,3,0" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
</Style>
<Style TargetType="{x:Type uc:MaskedTextBox}">
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
</Style>
@@ -957,7 +957,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>
@@ -990,8 +990,8 @@
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="ComboBoxButton" />
</Grid.ColumnDefinitions>
<TextBox Margin="{TemplateBinding Padding}" x:Name="PART_EditableTextBox" Style="{StaticResource ComboBoxEditableTextBox}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Grid.Column="1" IsReadOnly="{Binding Path=IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton Style="{StaticResource ComboBoxTransparentButtonStyle}" Background="{x:Null}" Grid.ColumnSpan="3"
<TextBox Margin="{TemplateBinding Padding}" x:Name="PART_EditableTextBox" Style="{DynamicResource ComboBoxEditableTextBox}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Grid.Column="1" IsReadOnly="{Binding Path=IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton Style="{DynamicResource ComboBoxTransparentButtonStyle}" Background="{x:Null}" Grid.ColumnSpan="3"
Grid.Column="0"
IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" />
</Grid>
@@ -1025,10 +1025,10 @@
</ControlTemplate>
<Style x:Key="{x:Type ComboBox}" TargetType="{x:Type ComboBox}">
<Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisual}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="1" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
@@ -1095,7 +1095,7 @@
<Trigger Property="IsEditable" Value="true">
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0,1" />
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}" />
<Setter Property="Template" Value="{DynamicResource ComboBoxEditableTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
@@ -1683,7 +1683,7 @@
<Style TargetType="{x:Type uc:PopUpEdit}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="3,3,0,0" />
<Setter Property="AllowDrop" Value="true" />
@@ -1731,10 +1731,10 @@
<Style x:Key="{x:Type uc:NullItemComboBox}" TargetType="{x:Type uc:NullItemComboBox}">
<Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisual}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="1" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
@@ -1807,7 +1807,7 @@
<Trigger Property="IsEditable" Value="true">
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0,1" />
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}" />
<Setter Property="Template" Value="{DynamicResource ComboBoxEditableTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
@@ -2004,7 +2004,7 @@
<ControlTemplate x:Key="NavigationListBoxTemplate" TargetType="{x:Type ListBox}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
<ScrollViewer Focusable="False" Padding="{TemplateBinding Padding}" Style="{StaticResource MainNavigationScrollViewer}">
<ScrollViewer Focusable="False" Padding="{TemplateBinding Padding}" Style="{DynamicResource MainNavigationScrollViewer}">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
@@ -2012,7 +2012,7 @@
<Style x:Key="NavigationListStyle" TargetType="{x:Type ListBox}">
<Setter Property="Template" Value="{StaticResource NavigationListBoxTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationListBoxTemplate}" />
<Setter Property="Padding" Value="2,0,2,2" />
</Style>
@@ -2206,7 +2206,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -2225,7 +2225,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -2325,7 +2325,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -2345,7 +2345,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -2364,7 +2364,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<Style x:Key="OrganisationDetailStyle" TargetType="{x:Type ListBoxItem}">
@@ -2585,7 +2585,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<Style x:Key="PersonDetailStyle" TargetType="{x:Type ListBoxItem}">
@@ -2919,7 +2919,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
@@ -3019,7 +3019,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3034,7 +3034,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3051,7 +3051,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3067,7 +3067,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3083,7 +3083,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3099,7 +3099,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3116,7 +3116,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3136,7 +3136,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3156,7 +3156,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3172,7 +3172,7 @@
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
<Setter Property="Template" Value="{DynamicResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
@@ -3263,7 +3263,7 @@
<SolidColorBrush x:Key="TabItemHotTextBrush" Color="#FFAB4A07" />
<Style x:Key="ObjectEditTabItemStyle" TargetType="{x:Type TabItem}">
<Setter Property="Foreground" Value="{StaticResource TabItemTextBrush}" />
<Setter Property="Foreground" Value="{DynamicResource TabItemTextBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
@@ -3283,10 +3283,10 @@
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Control.Foreground" TargetName="TabItemText" Value="{StaticResource TabItemHotTextBrush}" />
<Setter Property="Control.Foreground" TargetName="TabItemText" Value="{DynamicResource TabItemHotTextBrush}" />
</Trigger>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Control.Foreground" TargetName="TabItemText" Value="{StaticResource TabItemSelectedTextBrush}" />
<Setter Property="Control.Foreground" TargetName="TabItemText" Value="{DynamicResource TabItemSelectedTextBrush}" />
<Setter Property="Visibility" TargetName="SelectionMarker" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
@@ -3296,12 +3296,12 @@
</Style>
<Style x:Key="ObjectEditTabControl" TargetType="{x:Type TabControl}">
<Setter Property="Foreground" Value="{StaticResource TabItemSelectedTextBrush}" />
<Setter Property="Foreground" Value="{DynamicResource TabItemSelectedTextBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="ItemContainerStyle" Value="{StaticResource ObjectEditTabItemStyle}" />
<Setter Property="ItemContainerStyle" Value="{DynamicResource ObjectEditTabItemStyle}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
@@ -3370,7 +3370,7 @@
<Style x:Key="ObjectEditGroupBoxHeaderBorderStyle" TargetType="{x:Type Border}">
<Setter Property="TextElement.FontSize" Value="16" />
<Setter Property="TextElement.Foreground" Value="{StaticResource TabItemHotTextBrush}" />
<Setter Property="TextElement.Foreground" Value="{DynamicResource TabItemHotTextBrush}" />
<Setter Property="TextElement.FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="Padding" Value="3,0,3,0" />
<Setter Property="MinHeight" Value="20" />
@@ -3414,7 +3414,7 @@
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
<Setter Property="Padding" Value="1,0,0,0" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
<Setter Property="FocusVisualStyle" Value="{StaticResource TreeViewItemFocusVisual}" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource TreeViewItemFocusVisual}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
@@ -3430,7 +3430,7 @@
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ToggleButton x:Name="Expander" Style="{StaticResource ExpandCollapseToggleStyle}" ClickMode="Press" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton x:Name="Expander" Style="{DynamicResource ExpandCollapseToggleStyle}" ClickMode="Press" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" />
<Border x:Name="Bd" Margin="0 2" SnapsToDevicePixels="true" Grid.Row="0" Grid.Column="1" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" CornerRadius="5,5,5,5" Background="#FF000000">
<Border.OpacityMask>
@@ -3565,7 +3565,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>
@@ -3994,7 +3994,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>
@@ -4080,7 +4080,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>
@@ -4162,7 +4162,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>
@@ -4195,7 +4195,7 @@
</Style>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{StaticResource LightOrangeBrush}" />
<Setter Property="Foreground" Value="{DynamicResource LightOrangeBrush}" />
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Padding" Value="0,0,0,0" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
@@ -4703,7 +4703,7 @@
</Grid>
</Border>
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{DynamicResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
</Grid>
<ControlTemplate.Triggers>

View File

@@ -18,7 +18,7 @@ namespace BeWo.Styles
private void Hyperlink_Organisation_Reaktivieren_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var orgaNavView = (OrganisationNavigationView) av;
@@ -31,7 +31,7 @@ namespace BeWo.Styles
private void Hyperlink_Person_Reaktivieren_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var personNavView = (PersonNavigationView) av;
@@ -44,7 +44,7 @@ namespace BeWo.Styles
private void Hyperlink_Person_Delete_For_Good_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var personNavView = (PersonNavigationView) av;
@@ -57,7 +57,7 @@ namespace BeWo.Styles
private void Hyperlink_Employee_Reaktivieren_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var employeeNavView = (EmployeeNavigationView) av;
@@ -70,7 +70,7 @@ namespace BeWo.Styles
private void Hyperlink_Employee_Delete_For_Good_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var employeeNavView = (EmployeeNavigationView) av;
@@ -83,7 +83,7 @@ namespace BeWo.Styles
private void Hyperlink_Employee_Anonymize_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var employeeNavView = (EmployeeNavigationView) av;
@@ -96,7 +96,7 @@ namespace BeWo.Styles
private void Hyperlink_Employee_Print_Click(object sender, RoutedEventArgs e)
{
var av = BeWoApp.MainControl.ActiveView;
var av = MainSession.MainPage.ActiveView;
var employeeNavView = (EmployeeNavigationView)av;

View File

@@ -7,7 +7,7 @@
AllowsTransparency="True"
Background="Transparent" ResizeMode="NoResize" >
<Grid>
<GroupBox Style="{StaticResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Header="Download" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<GroupBox Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Header="Download" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />

View File

@@ -37,7 +37,7 @@ namespace BeWo
{
InitializeComponent();
InitCommandBindings();
Owner = GetWindow(BeWoApp.MainControl.ActiveView);
Owner = GetWindow(MainSession.MainPage.ActiveView);
schalter = iterator;
if (schalter == 1)
{

View File

@@ -73,7 +73,7 @@ namespace BeWo.Validation
break;
case ValidationRules.EmptyNoticeInNewServiceRecordsAllowed:
if (BeWoApp.AppSettings.IsServiceRecordNoticeMandatory)
if (MainSession.AppSettings.IsServiceRecordNoticeMandatory)
{
if (pValue is string)
{

View File

@@ -9,9 +9,14 @@
xmlns:validation="clr-namespace:BeWo.Validation"
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:controls="clr-namespace:BeWo.View.Controls"
xmlns:conv="clr-namespace:BeWo.Converter"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
mc:Ignorable="d" VerticalAlignment="Stretch" Focusable="True">
<view:BeWoView.Resources>
<conv:CollectionCountToBoolConverter x:Key="CollectionCountToBoolConverter" />
<conv:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter" />
<conv:BoolVisibilityMultiConverter x:Key="BoolVisibilityMultiConverter" />
<Style x:Key="bargeldkassenListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="#00FFFFFF" />
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
@@ -48,8 +53,9 @@
</Trigger>
</Style.Triggers>-->
</Style>
</view:BeWoView.Resources>
<GroupBox Header="Bargeldkassen" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Header="Bargeldkassen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -256,7 +262,7 @@
SelectedItem="{Binding Path=PreselectedYear, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}"/>-->
<TextBlock Grid.Row="0" Grid.Column="7" Margin="3" FontSize="14" VerticalAlignment="Center" PreviewMouseLeftButtonDown="KlassenbuchLinkOnPreviewMouseLeftButtonDown" Tag="{Binding}" IsEnabled="{Binding Path=Bargeldtransaktionen.VMList.Count, Converter={StaticResource CollectionCountToBoolConverter}, UpdateSourceTrigger=PropertyChanged}">
<Hyperlink x:Name="LinkKassenbuchDrucken" TargetName="_NewWindow" Style="{StaticResource HyperlinkStyle}">
<Hyperlink x:Name="LinkKassenbuchDrucken" TargetName="_NewWindow" Style="{DynamicResource HyperlinkStyle}">
<Run Text="Kassenbuch drucken" />
</Hyperlink>
</TextBlock>
@@ -264,7 +270,7 @@
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="10" x:Name="BlubbTest" Style="{StaticResource ObjectEditGroupBox}" Header="Ein- und Auszahlungen">
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="10" x:Name="BlubbTest" Style="{DynamicResource ObjectEditGroupBox}" Header="Ein- und Auszahlungen">
<dxg:GridControl Name="grid_bargeldtransaktionen" Tag="{Binding}" MaxWidth="{Binding ElementName=BlubbTest, Path=ActualWidth}" ItemsSource="{Binding Path=Bargeldtransaktionen.VMList}" CustomColumnSort="GridBargeldtransaktionenOnCustomColumnSort">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Path=DarfBargeldtransaktionenBearbeiten, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}">

View File

@@ -153,19 +153,19 @@ namespace BeWo.View
if (currentObjectTid == TableID.Customer)
{
editRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll);
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten)) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
editRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten) || MainSession.LoggedOnUser.HasRight(UserRightType.EditAll);
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungBearbeiten)) || MainSession.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
deleteRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungLoeschen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll);
createRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungAnlegen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CreateAll);
deleteRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungLoeschen) || MainSession.LoggedOnUser.HasRight(UserRightType.DeleteAll);
createRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungAnlegen) || MainSession.LoggedOnUser.HasRight(UserRightType.CreateAll);
}
else
{
editRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll);
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten)) || BeWoApp.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
editRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten) || MainSession.LoggedOnUser.HasRight(UserRightType.EditAll);
editRightAsDefaultBoolean = (DefaultBoolean)(Convert.ToInt32((MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenBearbeiten)) || MainSession.LoggedOnUser.HasRight(UserRightType.EditAll)) + 1);
deleteRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenLoeschen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll);
createRight = BeWoApp.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenAnlegen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CreateAll);
deleteRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenLoeschen) || MainSession.LoggedOnUser.HasRight(UserRightType.DeleteAll);
createRight = MainSession.LoggedOnUser.HasRight(UserRightType.BargeldverwaltungFinanzenAnlegen) || MainSession.LoggedOnUser.HasRight(UserRightType.CreateAll);
}
darfBargeldTransaktionenBearbeiten = editRight;

View File

@@ -2,6 +2,7 @@
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:conv="clr-namespace:BeWo.Converter"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
@@ -9,7 +10,7 @@
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<conv:DownloadURLConverter x:Key="DownloadURLConverter" />
<ContextMenu x:Key="cm" MenuItem.Click="ContextMenu_Click" Opened="ContextMenu_Opened">
<MenuItem Header="Neu" >
<MenuItem.Icon>
@@ -49,7 +50,7 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Neue Datei hochladen">
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{DynamicResource ObjectEditGroupBox}" Header="Neue Datei hochladen">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -129,7 +130,6 @@
</Border>
<TextBlock x:Name="labelTo" Grid.Row="1" Grid.ColumnSpan="2" Text="-> Nach verschieben" Margin="3" Foreground="Blue" Opacity="1"/>
</Grid>
</Canvas>
</Grid>

View File

@@ -21,6 +21,7 @@ using BS.Shared;
using BS.Shared.Core;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
using BS.SharedLauncher.Information;
namespace BeWo.View
{
@@ -98,7 +99,7 @@ namespace BeWo.View
// vm.SubFolders[i].Files.Add(new FileAttachmentVM(new FileAttachmentDC()) { FileName = "File " + i + " " + j, Folder = vm.SubFolders[i] });
// }
//}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.DocumentsDownloadAll))
if (!MainSession.LoggedOnUser.HasRight(UserRightType.DocumentsDownloadAll))
{
ColumnDownload.Visible = false;
ColumnDownload.ShowInColumnChooser = false;
@@ -587,9 +588,9 @@ namespace BeWo.View
var tmp = Path.GetTempPath() + Path.GetFileName(lFA.URL);
BeWoApp.CurrentBeWo.DocumentWatcher.FileCreated -= DocumentWatcher_FileCreated;
BeWoApp.CurrentBeWo.DocumentWatcher.FileDeleted -= DocumentWatcher_FileDeleted;
BeWoApp.CurrentBeWo.DocumentWatcher.StoppeDateiUeberwachung(tmp);
MainSession.DocumentWatcher.FileCreated -= DocumentWatcher_FileCreated;
MainSession.DocumentWatcher.FileDeleted -= DocumentWatcher_FileDeleted;
MainSession.DocumentWatcher.StoppeDateiUeberwachung(tmp);
if (File.Exists(tmp))
File.Delete(tmp);
@@ -603,9 +604,9 @@ namespace BeWo.View
BeWoApp.CurrentBeWo.DocumentWatcher.StarteDateiUeberwachung(new DocumentWatcherInfo(tmp, cb.Description, cb.BeWoFolderOid, cb.FileAttachmentOid, cb.FileAttachmentVersion, _ObjectOid, _ObjectTid));
BeWoApp.CurrentBeWo.DocumentWatcher.FileCreated += DocumentWatcher_FileCreated;
BeWoApp.CurrentBeWo.DocumentWatcher.FileDeleted += DocumentWatcher_FileDeleted;
MainSession.DocumentWatcher.StarteDateiUeberwachung(new DocumentWatcherInfo(tmp, cb.Description, cb.BeWoFolderOid, cb.FileAttachmentOid, cb.FileAttachmentVersion, _ObjectOid, _ObjectTid));
MainSession.DocumentWatcher.FileCreated += DocumentWatcher_FileCreated;
MainSession.DocumentWatcher.FileDeleted += DocumentWatcher_FileDeleted;
return;
@@ -699,7 +700,8 @@ namespace BeWo.View
if (folder != null)
{
var newFileVM = new FileAttachmentVM(fileAttachment);
BeWoApp.CurrentBeWo.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
Session.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
{
folder.Files.Add(newFileVM);
newFileVM.Folder = folder;

View File

@@ -78,11 +78,11 @@ namespace BeWo.View
}
}
protected MainControl MainControl
protected MainPage MainPage
{
get
{
return BeWoApp.MainControl;
return MainSession.MainPage;
}
}
@@ -131,7 +131,7 @@ namespace BeWo.View
public bool SaveData()
{
if (!BeWoApp.HasLoggedOnUserRight(this.GetSaveDemands()))
if (!MainSession.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;
@@ -192,12 +192,12 @@ namespace BeWo.View
protected virtual void popup_Closed(object sender, EventArgs e)
{
this.MainControl.AnimateOpacity(1, 100);
this.MainPage.AnimateOpacity(1, 100);
}
protected virtual void popup_Opened(object sender, EventArgs e)
{
this.MainControl.AnimateOpacity(0.5, 200);
this.MainPage.AnimateOpacity(0.5, 200);
}
}
}

View File

@@ -4,9 +4,14 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:clientPartials="clr-namespace:BS.Shared.DataContracts.ClientPartials;assembly=BS.Shared"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:FilterDCConverter x:Key="FilterDCConverter" />
</UserControl.Resources>
<Grid>
<StackPanel x:Name="ComboBox_TreeView_Imitation" Orientation="Horizontal" Margin="3,0,3,3" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">
<TextBox x:Name="Imitationheader" Width="180" HorizontalAlignment="Left" Padding="3" Cursor="Arrow" VerticalContentAlignment="Center" Height="23" IsReadOnly="True" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}" />
@@ -149,7 +154,7 @@
</Border>
</Popup>
<Popup x:Name="RatingPopup" StaysOpen="False" Placement="MousePoint" Width="400" Height="200" >
<Border Background="{StaticResource ObjectEditBackgroundBrush}">
<Border Background="{DynamicResource ObjectEditBackgroundBrush}">
<StackPanel x:Name="ratingPanel" Orientation="Vertical" Margin="5">
<RadioButton x:Name="RadioButtonNone" Margin="3" FontSize="12" Click="RatingButton_OnClick" Content="Keine Bewertung" IsChecked="True"></RadioButton>

View File

@@ -5,8 +5,13 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="clr-namespace:DevExpress.Xpf.Core;assembly=DevExpress.Xpf.Core.v17.1"
xmlns:shared="clr-namespace:BeWo.Core"
xmlns:conv="clr-namespace:BeWo.Converter"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:FilterDCConverter x:Key="FilterDCConverter" />
</UserControl.Resources>
<Grid>
<StackPanel x:Name="ComboBox_TreeView_Imitation" Orientation="Horizontal" Margin="3,0,3,3"
Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">

View File

@@ -79,7 +79,7 @@ namespace BeWo.View.Controls
var allCustomers = new List<CompactCustomerDC>();
SelectedCustomers.Clear();
ServiceFacade.DoCustomerServiceSync(s => allCustomers = s.GetAllActiveCustomersCompact(false, BeWoApp.LoggedOnEmployee.EmployeeOid));
ServiceFacade.DoCustomerServiceSync(s => allCustomers = s.GetAllActiveCustomersCompact(false, MainSession.LoggedOnEmployee.EmployeeOid));
foreach (var item in customers)
{

View File

@@ -11,7 +11,7 @@
x:Class="BeWo.View.Controls.GoalRatingControl"
d:DesignHeight="200" d:DesignWidth="300"
mc:Ignorable="d">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />

View File

@@ -108,7 +108,7 @@ namespace BeWo.View.Controls
private void btnAddCustomer_Click(object sender, RoutedEventArgs e)
{
ServiceFacade.DoCustomerServiceAsync(s => s.GetAllActiveCustomersCompact(true, BeWoApp.LoggedOnUser.Employee.EmployeeOid),
ServiceFacade.DoCustomerServiceAsync(s => s.GetAllActiveCustomersCompact(true, MainSession.LoggedOnUser.Employee.EmployeeOid),
r =>
{
var list = r.ToList();
@@ -178,7 +178,7 @@ namespace BeWo.View.Controls
{ // Doppelklick auf den ToggleButton abfangen
var dc = (((ListBoxItem)sender).Content as AdditionalServiceGroupMember).Customer;
if (dc == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
if (dc == null || !MainSession.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
return;
VMFactory.CreateCustomerVMAsync(dc.CustomerOid,

View File

@@ -75,7 +75,7 @@ namespace BeWo.View.Controls
{
var dc = ((ListBoxItem)sender).Content as CompactEmployeeDC;
if (dc == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
if (dc == null || !MainSession.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
return;
VMFactory.CreateEmployeeVMAsync(dc.EmployeeOid,

View File

@@ -125,7 +125,7 @@
</ListBox>
<Popup x:Name="popupSupportConcepts" StaysOpen="False" Placement="MousePoint" Width="450" Grid.Row="2" Height="400">
<localsearch:SupportConceptSearchView x:Name="SearchView" ShowFilterPanel="True" ItemSelected="SupportConceptSearchView_ItemSelected" SearchMode="ActiveCostbearer2SupportConcepts" />
<localsearch:SupportConceptSearchView x:Name="SearchView" ShowFilterPanel="True" ItemSelected="SupportConceptSearchView_ItemSelected" />
</Popup>
<Popup x:Name="popupGroup" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="2" Height="400">
<localsearch:SupportConceptGroupSearchView x:Name="GroupSearchView" ItemSelected="GroupSearchView_ItemSelected" />

View File

@@ -25,6 +25,8 @@ namespace BeWo.View.Controls
{
this.InitializeComponent();
SearchView.SearchMode = Search.SearchMode.ActiveCostbearer2SupportConcepts;
this.UpdateListBox();
GroupSearchView.EditGroupButtonClicked += GroupSearchView_EditGroupButtonClicked;
}
@@ -139,7 +141,7 @@ namespace BeWo.View.Controls
private void btnAddGroup_Click(object sender, RoutedEventArgs e)
{
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllGroupsCompact(BeWoApp.LoggedOnEmployee.EmployeeOid),
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllGroupsCompact(MainSession.LoggedOnEmployee.EmployeeOid),
r =>
{
List<CompactGroupOfPeopleDC> list =

View File

@@ -6,7 +6,7 @@
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:search="clr-namespace:BeWo.View.Search">
<Grid x:Name="RootGrid" Background="{StaticResource ObjectEditBackgroundBrush}" >
<Grid x:Name="RootGrid" Background="{DynamicResource ObjectEditBackgroundBrush}" >
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />

View File

@@ -23,7 +23,7 @@ namespace BeWo.View.Controls
public NewsItemEditControl(NewsItemVM newsItem)
{
this.InitializeComponent();
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => BeWoApp.MainControl.CloseCurrentPopUp()));
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => MainSession.MainPage.CloseCurrentPopUp()));
this.DataContext = newsItem;
this.newsItem = newsItem;
TextBoxTitle.Focus();

View File

@@ -21,7 +21,7 @@
</Border>
</ControlTemplate>
<Style x:Key="ServiceRecordListStyle" TargetType="{x:Type ListBox}">
<Setter Property="Template" Value="{StaticResource ServiceRecordListBoxTemplate}" />
<Setter Property="Template" Value="{DynamicResource ServiceRecordListBoxTemplate}" />
<Setter Property="Padding" Value="2,0,2,2" />
</Style>
<Style x:Key="serviceRecordListBoxItemStyle" TargetType="{x:Type ListBoxItem}">

View File

@@ -15,7 +15,7 @@ namespace BeWo.View.Controls
public ServiceRecordPopUp(List<ServiceRecordVM> serviceRecords)
{
this.InitializeComponent();
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => BeWoApp.MainControl.CloseCurrentPopUp()));
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => MainSession.MainPage.CloseCurrentPopUp()));
this.DataContext = serviceRecords;
if (serviceRecords == null || serviceRecords.Count == 0)

View File

@@ -51,7 +51,7 @@
</Border>
</Grid>
<Popup x:Name="popupSupportConcepts" StaysOpen="False" Placement="MousePoint" Width="450" Grid.Row="1" Height="400" >
<localsearch:SupportConceptSearchView x:Name="SearchView" ShowFilterPanel="True" ItemSelected="SupportConceptSearchView_ItemSelected" SearchMode="ActiveCostbearer2SupportConcepts" />
<localsearch:SupportConceptSearchView x:Name="SearchView" ShowFilterPanel="True" ItemSelected="SupportConceptSearchView_ItemSelected" />
</Popup>
</Grid>
</UserControl>

View File

@@ -20,10 +20,18 @@ namespace BeWo.View.Controls
private FlatSupportConceptTreeNodeDC mSelectedSupportConcept;
public SingleSupportConceptSelectionControl()
{
try
{
InitializeComponent();
SearchView.SearchMode = Search.SearchMode.ActiveCostbearer2SupportConcepts;
SearchView.ControlInitialized += SearchView_ControlInitialized;
}
catch(Exception e)
{
}
}
void SearchView_ControlInitialized(object sender, EventArgs e)
{
@@ -39,6 +47,9 @@ namespace BeWo.View.Controls
public List<CompactSupportConceptDC> SupportConceptList
{
//get => null;
//set { }
get { return SearchView.SupportConcepts; }
set { SearchView.SupportConcepts = value; }
}
@@ -74,6 +85,9 @@ namespace BeWo.View.Controls
{
SearchView.SearchText = value;
}
//get => null;
//set { }
}
private void SupportConceptSearchView_ItemSelected(object sender, EventArgs<CompactSupportConceptDC> e)
@@ -122,7 +136,7 @@ namespace BeWo.View.Controls
internal void SetSelectedSupportConceptOid(long pOid)
{
var items = SearchView.SupportConcepts;
List<CompactSupportConceptDC> items = SearchView.SupportConcepts;
if (items != null)
{

View File

@@ -16,7 +16,7 @@
</StackPanel>
<Popup Grid.Row="0" x:Name="TreeViewPopup" AllowsTransparency="True" Width="400"
IsOpen="False" StaysOpen="False" PopupAnimation="Slide">
<Border BorderBrush="Black" BorderThickness="2" Background="{StaticResource TextModuleBrush}">
<Border BorderBrush="Black" BorderThickness="2" Background="{DynamicResource TextModuleBrush}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

View File

@@ -6,7 +6,7 @@
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
mc:Ignorable="d"
Height="Auto" Width="Auto">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>

View File

@@ -13,6 +13,7 @@ using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using BeWo.ViewModel;
using BS.SharedLauncher.Information;
namespace BeWo.View.Controls
{
@@ -28,7 +29,7 @@ namespace BeWo.View.Controls
{
InitializeComponent();
DataContext = valueListEntry;
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
ThemeManager.SetTheme(Session.GetWindow(), Theme.Office2010Black);
if (valueListEntry == null) return;

View File

@@ -3,11 +3,16 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:s="clr-namespace:System;assembly=mscorlib" Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Abwesenheitskategorien" Style="{StaticResource ObjectEditGroupBox}">
<localView:BeWoView.Resources>
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:Int2DecimalConverter x:Key="Int2DecimalConverter" />
</localView:BeWoView.Resources>
<GroupBox Name="root" Header="Aktuell definierte Abwesenheitskategorien" Style="{DynamicResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">

View File

@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:validation="clr-namespace:BeWo.Validation"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
@@ -11,7 +12,7 @@
x:Name="AbsenceTimeViewUserControl"
d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignData Type=AbsenceTimesView}">
<UserControl.Resources>
<conv:BoolVisibilityHiddenConverter x:Key="BoolVisibilityHiddenConverter" />
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
@@ -25,7 +26,7 @@
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="1" Grid.Column="0" x:Name="GroupBoxNewAbsenceTime" Grid.ColumnSpan="2" Header="Abwesenheit hinzufügen" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Grid.Row="1" Grid.Column="0" x:Name="GroupBoxNewAbsenceTime" Grid.ColumnSpan="2" Header="Abwesenheit hinzufügen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -78,7 +79,7 @@
<Button Grid.Row="2" Grid.ColumnSpan="7" Grid.Column="0" Command="{Binding AddAbsenceTimesCommand}" HorizontalAlignment="Right" Margin="1,10,0,3" Style="{DynamicResource {x:Type Button}}" Content="Abwesenheit hinzufügen" />
</Grid>
</GroupBox>
<GroupBox x:Name="GroupBoxAbsenceTimes" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Header="Erfasste Abwesenheiten" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox x:Name="GroupBoxAbsenceTimes" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Header="Erfasste Abwesenheiten" Style="{DynamicResource ObjectEditGroupBox}">
<dxg:GridControl VerticalAlignment="Stretch" Grid.Column="0" Grid.Row="1" ItemsSource="{Binding Path=AbsenceTimes.VMList}" HorizontalAlignment="Stretch" x:Name="DataGridAbsenceTimes">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Notice" Header="" FixedWidth="True" Width="24" ReadOnly="True">

View File

@@ -5,12 +5,15 @@
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<GroupBox MinHeight="200" Width="800" Style="{StaticResource PopUpWindowStyle}">
<localView:BeWoView.Resources>
<conv:Int2DecimalConverter x:Key="Int2DecimalConverter" />
</localView:BeWoView.Resources>
<GroupBox MinHeight="200" Width="800" Style="{DynamicResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
@@ -19,7 +22,7 @@
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -43,7 +46,7 @@
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Margin="3 6 3 6" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<GroupBox Margin="3 6 3 6" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<Grid>
@@ -94,7 +97,7 @@
</GroupBox>
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Header="Empfänger">
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{DynamicResource ObjectEditGroupBox}" Header="Empfänger">
<Grid>
@@ -133,7 +136,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="6 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="2" Header="Absender">
<GroupBox Margin="6 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="2" Header="Absender">
<Grid>
<Grid.ColumnDefinitions>
@@ -172,7 +175,7 @@
</GroupBox>
<GroupBox Margin="3 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Grid.Row="2" Header="Rechnungsposten">
<GroupBox Margin="3 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Grid.Row="2" Header="Rechnungsposten">
<dxg:GridControl MaxHeight="200" SnapsToDevicePixels="True" Margin="3" x:Name="datagrid_invoiceItems" DataSource="{Binding InvoiceItems.VMList}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>

View File

@@ -3,12 +3,17 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localsearch="clr-namespace:BeWo.View.Search"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True" >
<localView:BeWoView.Resources>
<conv:ObjectVisibilityConverter x:Key="ObjectVisibilityConverter" />
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
</localView:BeWoView.Resources>
<Grid>
<GroupBox Style="{StaticResource ObjectEditGroupBox}" Header="Rechnungen für Eigenanteil">
<GroupBox Style="{DynamicResource ObjectEditGroupBox}" Header="Rechnungen für Eigenanteil">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

View File

@@ -39,7 +39,7 @@ namespace BeWo.View.Detail.Accounting
this._EditView.EditingFinished += (s, e) =>
{
// hyperlinkPrint.
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
this.ReloadViewModel();
};
}
@@ -92,13 +92,13 @@ namespace BeWo.View.Detail.Accounting
this.ViewModel.NewVM.RecipientTown = r.InvoiceAddressTown ?? r.Town;
this.ViewModel.NewVM.RecipientPostCode = r.InvoiceAddressPostalCode ?? r.PostalCode;
this.ViewModel.NewVM.CustomerReferenceNumber = r.ReferenceNumber;
this.ViewModel.NewVM.CreatorFirstName = BeWoApp.LoggedOnEmployee.FirstName;
this.ViewModel.NewVM.CreatorLastName = BeWoApp.LoggedOnEmployee.LastName;
this.ViewModel.NewVM.SenderFirstName = BeWoApp.LoggedOnEmployee.FirstName;
this.ViewModel.NewVM.SenderLastName = BeWoApp.LoggedOnEmployee.LastName;
this.ViewModel.NewVM.SenderOrganisation = BeWoApp.Mandator.Name;
this.ViewModel.NewVM.CreatorFirstName = MainSession.LoggedOnEmployee.FirstName;
this.ViewModel.NewVM.CreatorLastName = MainSession.LoggedOnEmployee.LastName;
this.ViewModel.NewVM.SenderFirstName = MainSession.LoggedOnEmployee.FirstName;
this.ViewModel.NewVM.SenderLastName = MainSession.LoggedOnEmployee.LastName;
this.ViewModel.NewVM.SenderOrganisation = MainSession.Mandator.Name;
foreach (ContactDC iContactDC in BeWoApp.LoggedOnEmployee.ContactInformations)
foreach (ContactDC iContactDC in MainSession.LoggedOnEmployee.ContactInformations)
{
if (iContactDC.ContactType == ContactType.business_Fax)
{
@@ -127,7 +127,7 @@ namespace BeWo.View.Detail.Accounting
delegate
{
this._EditView.ViewModel = this.ViewModel.NewVM;
this.MainControl.ShowControlAsModalPopup(this._EditView);
this.MainPage.ShowControlAsModalPopup(this._EditView);
});
});
}
@@ -146,7 +146,7 @@ namespace BeWo.View.Detail.Accounting
{
var vm = BeWoWpfUtils.GetTag<InvoiceBaseVM>(sender);
this._EditView.ViewModel = vm;
this.MainControl.ShowControlAsModalPopup(this._EditView);
this.MainPage.ShowControlAsModalPopup(this._EditView);
}
private void popupedit_CostBeaerer_PopUpClick(object sender, RoutedEventArgs ev)
@@ -161,7 +161,7 @@ namespace BeWo.View.Detail.Accounting
private void Popupedit_CostBeaerer_OnPreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit)sender, e) || _SelectedSupportConcept == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConceptView_Edit))
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit)sender, e) || _SelectedSupportConcept == null || !MainSession.LoggedOnUser.HasRight(UserRightType.SupportConceptView_Edit))
return;
VMFactory.CreateSupportConceptVMAsync(_SelectedSupportConcept.SupportConceptOid,

View File

@@ -3,18 +3,22 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox MinHeight="200" Width="800" Style="{StaticResource PopUpWindowStyle}">
<localView:BeWoView.Resources>
<conv:Int2DecimalConverter x:Key="Int2DecimalConverter" />
</localView:BeWoView.Resources>
<GroupBox MinHeight="200" Width="800" Style="{DynamicResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
<Image Source="..\..\Ressources\Icons\CoinsDisabled.png" Height="28" />
<TextBox Text="Rechnung bearbeiten" Margin="10,4,0,0" Background="{x:Null}" Foreground="{DynamicResource MainGroupBoxForegroundBrush}" FontSize="20" BorderBrush="{x:Null}" VerticalAlignment="Stretch" BorderThickness="0,0,0,0" Padding="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -32,7 +36,7 @@
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Margin="3 6 3 6" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<GroupBox Margin="3 6 3 6" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -76,7 +80,7 @@
<TextBox Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" Margin="3" AcceptsReturn="True" TextWrapping="Wrap" Height="23" Text="{Binding Notice}" />
</Grid>
</GroupBox>
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Header="Empfänger">
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{DynamicResource ObjectEditGroupBox}" Header="Empfänger">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="col1" />
@@ -120,7 +124,7 @@
<TextBox Margin="3" Grid.Row="4" Grid.Column="3" Text="{val:ValidationBinding Path=RecipientPostBox}" Height="23" />
</Grid>
</GroupBox>
<GroupBox Margin="6 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="1" Header="Absender">
<GroupBox Margin="6 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="1" Header="Absender">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="col1" />
@@ -154,7 +158,7 @@
<TextBox Margin="3" Grid.Row="2" Grid.Column="3" Text="{Binding SenderPhone}" Height="23" />
</Grid>
</GroupBox>
<GroupBox Margin="3 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Grid.Row="2" Header="Rechnungsposten">
<GroupBox Margin="3 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Grid.Row="2" Header="Rechnungsposten">
<dxg:GridControl Margin="3" x:Name="datagrid_invoiceItems" DataSource="{Binding InvoiceItems.VMList}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Notice" Header="" FixedWidth="True" Width="24" ReadOnly="True">

View File

@@ -1,8 +1,22 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.GeneralInvoiceView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting" xmlns:val="clr-namespace:BeWo.Validation" xmlns:localsearch="clr-namespace:BeWo.View.Search" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView
x:Class="BeWo.View.Detail.Accounting.GeneralInvoiceView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:localsearch="clr-namespace:BeWo.View.Search" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView.Resources>
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:ObjectVisibilityConverter x:Key="ObjectVisibilityConverter" />
<conv:StringFormatMulitConverter x:Key="StringFormatMulitConverter" />
<conv:InvoiceBaseDCPrintURLConverter x:Key="InvoiceBaseDCPrintURLConverter" />
</localView:BeWoView.Resources>
<Grid>
<GroupBox Style="{StaticResource ObjectEditGroupBox}" Header="Rechnungen">
<GroupBox Style="{DynamicResource ObjectEditGroupBox}" Header="Rechnungen">
<Grid>
<Grid.RowDefinitions>

View File

@@ -37,7 +37,7 @@ namespace BeWo.View.Detail.Accounting
_EditView = new GeneralInvoiceItemEditView();
_EditView.EditingFinished += (s, e) =>
{
MainControl.CloseCurrentPopUp();
MainPage.CloseCurrentPopUp();
ReloadViewModel();
};
}
@@ -100,7 +100,7 @@ namespace BeWo.View.Detail.Accounting
delegate
{
_EditView.ViewModel = ViewModel.NewVM;
MainControl.ShowControlAsModalPopup(_EditView);
MainPage.ShowControlAsModalPopup(_EditView);
});
}
@@ -117,17 +117,17 @@ namespace BeWo.View.Detail.Accounting
private void btnEdit_Click(object sender, RoutedEventArgs e)
{
_EditView.ViewModel = BeWoWpfUtils.GetTag<InvoiceBaseVM>(sender);
MainControl.ShowControlAsModalPopup(_EditView);
MainPage.ShowControlAsModalPopup(_EditView);
}
private void button_add_Click(object sender, RoutedEventArgs e)
{
ViewModel.NewVM.DataContract.Type = InvoiceType.General;
ViewModel.NewVM.CreatorFirstName = BeWoApp.LoggedOnEmployee.FirstName;
ViewModel.NewVM.CreatorLastName = BeWoApp.LoggedOnEmployee.LastName;
ViewModel.NewVM.SenderFirstName = BeWoApp.LoggedOnEmployee.FirstName;
ViewModel.NewVM.SenderLastName = BeWoApp.LoggedOnEmployee.LastName;
ViewModel.NewVM.SenderOrganisation = BeWoApp.Mandator.Name;
ViewModel.NewVM.CreatorFirstName = MainSession.LoggedOnEmployee.FirstName;
ViewModel.NewVM.CreatorLastName = MainSession.LoggedOnEmployee.LastName;
ViewModel.NewVM.SenderFirstName = MainSession.LoggedOnEmployee.FirstName;
ViewModel.NewVM.SenderLastName = MainSession.LoggedOnEmployee.LastName;
ViewModel.NewVM.SenderOrganisation = MainSession.Mandator.Name;
ViewModel.NewVM.InvoiceDate = DateTime.Now.Date;
ViewModel.NewVM.AccountingPeriodStart = DateTime.Now.Date.AddDays(-DateTime.Now.Day + 1).AddMonths(-1);
ViewModel.NewVM.AccountingPeriodEnd = DateTime.Now.Date.AddDays(-DateTime.Now.Day);
@@ -135,7 +135,7 @@ namespace BeWo.View.Detail.Accounting
ViewModel.NewVM.InvoiceItems.NewVM.ItemPeriodEnd = ViewModel.NewVM.AccountingPeriodEnd;
ViewModel.NewVM.InvoiceItems.AddNewVMToList();
foreach (ContactDC iContactDC in BeWoApp.LoggedOnEmployee.ContactInformations)
foreach (ContactDC iContactDC in MainSession.LoggedOnEmployee.ContactInformations)
{
if (iContactDC.ContactType == ContactType.business_Fax)
{
@@ -232,7 +232,7 @@ namespace BeWo.View.Detail.Accounting
private void Popupedit_Recipient_OnPreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit) sender, e) || _SelectedOrganisation == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_Edit))
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit) sender, e) || _SelectedOrganisation == null || !MainSession.LoggedOnUser.HasRight(UserRightType.OrganisationView_Edit))
return;
VMFactory.CreateOrganisationVMAsync(_SelectedOrganisation.OrganisationOid,
@@ -250,7 +250,7 @@ namespace BeWo.View.Detail.Accounting
{
_SelectedOrganisation = p;
popupedit_Recipient.Focus();
MainControl.CloseCurrentPopUp();
MainPage.CloseCurrentPopUp();
}));
}
}

View File

@@ -1,5 +1,11 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.InvoiceOverview" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting" xmlns:val="clr-namespace:BeWo.Validation" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView
x:Class="BeWo.View.Detail.Accounting.InvoiceOverview"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting" xmlns:val="clr-namespace:BeWo.Validation" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView.Resources>
<conv:StringFormatConverter x:Key="StringFormatConverter" />
</localView:BeWoView.Resources>
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="Rechnungsübersicht" Style="{DynamicResource ObjectEditGroupBox}">

View File

@@ -59,31 +59,31 @@ namespace BeWo.View.Detail.Accounting
this._EquityInvoiceItemEditView.EditingFinished += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceAsync(se => se.LoadInvoiceBaseByOid(this._EquityInvoiceItemEditView.ViewModel.DataContract.InvoiceBaseOid.Value), cb => this.RefreshItemInList(cb));
};
this._GeneralInvoiceItemEditView.EditingFinished += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceAsync(se => se.LoadInvoiceBaseByOid(this._GeneralInvoiceItemEditView.ViewModel.DataContract.InvoiceBaseOid.Value), cb => this.RefreshItemInList(cb));
};
this._SettlementInvoiceItemEditView.EditingFinished += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceAsync(se => se.LoadInvoiceBaseByOid(this._SettlementInvoiceItemEditView.ViewModel.DataContract.InvoiceBaseOid.Value), cb => this.RefreshItemInList(cb));
};
this._SettlementInvoiceItemEditView2.EditingFinished += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceAsync(se => se.LoadInvoiceBaseByOid(this._SettlementInvoiceItemEditView2.ViewModel.DataContract.InvoiceBaseOid.Value), cb => this.RefreshItemInList(cb));
};
this._ServiceInvoiceItemEditView.EditingFinished += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
this.MainPage.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceAsync(se => se.LoadInvoiceBaseByOid(this._ServiceInvoiceItemEditView.ViewModel.DataContract.InvoiceBase.InvoiceBaseOid.Value), cb => this.RefreshItemInList(cb));
};
}
@@ -190,12 +190,12 @@ namespace BeWo.View.Detail.Accounting
{
case InvoiceType.CustomerEquity:
this._EquityInvoiceItemEditView.ViewModel = vm;
this.MainControl.ShowControlAsModalPopup(this._EquityInvoiceItemEditView);
this.MainPage.ShowControlAsModalPopup(this._EquityInvoiceItemEditView);
break;
case InvoiceType.General:
this._GeneralInvoiceItemEditView.ViewModel = vm;
this.MainControl.ShowControlAsModalPopup(this._GeneralInvoiceItemEditView);
this.MainPage.ShowControlAsModalPopup(this._GeneralInvoiceItemEditView);
break;
case InvoiceType.Settlement:
@@ -207,12 +207,12 @@ namespace BeWo.View.Detail.Accounting
if (cb.InvoiceItems == null || cb.InvoiceItems.Count == 0 || cb.DifferentHourlyRateCount > 0)
{
this._SettlementInvoiceItemEditView.ViewModel = new SettlementVM(cb);
this.MainControl.ShowControlAsModalPopup(this._SettlementInvoiceItemEditView);
this.MainPage.ShowControlAsModalPopup(this._SettlementInvoiceItemEditView);
}
else
{
this._SettlementInvoiceItemEditView2.ViewModel = new SettlementVM(cb);
this.MainControl.ShowControlAsModalPopup(this._SettlementInvoiceItemEditView2);
this.MainPage.ShowControlAsModalPopup(this._SettlementInvoiceItemEditView2);
}
}));
break;
@@ -224,7 +224,7 @@ namespace BeWo.View.Detail.Accounting
delegate
{
this._ServiceInvoiceItemEditView.ViewModel = new ServiceInvoiceVM(cb);
this.MainControl.ShowControlAsModalPopup(this._ServiceInvoiceItemEditView);
this.MainPage.ShowControlAsModalPopup(this._ServiceInvoiceItemEditView);
}));
break;
}
@@ -286,7 +286,7 @@ namespace BeWo.View.Detail.Accounting
vm.TypeString, vm.CustomerName, vm.AccountingPeriodString, vm.InvoiceNumber, vm.InvoiceDate.Value.ToShortDateString(), vm.RecipientString, string.Format("{0:0.00}", vm.TotalAmount), vm.Notice, vm.IsPaid ? "Ja" : ""
}));
}
var path = BeWoApp.GetAndCreateUserAppDataPath() + "\\Rechnungen.xls";
var path = MainSession.GetAndCreateUserAppDataPath() + "\\Rechnungen.xls";
var sf = new SaveFileDialog { FileName = Path.GetFileName(path), Filter = "Microsoft Excel 97-2003-Arbeitsblatt|*.xls|Alle Dateien|*.*" };
if (sf.ShowDialog() != true)

View File

@@ -9,7 +9,7 @@
HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security"
VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<GroupBox Width="850" Style="{StaticResource PopUpWindowStyle}">
<GroupBox Width="850" Style="{DynamicResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
<Image Source="..\..\Ressources\Icons\CoinsDisabled.png" Height="28" />
@@ -18,8 +18,8 @@
Padding="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<GroupBox Margin="10" Header="Rechnung(en) erstellen" Style="{StaticResource ObjectEditGroupBox}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<GroupBox Margin="10" Header="Rechnung(en) erstellen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

View File

@@ -8,7 +8,7 @@
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox MinHeight="500" Width="900" Style="{StaticResource PopUpWindowStyle}">
<GroupBox MinHeight="500" Width="900" Style="{DynamicResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,0">
<Image Source="..\..\Ressources\Icons\CoinsDisabled.png" Height="28" />
@@ -17,7 +17,7 @@
VerticalAlignment="Stretch" BorderThickness="0,0,0,0" Padding="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -36,7 +36,7 @@
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Margin="3 6 3 6" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<GroupBox Margin="3 6 3 6" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2" Header="Rechnungsdetails">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -85,7 +85,7 @@
TextWrapping="Wrap" Height="23" Text="{Binding InvoiceBase.Notice}" />
</Grid>
</GroupBox>
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Header="Empfänger">
<GroupBox Margin="3 6 6 3" Grid.Row="1" Style="{DynamicResource ObjectEditGroupBox}" Header="Empfänger">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="col1" />
@@ -130,7 +130,7 @@
Text="{Binding Path=RecipientPostBox}" Height="23" />
</Grid>
</GroupBox>
<GroupBox Margin="6 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="2"
<GroupBox Margin="6 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.Row="1" Grid.Column="2"
Header="Absender">
<Grid>
<Grid.ColumnDefinitions>
@@ -171,7 +171,7 @@
Height="23" />
</Grid>
</GroupBox>
<GroupBox Margin="3 6 3 3" Style="{StaticResource ObjectEditGroupBox}" Grid.ColumnSpan="2"
<GroupBox Margin="3 6 3 3" Style="{DynamicResource ObjectEditGroupBox}" Grid.ColumnSpan="2"
Grid.Row="3"
Header="Leistungen in Bewilligungszeiträumen - Details">
<Grid>
@@ -332,7 +332,7 @@
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type dx:DXTabItem}, Mode=FindAncestor}}" Value="False">
<Setter Property="Foreground" TargetName="ItemHeaderLabel" Value="{StaticResource GridPrintMenuLightBrush}"/>
<Setter Property="Foreground" TargetName="ItemHeaderLabel" Value="{DynamicResource GridPrintMenuLightBrush}"/>
</DataTrigger>
</DataTemplate.Triggers>
@@ -344,7 +344,7 @@
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type dx:DXTabItem}, Mode=FindAncestor}}" Value="False">
<Setter Property="Foreground" TargetName="SummaryHeaderLabel" Value="{StaticResource GridPrintMenuLightBrush}"/>
<Setter Property="Foreground" TargetName="SummaryHeaderLabel" Value="{DynamicResource GridPrintMenuLightBrush}"/>
</DataTrigger>
</DataTemplate.Triggers>
@@ -518,13 +518,13 @@
<Style.Triggers>
<DataTrigger Binding="{Binding Type}"
Value="{x:Type Type={x:Type localViewModel:ServiceInvoicePeriodVM}}">
<Setter Property="HeaderTemplate" Value="{StaticResource item_header}" />
<Setter Property="ContentTemplate" Value="{StaticResource item_content}" />
<Setter Property="HeaderTemplate" Value="{DynamicResource item_header}" />
<Setter Property="ContentTemplate" Value="{DynamicResource item_content}" />
</DataTrigger>
<DataTrigger Binding="{Binding Type}"
Value="{x:Type Type={x:Type localViewModel:ServiceInvoiceVM}}">
<Setter Property="HeaderTemplate" Value="{StaticResource summary_header}" />
<Setter Property="ContentTemplate" Value="{StaticResource summary_content}" />
<Setter Property="HeaderTemplate" Value="{DynamicResource summary_header}" />
<Setter Property="ContentTemplate" Value="{DynamicResource summary_content}" />
</DataTrigger>
</Style.Triggers>
</Style>

View File

@@ -4,6 +4,7 @@
xmlns:val="clr-namespace:BeWo.Validation" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:conv="clr-namespace:BeWo.Converter"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:r="clr-namespace:BeWo.Security" xmlns:localsearch="clr-namespace:BeWo.View.Search"
@@ -13,8 +14,14 @@
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
x:Class="BeWo.View.Detail.Accounting.ServiceInvoiceView" Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True" mc:Ignorable="d">
<localView:BeWoView.Resources>
<conv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<conv:ObjectVisibilityConverter x:Key="ObjectVisibilityConverter" />
<conv:StringFormatMulitConverter x:Key="StringFormatMulitConverter" />
<conv:SettlementDCPrintURLConverter x:Key="SettlementDCPrintURLConverter" />
</localView:BeWoView.Resources>
<Grid>
<GroupBox Style="{StaticResource ObjectEditGroupBox}" Header="{markup:Translate Sammelrechnung an Kostenträger}">
<GroupBox Style="{DynamicResource ObjectEditGroupBox}" Header="{markup:Translate Sammelrechnung an Kostenträger}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

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