Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -173,6 +173,9 @@
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinActionResultView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinActionResultView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinComplexSelectionFavoritenView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinComplexSelectionFavoritenView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinComplexSelectionView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinComplexSelectionView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -282,6 +285,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinComplexSelectionFavoritenView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinComplexSelectionView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
||||
@@ -177,9 +177,11 @@ namespace BeWo.Services
|
||||
{
|
||||
var window = _windowFactory.GetAnimatedBeWoWindow(title, control, options.Height, options.Width);
|
||||
|
||||
if(windowViewModel is DialogViewModel dialogViewModel)
|
||||
window.ViewModel = windowViewModel;
|
||||
|
||||
if (windowViewModel is DialogViewModel dialogViewModel)
|
||||
{
|
||||
dialogViewModel.RequestClose += (s, e) => window.Close();
|
||||
dialogViewModel.RequestClose += (s, e) => window.Close();
|
||||
}
|
||||
|
||||
if (options.ShowAsDialog)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
x:Key="ai_promptbaustein_folder_itemtemplate"
|
||||
DataType="{x:Type vm:AiPromptbausteinFolderVM}"
|
||||
ItemsSource="{Binding Path=SubFolders.VMList}">
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
|
||||
@@ -179,8 +179,7 @@ namespace BeWo.View.Controls.AI
|
||||
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm, true);
|
||||
viewmodel2.PromptAccepted += PromptAccepted;
|
||||
popup_promptbaustein_favoriten.Closed += (s, e) => viewmodel2.ResetSelection();
|
||||
var view2 = new AiPromptbausteinComplexSelectionView(viewmodel2);
|
||||
view2.ReduceSelection();
|
||||
var view2 = new AiPromptbausteinComplexSelectionFavoritenView(viewmodel2);
|
||||
viewmodel2.SelectedFolder = viewmodel2.Folders.VMList[0];
|
||||
view2.Padding = new Thickness(3);
|
||||
view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
|
||||
|
||||
@@ -121,8 +121,7 @@ namespace BeWo.View.Controls.AI
|
||||
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm, true);
|
||||
viewmodel2.PromptAccepted += PromptAccepted;
|
||||
popup_promptbaustein_favoriten.Closed += (s, e) => viewmodel2.ResetSelection();
|
||||
var view2 = new AiPromptbausteinComplexSelectionView(viewmodel2);
|
||||
view2.ReduceSelection();
|
||||
var view2 = new AiPromptbausteinComplexSelectionFavoritenView(viewmodel2);
|
||||
viewmodel2.SelectedFolder = viewmodel2.Folders.VMList[0];
|
||||
view2.Padding = new Thickness(3);
|
||||
view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinComplexSelectionFavoritenView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ai="clr-namespace:BeWo.ViewModel.View.AI"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:local="clr-namespace:BeWo.View.Detail.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:BeWo.ViewModel"
|
||||
d:DataContext="{d:DesignInstance Type=ai:AiPromptbausteinSelectionComplexViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style
|
||||
x:Key="PromptListBoxItem"
|
||||
BasedOn="{StaticResource PhotoListBoxItem}"
|
||||
TargetType="dxe:ListBoxEditItem">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MinWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox
|
||||
x:Name="groupbox2"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Favoriten"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<dxe:ListBoxEdit
|
||||
x:Name="listBoxEdit1"
|
||||
Padding="4,16,4,16"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
EditValue="{Binding SelectedPrompt, Mode=TwoWay}"
|
||||
ItemContainerStyle="{StaticResource PromptListBoxItem}"
|
||||
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectionMode="Single"
|
||||
Visibility="{Binding HasFavoriten, Converter={StaticResource BoolVisibilityConverter}}">
|
||||
<dxe:ListBoxEdit.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid
|
||||
Margin="0,3,0,0"
|
||||
Background="Transparent"
|
||||
MouseUp="Grid_MouseUp"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown_1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox
|
||||
Height="21"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Cursor="Arrow"
|
||||
Focusable="False"
|
||||
FontWeight="{Binding FontWeight, UpdateSourceTrigger=PropertyChanged}"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Title, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
|
||||
ToolTipService.ShowDuration="100000">
|
||||
<TextBox.ToolTip>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Label Content="{Binding Path=Title, Mode=OneWay}" FontWeight="Bold" />
|
||||
<TextBox
|
||||
MaxWidth="500"
|
||||
Padding="3,1,0,0"
|
||||
VerticalAlignment="Center"
|
||||
AcceptsReturn="True"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Description}"
|
||||
TextWrapping="Wrap" />
|
||||
</StackPanel>
|
||||
</TextBox.ToolTip>
|
||||
</TextBox>
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
|
||||
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}" RequestNavigate="Hyperlink_RequestNavigate">
|
||||
(i)
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</dxe:ListBoxEdit.ItemTemplate>
|
||||
</dxe:ListBoxEdit>
|
||||
<TextBlock
|
||||
Margin="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding HasFavoriten, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=false}">
|
||||
Bisher haben Sie noch keine Prompt-Favoriten festgelegt.<LineBreak />
|
||||
Bitte legen Sie in der Verwaltung Ihre gewünschten Prompt-Favoriten fest.</TextBlock>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<!--<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Header="Details"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid
|
||||
MaxWidth="700"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#fdfdfd">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" MinWidth="80" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="3*" MinWidth="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0">Name</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
Text="{Binding ViewModel.Title, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="Beschreibung" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNotice}"
|
||||
Text="{Binding ViewModel.Description, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Prompt" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNoticeLarge}"
|
||||
Text="{Binding ViewModel.Prompt, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Content="Ersteller:" />
|
||||
<comboboxes:ComboBoxEmployeeSearch
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsEnabled="False"
|
||||
SelectedCompactEmployeeDC="{Binding ViewModel.Creator}" />
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0">Öffentlich</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="4"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding ViewModel.IsPublic}"
|
||||
IsEnabled="{Binding IsEditingMode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>-->
|
||||
<!--<Button
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Command="{Binding SendCommand}"
|
||||
Style="{StaticResource PrimaryButton}"
|
||||
Visibility="{Binding HasFavoriten, Converter={StaticResource BoolVisibilityConverter}}">
|
||||
Absenden
|
||||
</Button>-->
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BeWo.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace BeWo.View.Detail.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AiPromptbausteinComplexSelectionView.xaml
|
||||
/// </summary>
|
||||
public partial class AiPromptbausteinComplexSelectionFavoritenView : UserControl
|
||||
{
|
||||
public AiPromptbausteinSelectionComplexViewModel ViewModel { get; set; }
|
||||
|
||||
public AiPromptbausteinComplexSelectionFavoritenView(AiPromptbausteinSelectionComplexViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
DataContext = ViewModel = viewModel;
|
||||
|
||||
Loaded += (s, e) =>
|
||||
{
|
||||
ViewModel.InitVMList();
|
||||
|
||||
listBoxEdit1.UnSelectAll();
|
||||
};
|
||||
}
|
||||
|
||||
private void Grid_PreviewMouseDown_1(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void Grid_MouseUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (!ViewModel.SendCommand.CanExecute(null))
|
||||
return;
|
||||
|
||||
ViewModel.SendCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -74,6 +74,8 @@
|
||||
<dxe:ListBoxEdit
|
||||
x:Name="listBoxEdit1"
|
||||
Padding="4,16,4,16"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
EditValue="{Binding SelectedPrompt, Mode=TwoWay}"
|
||||
ItemContainerStyle="{StaticResource PromptListBoxItem}"
|
||||
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
|
||||
@@ -82,8 +84,7 @@
|
||||
<DataTemplate>
|
||||
<Grid
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Transparent"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown_1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
||||
@@ -46,15 +46,6 @@ namespace BeWo.View.Detail.AI
|
||||
};
|
||||
}
|
||||
|
||||
public void ReduceSelection()
|
||||
{
|
||||
groupBox1.Visibility = Visibility.Collapsed;
|
||||
splitter.Visibility = Visibility.Collapsed;
|
||||
groupbox2.Header = "Favoriten";
|
||||
Grid.SetColumn(groupbox2, 0);
|
||||
Grid.SetColumnSpan(groupbox2, 3);
|
||||
}
|
||||
|
||||
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
||||
{
|
||||
if (ViewModel is null)
|
||||
|
||||
@@ -65,6 +65,8 @@
|
||||
MinHeight="100"
|
||||
Padding="4,16,4,16"
|
||||
AllowDrop="True"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
ContextMenuOpening="treeView_ContextMenuOpening"
|
||||
ItemContainerStyle="{DynamicResource igoal_treeitemstyle}"
|
||||
ItemTemplate="{StaticResource ai_promptbaustein_folder_itemtemplate}"
|
||||
@@ -136,6 +138,8 @@
|
||||
x:Name="listBoxEdit1"
|
||||
Padding="4,16,4,16"
|
||||
AllowDrop="False"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
ContextMenuOpening="ListBox_ContextMenuOpening"
|
||||
ItemContainerStyle="{StaticResource PromptListBoxItem}"
|
||||
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
|
||||
@@ -192,8 +196,7 @@
|
||||
<DataTemplate>
|
||||
<Grid
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Transparent"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown_1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<UserControl
|
||||
x:Name="root"
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinPromptView2"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
@@ -10,6 +9,7 @@
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewmodel="clr-namespace:BeWo.ViewModel.View.Administration"
|
||||
x:Name="root"
|
||||
Width="500"
|
||||
Height="400">
|
||||
<UserControl.Resources>
|
||||
@@ -19,9 +19,7 @@
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#eeeeee">
|
||||
<Grid HorizontalAlignment="Stretch" Background="#eeeeee">
|
||||
<Grid Margin="8,4,8,4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" MinWidth="80" />
|
||||
@@ -42,8 +40,7 @@
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding CanEdit}"
|
||||
Text="{Binding Title, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Text="{Binding PromptVM.Title, UpdateSourceTrigger=PropertyChanged, ElementName=root}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
@@ -53,10 +50,9 @@
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
MaxHeight="100"
|
||||
IsEnabled="{Binding CanEdit}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNotice}"
|
||||
Text="{Binding Description, UpdateSourceTrigger=PropertyChanged}"
|
||||
Text="{Binding PromptVM.Description, UpdateSourceTrigger=PropertyChanged, ElementName=root}"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<Label
|
||||
@@ -66,7 +62,6 @@
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding PromptVM.CanEdit, ElementName=root}"
|
||||
Style="{StaticResource TextBoxNoticeLarge}"
|
||||
Text="{Binding PromptVM.Prompt, UpdateSourceTrigger=PropertyChanged, ElementName=root}"
|
||||
TextWrapping="Wrap" />
|
||||
@@ -80,22 +75,22 @@
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsEnabled="False"
|
||||
SelectedCompactEmployeeDC="{Binding Creator}" />
|
||||
SelectedCompactEmployeeDC="{Binding PromptVM.Creator, ElementName=root}" />
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0">Öffentlich</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="4"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding IsPublic}"
|
||||
IsEnabled="{Binding CanShareEdit, UpdateSourceTrigger=PropertyChanged}" />
|
||||
IsChecked="{Binding PromptVM.IsPublic, ElementName=root}"
|
||||
IsEnabled="{Binding PromptVM.CanShareEdit, UpdateSourceTrigger=PropertyChanged, ElementName=root}" />
|
||||
|
||||
<Label Grid.Row="5" Grid.Column="0">Favorit</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="5"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding IsFavorite}"
|
||||
IsChecked="{Binding PromptVM.IsFavorite, ElementName=root}"
|
||||
IsEnabled="true" />
|
||||
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ using BS.Shared.Core;
|
||||
using DevExpress.Mvvm;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared.Extensions;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BeWo.ViewModel.View.AI
|
||||
{
|
||||
@@ -50,7 +51,7 @@ namespace BeWo.ViewModel.View.AI
|
||||
AskDeleteCommand = new DelegateCommand(AskDelete, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleServiceRecordChat) && ListVM.SelectedVM is object);
|
||||
|
||||
SavePromptCommand = new DelegateCommand<AiConversationMessageVM>(SavePrompt, vm => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineEdit));
|
||||
AcceptSavePromptCommand = new DelegateCommand(AcceptSavePrompt);
|
||||
AcceptSavePromptCommand = new DelegateCommand(AcceptSavePrompt, () => !string.IsNullOrWhiteSpace(SavePromptVM?.Title));
|
||||
CancelSavePromptCommand = new DelegateCommand(CancelSavePrompt);
|
||||
|
||||
ListVM = new AiConversationListVM();
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace BeWo.ViewModel.View.AI
|
||||
_SelectedFolder = value;
|
||||
FirePropertyChanged(nameof(SelectedFolder));
|
||||
|
||||
if(SelectedPrompt is object)
|
||||
if (SelectedPrompt is object)
|
||||
{
|
||||
SelectedPrompt.IsSelected = false;
|
||||
SelectedPrompt = null;
|
||||
@@ -79,6 +79,14 @@ namespace BeWo.ViewModel.View.AI
|
||||
public AiPromptbausteinFolderListVM Folders { get; private set; }
|
||||
public AiActionType LoadedActionType { get; set; }
|
||||
|
||||
public bool HasFavoriten
|
||||
{
|
||||
get
|
||||
{
|
||||
return Folders.Count > 3 && Folders.VMList[0].Prompts.Count > 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetSelection()
|
||||
{
|
||||
if (!IsFavorite)
|
||||
|
||||
@@ -20,13 +20,10 @@ namespace BeWo.ViewModel.View.Administration
|
||||
ViewModel = viewModel;
|
||||
_IsNew = isNew;
|
||||
|
||||
if (!_IsNew)
|
||||
ViewModel.PropertyChanged += (s, e) =>
|
||||
{
|
||||
ViewModel.PropertyChanged += (s, e) =>
|
||||
{
|
||||
AcceptCommand.RaiseCanExecuteChanged();
|
||||
};
|
||||
}
|
||||
AcceptCommand.RaiseCanExecuteChanged();
|
||||
};
|
||||
}
|
||||
|
||||
public AiPromptbausteinFolderVM ViewModel { get; set; }
|
||||
@@ -35,7 +32,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
|
||||
protected override bool canAccept()
|
||||
{
|
||||
return _IsNew || ViewModel.IsDirty;
|
||||
return (_IsNew || ViewModel.IsDirty) && !string.IsNullOrWhiteSpace(ViewModel.Title);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,13 +15,10 @@ namespace BeWo.ViewModel.View.Administration
|
||||
ViewModel = viewModel;
|
||||
_IsNew = isNew;
|
||||
|
||||
if (!_IsNew)
|
||||
{
|
||||
ViewModel.PropertyChanged += (s, e) =>
|
||||
ViewModel.PropertyChanged += (s, e) =>
|
||||
{
|
||||
AcceptCommand.RaiseCanExecuteChanged();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public AiPromptbausteinPromptVM ViewModel { get; private set; }
|
||||
@@ -30,7 +27,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
|
||||
protected override bool canAccept()
|
||||
{
|
||||
return _IsNew || ViewModel.IsDirty;
|
||||
return (_IsNew || ViewModel.IsDirty) && !string.IsNullOrWhiteSpace(ViewModel.Title);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,11 +68,11 @@
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<userSettings>
|
||||
<DXThemeManager>
|
||||
<setting name="ApplicationThemeName" serializeAs="String">
|
||||
<value>Office2010Black</value>
|
||||
</setting>
|
||||
</DXThemeManager>
|
||||
</userSettings>
|
||||
<userSettings>
|
||||
<DXThemeManager>
|
||||
<setting name="ApplicationThemeName" serializeAs="String">
|
||||
<value>Office2010Black</value>
|
||||
</setting>
|
||||
</DXThemeManager>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
||||
@@ -979,6 +979,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RomEV", "ReportImp\RomEV\Ro
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UteHengstermannAbwAnker", "ReportImp\UteHengstermannAbwAnker\UteHengstermannAbwAnker.csproj", "{CCDA80D2-C56B-4BCA-8FE9-21907333A098}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KcmGmbHSozio", "ReportImp\KcmGmbHSozio\KcmGmbHSozio.csproj", "{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -12006,6 +12008,30 @@ Global
|
||||
{CCDA80D2-C56B-4BCA-8FE9-21907333A098}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{CCDA80D2-C56B-4BCA-8FE9-21907333A098}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CCDA80D2-C56B-4BCA-8FE9-21907333A098}.Release|x86.Build.0 = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -12490,6 +12516,7 @@ Global
|
||||
{C88E2FA3-50DB-4B9D-B0B7-16A719A4199D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{A2F237DC-997D-4B64-BA17-4F5157E4976A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{CCDA80D2-C56B-4BCA-8FE9-21907333A098} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{15F9EE65-0B7F-49B6-91A7-5F606960AF4A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -104,6 +104,42 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.PossibleCustomers = CustomerService.GetAllAuthorizedCompactCustomers();
|
||||
Model.PossibleResources = KalenderService.GetAllResources();
|
||||
|
||||
if(Model.HasRightToInsertRessourceAppointments || Model.HasRightToViewAllResourceAppointments)
|
||||
{
|
||||
var allResources = KalenderService.GetAllResources().OrderBy(r => r.Name).ToList();
|
||||
|
||||
var categories2Resources = new Dictionary<ValueListEntryDC, List<ResourceDC>>();
|
||||
|
||||
foreach(var category in allResources.Select(resource => resource.ResourceCategory))
|
||||
{
|
||||
categories2Resources.AddOrUpdateValueInDictionary(category, allResources.Where(resource => resource.ResourceCategory.Equals(category)).OrderBy(r => r.Name).ToList());
|
||||
}
|
||||
|
||||
Model.ResourceCategories2Resources = categories2Resources.OrderBy(kvp => kvp.Key.DisplayName).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
|
||||
}
|
||||
|
||||
if(Model.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
|
||||
{
|
||||
var compactEmployee = EmployeeService.GetActiveCompactEmployeeWithOid(Model.LoggedInEmployee.EmployeeOid.Value);
|
||||
|
||||
Model.MyTeamEmployees = EmployeeService.GetAllTeamMember(compactEmployee).OrderBy(employee => employee.LastName).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
Model.MyTeamEmployees = new List<CompactEmployeeDC>();
|
||||
}
|
||||
|
||||
if(Model.HasRightToViewTeams && (Model?.LoggedInEmployee?.EmployeeOid.HasValue ?? false))
|
||||
{
|
||||
Model.MyTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(Model.LoggedInEmployee.EmployeeOid.Value).OrderBy(team => team.Name).ToList();
|
||||
}
|
||||
|
||||
Model.TeamMemberCustomerOids = EmployeeService.LoadTeamsRelatedCustomerOids(LoggedInUser.Employee.EmployeeOid);
|
||||
|
||||
Model.SelectedEmployeesForFiltering = Model.PossibleEmployees.Where(possibleEmployee => Model.SelectedEmployeeOidsForFiltering?.Contains(possibleEmployee.EmployeeOid) ?? false).ToList();
|
||||
Model.SelectedCustomersForFiltering = Model.PossibleCustomers.Where(possibleCustomer => Model.SelectedCustomerOidsForFiltering?.Contains(possibleCustomer.CustomerOid) ?? false).ToList();
|
||||
Model.SelectedResourcesForFiltering = Model.PossibleResources.Where(possibleResource => possibleResource.ResourceOid.HasValue && (Model.SelectedResourceOidsForFiltering?.Contains(possibleResource.ResourceOid.Value) ?? false)).ToList();
|
||||
|
||||
ReloadAppointments();
|
||||
}
|
||||
|
||||
@@ -114,6 +150,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
throw new Exception("Bei DevExpressSchedulerController.ReloadAppointments() ist die Oid des angemeldeten Benutzers wider Erwarten NULL!");
|
||||
}
|
||||
|
||||
UpdateSelectedObjects();
|
||||
|
||||
var employeeOid = Model.LoggedInEmployee.EmployeeOid.Value;
|
||||
|
||||
var user = LoggedInUser;
|
||||
@@ -130,15 +168,15 @@ namespace BeWoPlanerMobil.Controllers
|
||||
employeeOid,
|
||||
intervalStart,
|
||||
intervalEnd,
|
||||
new List<long>(),
|
||||
new List<long>(),
|
||||
new List<long>(),
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true
|
||||
Model.SelectedEmployeeOidsForFiltering,
|
||||
Model.SelectedCustomerOidsForFiltering,
|
||||
Model.SelectedResourceOidsForFiltering,
|
||||
Model.ShowOnlyEmployees,
|
||||
Model.ShowOnlyCustomers,
|
||||
Model.ShowOnlyResources,
|
||||
Model.ShowOnlyMyOwnAppointments,
|
||||
Model.ShowOnlyMyOwnAppointments,
|
||||
Model.ShowTasks
|
||||
);
|
||||
|
||||
var selectedCustomerOids = Model.PossibleCustomers.Select(s => s.CustomerOid).ToList();
|
||||
@@ -424,12 +462,35 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
var showMenuItem = false;
|
||||
|
||||
//var isTask = appointment.IsTask;
|
||||
//var isAbsenceTime = appointment.
|
||||
var isTask = appointment.IsTask;
|
||||
var isAbsenceTime = appointment.AbsenceReason != null;
|
||||
|
||||
if(isTask)
|
||||
{
|
||||
//showMenuItem =
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(showMenuItem);
|
||||
}
|
||||
|
||||
private void UpdateSelectedObjects()
|
||||
{
|
||||
var list = new List<ResourceDC>();
|
||||
Model.ResourceCategories2Resources.Values.DoForEach(l => l.DoForEach(s => list.AddIfNotIn(s)));
|
||||
|
||||
Model.SelectedEmployees = Model.PossibleEmployees.Where(employee => Model.SelectedEmployeeOids.Contains(employee.EmployeeOid)).ToList();
|
||||
Model.SelectedCustomers = Model.PossibleCustomers.Where(customer => Model.SelectedCustomerOids.Contains(customer.CustomerOid)).ToList();
|
||||
Model.SelectedResources = list.Where(resource => resource.ResourceOid.HasValue && Model.SelectedResourceOids.Contains(resource.ResourceOid.Value)).ToList();
|
||||
|
||||
Model.SelectedEmployeesForFiltering = Model.PossibleEmployees.Where(employee => Model.SelectedEmployeeOidsForFiltering.Contains(employee.EmployeeOid)).ToList();
|
||||
Model.SelectedCustomersForFiltering = Model.PossibleCustomers.Where(customer => Model.SelectedCustomerOidsForFiltering.Contains(customer.CustomerOid)).ToList();
|
||||
Model.SelectedResourcesForFiltering = list.Where(resource => resource.ResourceOid.HasValue && Model.SelectedResourceOidsForFiltering.Contains(resource.ResourceOid.Value)).ToList();
|
||||
|
||||
Model.SelectedEmployeesForIntervalFinder = Model.PossibleEmployees.Where(employee => Model.SelectedEmployeeOidsForIntervalFinder.Contains(employee.EmployeeOid)).ToList();
|
||||
Model.SelectedCustomersForIntervalFinder = Model.PossibleCustomers.Where(customer => Model.SelectedCustomerOidsForIntervalFinder.Contains(customer.CustomerOid)).ToList();
|
||||
Model.SelectedResourcesForIntervalFinder = list.Where(resource => resource.ResourceOid.HasValue && Model.SelectedResourceOidsForIntervalFinder.Contains(resource.ResourceOid.Value)).ToList();
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult CheckEmployeeAvailability(string startString, string endString)
|
||||
{
|
||||
@@ -446,29 +507,110 @@ namespace BeWoPlanerMobil.Controllers
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectAllEmployeesForFiltering()
|
||||
public ActionResult SelectAllEmployeesForFiltering(bool isChecked)
|
||||
{
|
||||
Model.SelectedEmployeesForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList();
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltEmployeePopupListPartial");
|
||||
}
|
||||
|
||||
Model.SelectedEmployeeOidsForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList();
|
||||
|
||||
return PartialView("AptFltEmployeePopupListPartial", Model);
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectAllCustomersForFiltering(bool isChecked)
|
||||
{
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltCustomerPopupListPartial");
|
||||
}
|
||||
|
||||
Model.SelectedCustomerOidsForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList();
|
||||
|
||||
return PartialView("AptFltCustomerPopupListPartial", Model);
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectAllResourcesForFiltering(bool isChecked)
|
||||
{
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltResourcePopupListPartial");
|
||||
}
|
||||
|
||||
Model.SelectedResourceOidsForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList();
|
||||
|
||||
return PartialView("AptFltResourcePopupListPartial");
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectTeamForAppointment(long teamOid)
|
||||
{
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltEmployeePopupListPartial");
|
||||
}
|
||||
|
||||
var selectedTeam = Model.MyTeams.FirstOrDefault(team => team.TeamOid.Equals(teamOid));
|
||||
|
||||
if(selectedTeam is null)
|
||||
{
|
||||
return PartialView("AptFltEmployeePopupListPartial");
|
||||
}
|
||||
|
||||
var fullTeamObj = EmployeeService.LoadTeam(teamOid);
|
||||
|
||||
Model.SelectedEmployeeOids.AddRangeIfElementsNotIn(fullTeamObj.Member.Select(member => member.EmployeeOid));
|
||||
|
||||
return PartialView("AptFltEmployeePopupListPartial");
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectAllCustomersForFiltering()
|
||||
public ActionResult UpdateEmployeeSelection(long[] selectedEmployeeOids)
|
||||
{
|
||||
Model.SelectedCustomersForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList();
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltEmployeePopupListPartial");
|
||||
}
|
||||
|
||||
return PartialView("AptFltCustomerPopupListPartial");
|
||||
var selectedEmployees = Model.PossibleEmployees.Where(possibleEmployee => selectedEmployeeOids.Contains(possibleEmployee.EmployeeOid)).ToList();
|
||||
|
||||
Model.SelectedEmployeeOidsForFiltering = selectedEmployees.Select(employee => employee.EmployeeOid).ToList();
|
||||
|
||||
return PartialView("AptFltEmployeePopupListPartial", Model);
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult SelectAllResourcesForFiltering()
|
||||
public ActionResult UpdateCustomerSelection(long[] selectedCustomerOids)
|
||||
{
|
||||
Model.SelectedResourcesForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList();
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltCustomerPopupListPartial");
|
||||
}
|
||||
|
||||
return PartialView("AptFltResourcePopupListPartial");
|
||||
var selectedCustomers = Model.PossibleCustomers.Where(possibleCustomer => selectedCustomerOids.Contains(possibleCustomer.CustomerOid)).ToList();
|
||||
|
||||
return PartialView("AptFltCustomerPopupListPartial", Model);
|
||||
}
|
||||
|
||||
|
||||
[Authorize]
|
||||
public ActionResult UpdateResourceSelection(long[] selectedResourceOids)
|
||||
{
|
||||
if(Model is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return PartialView("AptFltResourcePopupListPartial");
|
||||
}
|
||||
|
||||
return PartialView("AptFltResourcePopupListPartial", Model);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4925,7 +4925,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
[Authorize]
|
||||
public ActionResult ChangePassword(FormCollection formCollection)
|
||||
{
|
||||
if(Model is null || !MobileSessionFacade.IsUserLoggedIn() || LoggedInUser.UserVersion is null)
|
||||
if(Model is null || false == MobileSessionFacade.IsUserLoggedIn() || LoggedInUser.UserVersion is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return Logout();
|
||||
@@ -4946,13 +4946,13 @@ namespace BeWoPlanerMobil.Controllers
|
||||
{
|
||||
var checkResult = UserService.CheckPassword(LoggedInUser.UserOid.Value, oldPassword, newPassword);
|
||||
|
||||
if(!(checkResult is null))
|
||||
if(false == checkResult is null)
|
||||
{
|
||||
TempData[TempDataConstants.PwChErrKey] = checkResult;
|
||||
return RedirectToActionPermanent("Main");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var userName = LoggedInUser.LoginName;
|
||||
var userVersion = LoggedInUser.UserVersion.Value;
|
||||
|
||||
|
||||
@@ -28,28 +28,20 @@ namespace BeWoPlanerMobil.Controllers
|
||||
{
|
||||
get
|
||||
{
|
||||
if(!MobileSessionFacade.IsUserLoggedIn())
|
||||
if(false == MobileSessionFacade.IsUserLoggedIn())
|
||||
{
|
||||
RedirectToActionPermanent("Index", "Login");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (_Model == null)
|
||||
if(false == _Model is null)
|
||||
{
|
||||
_Model = new ReportModel { ReportCreator = GetReportCreator() };
|
||||
InitModel(_Model);
|
||||
InitViewModel();
|
||||
return _Model;
|
||||
}
|
||||
//if (((ReportModel) Session[ModelSessionConstants.ReportModelKey])?.LoggedInEmployee is null)
|
||||
//{
|
||||
// _Model = new ReportModel {ReportCreator = GetReportCreator()};
|
||||
// InitModel(_Model);
|
||||
// Session[ModelSessionConstants.ReportModelKey] = _Model;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// _Model = (ReportModel) Session[ModelSessionConstants.ReportModelKey];
|
||||
//}
|
||||
|
||||
_Model = new ReportModel { ReportCreator = GetReportCreator() };
|
||||
InitModel(_Model);
|
||||
InitViewModel();
|
||||
|
||||
return _Model;
|
||||
}
|
||||
@@ -93,29 +85,33 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.AllTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(LoggedInEmployee.EmployeeOid.Value);
|
||||
|
||||
Model.Dokutypes = ValueListService.GetAllValueListEntrysByType(ValueListEntryType.DocumentType);
|
||||
if (Model.Dokutypes != null)
|
||||
|
||||
if(false == Model.Dokutypes is null)
|
||||
{
|
||||
Model.Dokutypes = Model.Dokutypes.OrderBy(s => s.ValueListEntryOid).ToArray();
|
||||
}
|
||||
|
||||
if (Model.SelectedCustomerOid.HasValue)
|
||||
if(Model.SelectedCustomerOid.HasValue)
|
||||
{
|
||||
Model.SelectedCustomer = Model.Customers.FirstOrDefault(customer => customer.CustomerOid == Model.SelectedCustomerOid.Value);
|
||||
}
|
||||
|
||||
if (Model.SelectedEmployeeOid.HasValue)
|
||||
if(Model.SelectedEmployeeOid.HasValue)
|
||||
{
|
||||
Model.SelectedEmployee = Model.Employees.FirstOrDefault(employee => employee.EmployeeOid.Equals(Model.SelectedEmployeeOid.Value));
|
||||
}
|
||||
if (Model.SelectedTeamOid.HasValue)
|
||||
|
||||
if(Model.SelectedTeamOid.HasValue)
|
||||
{
|
||||
Model.SelectedTeam = Model.AllTeams.FirstOrDefault(team => team.TeamOid == Model.SelectedTeamOid.Value);
|
||||
}
|
||||
if (Model.SelectedOrganisationOid.HasValue)
|
||||
|
||||
if(Model.SelectedOrganisationOid.HasValue)
|
||||
{
|
||||
Model.SelectedOrganisation= Model.Organisations.FirstOrDefault(organisation => organisation.OrganisationOid.Equals(Model.SelectedOrganisationOid.Value));
|
||||
}
|
||||
if (Model.SelectedServiceCategoryOid.HasValue)
|
||||
|
||||
if(Model.SelectedServiceCategoryOid.HasValue)
|
||||
{
|
||||
Model.SelectedServiceCategory = Model.ServiceCategories.FirstOrDefault(serviceCategory => serviceCategory.ServiceCategoryOid == Model.SelectedServiceCategoryOid.Value);
|
||||
}
|
||||
@@ -137,12 +133,12 @@ namespace BeWoPlanerMobil.Controllers
|
||||
[Authorize]
|
||||
public ActionResult Report()
|
||||
{
|
||||
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||
if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||
{
|
||||
return Logout();
|
||||
}
|
||||
|
||||
if(!Model.HasRightToViewQuittierungsbelege)
|
||||
if(false == Model.HasRightToViewQuittierungsbelege)
|
||||
{
|
||||
return RedirectToActionPermanent("Main", "Main");
|
||||
}
|
||||
@@ -161,7 +157,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
return Logout();
|
||||
}
|
||||
|
||||
if(!Model.HasRightToViewQuittierungsbelege)
|
||||
if(false == Model.HasRightToViewQuittierungsbelege)
|
||||
{
|
||||
return RedirectToActionPermanent("Main", "Main");
|
||||
}
|
||||
@@ -171,8 +167,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
return Logout();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
@@ -1232,11 +1226,23 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.QbEntryPageCount = pageCount;
|
||||
Model.QbEntryCount = rowCount;
|
||||
|
||||
reportObjects = reportObjects.Where(x => x != null).ToList();
|
||||
reportObjects = reportObjects.Where(servicesOverview => false == servicesOverview is null).ToList();
|
||||
|
||||
var srOids = new List<long>();
|
||||
//var srOidsBillable = new List<long>();
|
||||
|
||||
reportObjects.DoForEach(x => x.Services.DoForEach(s => srOids.AddIfNotIn(s.ServiceRecordOid)));
|
||||
//reportObjects.DoForEach(servicesOverview => servicesOverview.Services.DoForEach(s => srOids.AddIfNotIn(s.ServiceRecordOid)));
|
||||
|
||||
foreach(var reportObject in reportObjects)
|
||||
{
|
||||
foreach(var serviceDetail in reportObject.Services)
|
||||
{
|
||||
if(serviceDetail.IsBillable)
|
||||
{
|
||||
srOids.AddIfNotIn(serviceDetail.ServiceRecordOid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Model.ConfirmationReceiptSignatures = OperationsService.LoadAllConfirmationReceiptSignaturesByServiceRecordOids(srOids, out var serviceRecordOidsWithSignature);
|
||||
|
||||
@@ -1246,12 +1252,14 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.ReportServiceRecordOids = new List<long>();
|
||||
reportObjects.DoForEach(ro => ro.Services.DoForEach(s =>
|
||||
{
|
||||
Model.ReportServiceRecordOids.AddIfNotIn(s.ServiceRecordOid);
|
||||
if(s.IsBillable)
|
||||
{
|
||||
Model.ReportServiceRecordOids.AddIfNotIn(s.ServiceRecordOid);
|
||||
}
|
||||
}));
|
||||
|
||||
var hasEmployeeSignature = srOids.All(a => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Employee, a));
|
||||
|
||||
var anyEmployeeSignatures = srOids.Any(a => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Employee, a));
|
||||
var hasEmployeeSignature = srOids.All(serviceRecordOid => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Employee, serviceRecordOid));
|
||||
var anyEmployeeSignatures = srOids.Any(serviceRecordOid => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Employee, serviceRecordOid));
|
||||
|
||||
var employeeSignatureState = SignatureState.None;
|
||||
|
||||
@@ -1265,7 +1273,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
employeeSignatureState = SignatureState.All;
|
||||
}
|
||||
|
||||
if(!Model.HasRightToProvideEmployeeSignatureForOthers)
|
||||
if(false == Model.HasRightToProvideEmployeeSignatureForOthers)
|
||||
{
|
||||
// Prüfen, ob alle eigenen ServiceRecords unterschrieben sind
|
||||
var ownServiceRecordOids = new List<long>();
|
||||
@@ -1296,20 +1304,26 @@ namespace BeWoPlanerMobil.Controllers
|
||||
reportObjects.DoForEach(reportObject =>
|
||||
{
|
||||
var quittierungsbelegItems = new List<QuittierungsbelegItem>();
|
||||
|
||||
bool fristAbgelaufen = false;
|
||||
var fristAbgelaufen = false;
|
||||
|
||||
reportObject.Services.DoForEach(serviceDetail =>
|
||||
{
|
||||
quittierungsbelegItems.Add(new QuittierungsbelegItem(serviceDetail));
|
||||
if (this.Model.MokSettings != null && this.Model.MokSettings.AnzTageUnterschriftErfolgt > 0)
|
||||
if(false == serviceDetail.IsBillable)
|
||||
{
|
||||
if (DateTime.Now.Date.Subtract(serviceDetail.StartDate).TotalDays > this.Model.MokSettings.AnzTageUnterschriftErfolgt)
|
||||
{
|
||||
fristAbgelaufen = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
quittierungsbelegItems.Add(new QuittierungsbelegItem(serviceDetail));
|
||||
|
||||
if(false == Model.MokSettings?.AnzTageUnterschriftErfolgt > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(DateTime.Now.Date.Subtract(serviceDetail.StartDate).TotalDays > Model.MokSettings.AnzTageUnterschriftErfolgt)
|
||||
{
|
||||
fristAbgelaufen = true;
|
||||
}
|
||||
});
|
||||
|
||||
if(quittierungsbelegItems.Count == 0)
|
||||
@@ -1319,11 +1333,11 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
var oids = quittierungsbelegItems.Select(s => s.ServiceRecordOid).ToList();
|
||||
|
||||
var hasCustomerSignature = oids.All(a => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Customer, a));
|
||||
var hasCustomerSignature = srOids.All(a => serviceRecordOidsWithSignature.ContainsValueAtKey(SignatureType.Customer, a));
|
||||
|
||||
var employeeSignatureState2 = GetSignatureState(oids, serviceRecordOidsWithSignature, SignatureType.Employee);
|
||||
var employeeSignatureState2 = GetSignatureState(srOids, serviceRecordOidsWithSignature, SignatureType.Employee);
|
||||
|
||||
var customerSignatureState = GetSignatureState(oids, serviceRecordOidsWithSignature, SignatureType.Customer);
|
||||
var customerSignatureState = GetSignatureState(srOids, serviceRecordOidsWithSignature, SignatureType.Customer);
|
||||
|
||||
var customerSignatureOid = hasCustomerSignature ? customerSignatures.FirstOrDefault(cs => cs.ServiceRecords.All(a => a.Customer.CustomerOid.Equals(reportObject.CustomerOid) && a.ServiceRecordOid.HasValue && serviceRecordOidsWithSignature[SignatureType.Customer].Contains(a.ServiceRecordOid.Value)))?.ConfirmationReceiptSignatureOid : null;
|
||||
var sigs = customerSignatures.Where(cs => cs.ServiceRecords.All(a => a.Customer.CustomerOid.Equals(reportObject.CustomerOid) && a.ServiceRecordOid.HasValue && serviceRecordOidsWithSignature[SignatureType.Customer].Contains(a.ServiceRecordOid.Value))).ToList();
|
||||
@@ -1350,6 +1364,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
var customerSignatureServiceRecordOids = new List<long>();
|
||||
var employeeSignatureServiceRecordOids = new List<long>();
|
||||
|
||||
if(serviceRecordOidsWithSignature.ContainsKey(SignatureType.Customer))
|
||||
{
|
||||
customerSignatureServiceRecordOids = serviceRecordOidsWithSignature[SignatureType.Customer];
|
||||
@@ -1360,7 +1375,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
employeeSignatureServiceRecordOids = serviceRecordOidsWithSignature[SignatureType.Employee];
|
||||
}
|
||||
|
||||
foreach (var quittierungsbelegItem in quittierungsbelegItems)
|
||||
foreach(var quittierungsbelegItem in quittierungsbelegItems)
|
||||
{
|
||||
var serviceRecordOid = quittierungsbelegItem.ServiceRecordOid;
|
||||
|
||||
@@ -1374,7 +1389,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
employeeOids.AddIfNotIn(serviceDetail.EmployeeOid);
|
||||
}
|
||||
|
||||
if(!Model.HasRightToProvideEmployeeSignatureForOthers)
|
||||
if(false == Model.HasRightToProvideEmployeeSignatureForOthers)
|
||||
{
|
||||
var serviceRecordOidsFromOtherEmployees = reportObject.Services.Where(serviceDetail => !serviceDetail.EmployeeOid.Equals(LoggedInEmployee.EmployeeOid)).Select(serviceDetail => serviceDetail.ServiceRecordOid).ToList();
|
||||
var ownServiceRecordOids = reportObject.Services.Where(serviceDetail => serviceDetail.EmployeeOid.Equals(LoggedInEmployee.EmployeeOid)).Select(serviceDetail => serviceDetail.ServiceRecordOid).ToList();
|
||||
|
||||
@@ -58,7 +58,12 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
private void InitViewModel()
|
||||
{
|
||||
if (Model.HasRightToInsertRessourceAppointments || Model.HasRightToViewAllResourceAppointments)
|
||||
if(Model is null)
|
||||
{
|
||||
throw new Exception("Das Model im SchedulerController ist wider Erwarten null!");
|
||||
}
|
||||
|
||||
if(Model.HasRightToInsertRessourceAppointments || Model.HasRightToViewAllResourceAppointments)
|
||||
{
|
||||
var allResources = KalenderService.GetAllResources().OrderBy(r => r.Name).ToList();
|
||||
|
||||
@@ -72,51 +77,46 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.ResourceCategories2Resources = categories2Resources.OrderBy(kvp => kvp.Key.DisplayName).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
|
||||
}
|
||||
|
||||
if (Model?.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
|
||||
if(Model.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
|
||||
{
|
||||
var compactEmployee = EmployeeService.GetActiveCompactEmployeeWithOid(Model.LoggedInEmployee.EmployeeOid.Value);
|
||||
|
||||
Model.MyTeamEmployees = EmployeeService.GetAllTeamMember(compactEmployee).OrderBy(employee => employee.LastName).ToList();
|
||||
}
|
||||
else if (!(Model is null))
|
||||
else
|
||||
{
|
||||
Model.MyTeamEmployees = new List<CompactEmployeeDC>();
|
||||
}
|
||||
|
||||
if (Model.HasRightToViewTeams && (Model?.LoggedInEmployee?.EmployeeOid.HasValue ?? false))
|
||||
if(Model.HasRightToViewTeams && (Model?.LoggedInEmployee?.EmployeeOid.HasValue ?? false))
|
||||
{
|
||||
Model.MyTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(Model.LoggedInEmployee.EmployeeOid.Value).OrderBy(team => team.Name).ToList();
|
||||
}
|
||||
|
||||
if (!(Model is null))
|
||||
{
|
||||
Model.TeamMemberCustomerOids = EmployeeService.LoadTeamsRelatedCustomerOids(LoggedInUser.Employee.EmployeeOid);
|
||||
}
|
||||
Model.TeamMemberCustomerOids = EmployeeService.LoadTeamsRelatedCustomerOids(LoggedInUser.Employee.EmployeeOid);
|
||||
|
||||
if (Model.HasRightToViewCustomerSelectionInScheduler)
|
||||
if(Model.HasRightToViewCustomerSelectionInScheduler)
|
||||
{
|
||||
Model.AllCustomers = CustomerService.GetAllActiveCompactCustomers().OrderBy(customer => customer.LastName).ToList();
|
||||
}
|
||||
|
||||
if (Model.HasRightToViewEmployeeAppointments)
|
||||
if(Model.HasRightToViewEmployeeAppointments)
|
||||
{
|
||||
Model.AllEmployees = EmployeeService.GetAllActiveEmployeesCompact().OrderBy(employee => employee.LastName).ToList();
|
||||
}
|
||||
|
||||
//LoadAppointmentsForDate();
|
||||
|
||||
if (Model.SelectedAppointmentOid.HasValue)
|
||||
if(Model.SelectedAppointmentOid.HasValue)
|
||||
{
|
||||
if (Model.Appointments == null)
|
||||
if(Model.Appointments is null)
|
||||
{
|
||||
LoadAppointmentsForDate();
|
||||
}
|
||||
Model.SelectedAppointment = Model.Appointments.FirstOrDefault(app => app.SchedulerAppointmentOid.HasValue && app.SchedulerAppointmentOid.Value == Model.SelectedAppointmentOid.Value);
|
||||
|
||||
Model.SelectedAppointment = Model.Appointments?.FirstOrDefault(app => app.SchedulerAppointmentOid.HasValue && app.SchedulerAppointmentOid.Value == Model.SelectedAppointmentOid.Value);
|
||||
}
|
||||
|
||||
SetHasResourcesEmployeesOrCustomers();
|
||||
UpdateSelectedObjects();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void UpdateSelectedObjects()
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace BeWoPlanerMobil.Models
|
||||
public List<ResourceDC> PossibleResources { get; set; }
|
||||
public List<CompactEmployeeDC> PossibleEmployees { get; set; }
|
||||
|
||||
#region Terminformular-Elemente
|
||||
public List<CompactCustomerDC> SelectedCustomers { get; set; }
|
||||
public List<ResourceDC> SelectedResources { get; set; }
|
||||
public List<CompactEmployeeDC> SelectedEmployees { get; set; }
|
||||
@@ -48,6 +49,7 @@ namespace BeWoPlanerMobil.Models
|
||||
get => DevExpressSchedulerSessionModel.SelectedResourceOids;
|
||||
set => DevExpressSchedulerSessionModel.SelectedResourceOids = value;
|
||||
}
|
||||
#endregion
|
||||
|
||||
public EmployeeAvailabilityObject EmployeeAvailabilityObject { get; set; }
|
||||
|
||||
@@ -67,22 +69,101 @@ namespace BeWoPlanerMobil.Models
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<long> SelectedEmployeesForFiltering
|
||||
public List<long> SelectedEmployeeOidsForFiltering
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedEmployeesForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedEmployeesForFiltering = value;
|
||||
get => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForFiltering = value;
|
||||
}
|
||||
|
||||
public List<long> SelectedCustomersForFiltering
|
||||
public List<long> SelectedCustomerOidsForFiltering
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedCustomersForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedCustomersForFiltering = value;
|
||||
get => DevExpressSchedulerSessionModel.SelectedCustomerOidsForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedCustomerOidsForFiltering = value;
|
||||
}
|
||||
|
||||
public List<long> SelectedResourcesForFiltering
|
||||
public List<long> SelectedResourceOidsForFiltering
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedResourcesForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedResourcesForFiltering = value;
|
||||
get => DevExpressSchedulerSessionModel.SelectedResourceOidsForFiltering;
|
||||
set => DevExpressSchedulerSessionModel.SelectedResourceOidsForFiltering = value;
|
||||
}
|
||||
|
||||
public List<CompactTeamDC> MyTeams { get; set; } = new List<CompactTeamDC>();
|
||||
public Dictionary<ValueListEntryDC, List<ResourceDC>> ResourceCategories2Resources { get; set; } = new Dictionary<ValueListEntryDC, List<ResourceDC>>();
|
||||
public List<CompactEmployeeDC> MyTeamEmployees { get; set; }
|
||||
public List<long> TeamMemberCustomerOids { get; set; }
|
||||
|
||||
public List<CompactEmployeeDC> SelectedEmployeesForFiltering { get; set; }
|
||||
public List<CompactCustomerDC> SelectedCustomersForFiltering { get; set; }
|
||||
public List<ResourceDC> SelectedResourcesForFiltering { get; set; }
|
||||
|
||||
public List<CompactEmployeeDC> SelectedEmployeesForIntervalFinder { get; set; }
|
||||
public List<CompactCustomerDC> SelectedCustomersForIntervalFinder { get; set; }
|
||||
public List<ResourceDC> SelectedResourcesForIntervalFinder { get; set; }
|
||||
|
||||
public List<long> SelectedEmployeeOidsForIntervalFinder
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder;
|
||||
set => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder = value;
|
||||
}
|
||||
|
||||
public List<long> SelectedCustomerOidsForIntervalFinder
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedCustomerOidsForIntervalFinder;
|
||||
set => DevExpressSchedulerSessionModel.SelectedCustomerOidsForIntervalFinder = value;
|
||||
}
|
||||
|
||||
public List<long> SelectedResourceOidsForIntervalFinder
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.SelectedResourceOidsForIntervalFinder;
|
||||
set => DevExpressSchedulerSessionModel.SelectedResourceOidsForIntervalFinder = value;
|
||||
}
|
||||
|
||||
public bool ShowTasks
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowTasks;
|
||||
set => DevExpressSchedulerSessionModel.ShowTasks = value;
|
||||
}
|
||||
|
||||
public bool ShowOnlyPrivateAppointments
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowOnlyPrivateAppointments;
|
||||
set => DevExpressSchedulerSessionModel.ShowOnlyPrivateAppointments = value;
|
||||
}
|
||||
|
||||
public bool ShowOnlyEmployees
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowOnlyEmployees;
|
||||
set => DevExpressSchedulerSessionModel.ShowOnlyEmployees = value;
|
||||
}
|
||||
|
||||
public bool ShowOnlyCustomers
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowOnlyCustomers;
|
||||
set => DevExpressSchedulerSessionModel.ShowOnlyCustomers = value;
|
||||
}
|
||||
|
||||
public bool ShowOnlyResources
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowOnlyResources;
|
||||
set => DevExpressSchedulerSessionModel.ShowOnlyResources = value;
|
||||
}
|
||||
|
||||
public bool ShowAbsenceTimes
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowAbsenceTimes;
|
||||
set => DevExpressSchedulerSessionModel.ShowAbsenceTimes = value;
|
||||
}
|
||||
|
||||
public bool ShowEmployeeColors
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowEmployeeColors;
|
||||
set => DevExpressSchedulerSessionModel.ShowEmployeeColors = value;
|
||||
}
|
||||
|
||||
public bool ShowOnlyMyOwnAppointments
|
||||
{
|
||||
get => DevExpressSchedulerSessionModel.ShowOnlyMyOwnAppointments;
|
||||
set => DevExpressSchedulerSessionModel.ShowOnlyMyOwnAppointments = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,20 +10,47 @@ namespace BeWoPlanerMobil.Models
|
||||
public List<long> SelectedResourceOids { get; set; }
|
||||
public SchedulerViewType CurrentSchedulerViewType { get; set; }
|
||||
|
||||
public List<long> SelectedEmployeesForFiltering { get; set; }
|
||||
public List<long> SelectedCustomersForFiltering { get; set; }
|
||||
public List<long> SelectedResourcesForFiltering { get; set; }
|
||||
public List<long> SelectedEmployeeOidsForFiltering { get; set; }
|
||||
public List<long> SelectedCustomerOidsForFiltering { get; set; }
|
||||
public List<long> SelectedResourceOidsForFiltering { get; set; }
|
||||
|
||||
public List<long> SelectedEmployeeOidsForIntervalFinder { get; set; }
|
||||
public List<long> SelectedCustomerOidsForIntervalFinder { get; set; }
|
||||
public List<long> SelectedResourceOidsForIntervalFinder { get; set; }
|
||||
|
||||
public bool ShowTasks { get; set; }
|
||||
public bool ShowOnlyPrivateAppointments { get; set; }
|
||||
public bool ShowOnlyEmployees { get; set; }
|
||||
public bool ShowOnlyCustomers { get; set; }
|
||||
public bool ShowOnlyResources { get; set; }
|
||||
public bool ShowAbsenceTimes { get; set; }
|
||||
public bool ShowEmployeeColors { get; set; }
|
||||
public bool ShowOnlyMyOwnAppointments { get; set; }
|
||||
|
||||
public override void ResetValues()
|
||||
{
|
||||
base.ResetValues();
|
||||
|
||||
SelectedCustomerOids = null;
|
||||
SelectedEmployeeOids = null;
|
||||
SelectedResourceOids = null;
|
||||
SelectedEmployeesForFiltering = null;
|
||||
SelectedCustomersForFiltering = null;
|
||||
SelectedResourcesForFiltering = null;
|
||||
SelectedCustomerOids = new List<long>();
|
||||
SelectedEmployeeOids = new List<long>();
|
||||
SelectedResourceOids = new List<long>();
|
||||
|
||||
SelectedEmployeeOidsForFiltering = new List<long>();
|
||||
SelectedCustomerOidsForFiltering = new List<long>();
|
||||
SelectedResourceOidsForFiltering = new List<long>();
|
||||
|
||||
SelectedEmployeeOidsForIntervalFinder = new List<long>();
|
||||
SelectedCustomerOidsForIntervalFinder = new List<long>();
|
||||
SelectedResourceOidsForIntervalFinder = new List<long>();
|
||||
|
||||
ShowTasks = false;
|
||||
ShowOnlyPrivateAppointments = false;
|
||||
ShowOnlyEmployees = false;
|
||||
ShowOnlyCustomers = false;
|
||||
ShowOnlyResources = false;
|
||||
ShowAbsenceTimes = false;
|
||||
ShowEmployeeColors = false;
|
||||
ShowOnlyMyOwnAppointments = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using BeWoPlanerMobil.Service;
|
||||
using BeWoPlanerMobil.Util;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
@@ -21,19 +20,21 @@ namespace BeWoPlanerMobil.Models
|
||||
SessionModel.ResetValues();
|
||||
}
|
||||
|
||||
public SchedulerSessionModel SchedulerSessionModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return SessionModel as SchedulerSessionModel;
|
||||
}
|
||||
}
|
||||
public SchedulerSessionModel SchedulerSessionModel => SessionModel as SchedulerSessionModel;
|
||||
|
||||
public List<long> TeamMemberCustomerOids { get; set; }
|
||||
|
||||
public DateTime SelectedDate { get { return SchedulerSessionModel.SelectedDate; } set { SchedulerSessionModel.SelectedDate = value; } }
|
||||
public DateTime SelectedDate
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedDate;
|
||||
set => SchedulerSessionModel.SelectedDate = value;
|
||||
}
|
||||
|
||||
public long? SelectedAppointmentOid { get { return SchedulerSessionModel.SelectedAppointmentOid; } set { SchedulerSessionModel.SelectedAppointmentOid = value; } }
|
||||
public long? SelectedAppointmentOid
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedAppointmentOid;
|
||||
set => SchedulerSessionModel.SelectedAppointmentOid = value;
|
||||
}
|
||||
|
||||
public SchedulerAppointmentDC SelectedAppointment { get; set; }
|
||||
|
||||
@@ -42,11 +43,11 @@ namespace BeWoPlanerMobil.Models
|
||||
|
||||
public List<AppointmentListItem> AppointmentListItems { get; set; }
|
||||
|
||||
public bool HasRightToEditAppointment(String identifier)
|
||||
public bool HasRightToEditAppointment(string identifier)
|
||||
{
|
||||
var appointment = AppointmentListItems.FirstOrDefault(app => app.Identifier.Equals(identifier))?.SchedulerAppointment; //Appointments.FirstOrDefault(app => app.SchedulerAppointmentOid.HasValue && app.SchedulerAppointmentOid.Value == appointmentOid);
|
||||
var appointment = AppointmentListItems.FirstOrDefault(app => app.Identifier.Equals(identifier))?.SchedulerAppointment;
|
||||
|
||||
return appointment != null && BS.Shared.Core.Utils.CheckSchedulerRights(appointment.CustomerList, appointment.ResourceList, appointment.EmployeeList, appointment.Originator, appointment.SchedulerAppointmentOid is null, SchedulerRightsCheckType.Edit, LoggedInUser, TeamMemberCustomerOids ?? new List<long>());
|
||||
return appointment != null && Utils.CheckSchedulerRights(appointment.CustomerList, appointment.ResourceList, appointment.EmployeeList, appointment.Originator, appointment.SchedulerAppointmentOid is null, SchedulerRightsCheckType.Edit, LoggedInUser, TeamMemberCustomerOids ?? new List<long>());
|
||||
}
|
||||
|
||||
public string DescriptionToEdit => SelectedAppointment?.Description ?? string.Empty;
|
||||
@@ -65,16 +66,20 @@ namespace BeWoPlanerMobil.Models
|
||||
{
|
||||
var allResources = new List<ResourceDC>();
|
||||
|
||||
foreach(var cat2res in ResourceCategories2Resources)
|
||||
foreach(var cat2Res in ResourceCategories2Resources)
|
||||
{
|
||||
allResources.AddRangeIfElementsNotIn(cat2res.Value);
|
||||
allResources.AddRangeIfElementsNotIn(cat2Res.Value);
|
||||
}
|
||||
|
||||
return allResources.OrderBy(resource => resource.Name).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
public List<long> SelectedResourceOids { get { return SchedulerSessionModel.SelectedResourceOids; } set { SchedulerSessionModel.SelectedResourceOids = value; } }
|
||||
public List<long> SelectedResourceOids
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedResourceOids;
|
||||
set => SchedulerSessionModel.SelectedResourceOids = value;
|
||||
}
|
||||
|
||||
public List<ResourceDC> SelectedResources { get; set; }
|
||||
|
||||
@@ -103,13 +108,21 @@ namespace BeWoPlanerMobil.Models
|
||||
|
||||
public List<CompactEmployeeDC> AllEmployees { get; set; } = new List<CompactEmployeeDC>();
|
||||
|
||||
public List<long> SelectedEmployeeOids { get { return SchedulerSessionModel.SelectedEmployeeOids; } set { SchedulerSessionModel.SelectedEmployeeOids = value; } }
|
||||
public List<long> SelectedEmployeeOids
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedEmployeeOids;
|
||||
set => SchedulerSessionModel.SelectedEmployeeOids = value;
|
||||
}
|
||||
|
||||
public List<CompactEmployeeDC> SelectedEmployees { get; set; }
|
||||
|
||||
public List<CompactCustomerDC> AllCustomers { get; set; } = new List<CompactCustomerDC>();
|
||||
|
||||
public List<long> SelectedCustomerOids { get { return SchedulerSessionModel.SelectedCustomerOids; } set { SchedulerSessionModel.SelectedCustomerOids = value; } }
|
||||
public List<long> SelectedCustomerOids
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedCustomerOids;
|
||||
set => SchedulerSessionModel.SelectedCustomerOids = value;
|
||||
}
|
||||
|
||||
public List<CompactCustomerDC> SelectedCustomers { get; set; } = new List<CompactCustomerDC>();
|
||||
|
||||
@@ -122,11 +135,25 @@ namespace BeWoPlanerMobil.Models
|
||||
public bool ShowCustomerButton => IsInEditMode ? HasRightToInsertCustomerAppointments : HasRightToEditCustomerAppointments;
|
||||
|
||||
//IntervalFinder
|
||||
public List<long> SelectedEmployeeOidsForIntervalFinder { get { return SchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder; } set { SchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder = value; } }
|
||||
public List<long> SelectedEmployeeOidsForIntervalFinder
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder;
|
||||
set => SchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder = value;
|
||||
}
|
||||
public List<CompactEmployeeDC> SelectedEmployeesForIntervalFinder { get; set; } = new List<CompactEmployeeDC>();
|
||||
public List<long> SelectedCustomerOidsForIntervalFinder { get { return SchedulerSessionModel.SelectedCustomerOidsForIntervalFinder; } set { SchedulerSessionModel.SelectedCustomerOidsForIntervalFinder = value; } }
|
||||
|
||||
public List<long> SelectedCustomerOidsForIntervalFinder
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedCustomerOidsForIntervalFinder;
|
||||
set => SchedulerSessionModel.SelectedCustomerOidsForIntervalFinder = value;
|
||||
}
|
||||
public List<CompactCustomerDC> SelectedCustomersForIntervalFinder { get; set; } = new List<CompactCustomerDC>();
|
||||
public List<long> SelectedResourceOidsForIntervalFinder { get { return SchedulerSessionModel.SelectedResourceOidsForIntervalFinder; } set { SchedulerSessionModel.SelectedResourceOidsForIntervalFinder = value; } }
|
||||
|
||||
public List<long> SelectedResourceOidsForIntervalFinder
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedResourceOidsForIntervalFinder;
|
||||
set => SchedulerSessionModel.SelectedResourceOidsForIntervalFinder = value;
|
||||
}
|
||||
public List<ResourceDC> SelectedResourcesForIntervalFinder { get; set; } = new List<ResourceDC>();
|
||||
|
||||
public Dictionary<DateTimeSpan, Dictionary<DateTime, bool>> FreeIntervals { get; set; } = new Dictionary<DateTimeSpan, Dictionary<DateTime, bool>>();
|
||||
@@ -149,38 +176,82 @@ namespace BeWoPlanerMobil.Models
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsInIntervalFinderMode { get { return SchedulerSessionModel.IsInIntervalFinderMode; } set { SchedulerSessionModel.IsInIntervalFinderMode = value; } }
|
||||
public DateTime? IntervalStartDate { get { return SchedulerSessionModel.IntervalStartDate; } set { SchedulerSessionModel.IntervalStartDate = value; } }
|
||||
public DateTime? IntervalEndDate { get { return SchedulerSessionModel.IntervalEndDate; } set { SchedulerSessionModel.IntervalEndDate = value; } }
|
||||
public bool IsInIntervalFinderMode
|
||||
{
|
||||
get => SchedulerSessionModel.IsInIntervalFinderMode;
|
||||
set => SchedulerSessionModel.IsInIntervalFinderMode = value;
|
||||
}
|
||||
|
||||
public DateTime? IntervalStartDate
|
||||
{
|
||||
get => SchedulerSessionModel.IntervalStartDate;
|
||||
set => SchedulerSessionModel.IntervalStartDate = value;
|
||||
}
|
||||
|
||||
public DateTime? IntervalEndDate
|
||||
{
|
||||
get => SchedulerSessionModel.IntervalEndDate;
|
||||
set => SchedulerSessionModel.IntervalEndDate = value;
|
||||
}
|
||||
|
||||
public string IntervalStartDateStr => IntervalStartDate.HasValue ? IntervalStartDate.Value.ToString("yyyy-MM-ddTHH:mm") : string.Empty;
|
||||
public string IntervalEndDateStr => IntervalEndDate.HasValue ? IntervalEndDate.Value.ToString("yyyy-MM-ddTHH:mm") : string.Empty;
|
||||
public string IntervalStartTimeStr => IntervalStartDate.HasValue ? $"{IntervalStartDate:HH:mm}" : string.Empty;
|
||||
public string IntervalEndTimeStr => IntervalEndDate.HasValue ? $"{IntervalEndDate:HH:mm}" : string.Empty;
|
||||
|
||||
public int? IntervalDuration { get { return SchedulerSessionModel.IntervalDuration; } set { SchedulerSessionModel.IntervalDuration = value; } }
|
||||
public int? IntervalDuration
|
||||
{
|
||||
get => SchedulerSessionModel.IntervalDuration;
|
||||
set => SchedulerSessionModel.IntervalDuration = value;
|
||||
}
|
||||
|
||||
public string IntervalDurationStr => IntervalDuration.HasValue ? $"{IntervalDuration}" : string.Empty;
|
||||
|
||||
[Display(Name = "Ganztägig")]
|
||||
public bool IsAllDay { get { return SchedulerSessionModel.IsAllDay; } set { SchedulerSessionModel.IsAllDay = value; } }
|
||||
|
||||
public bool IsAllDay
|
||||
{
|
||||
get => SchedulerSessionModel.IsAllDay;
|
||||
set => SchedulerSessionModel.IsAllDay = value;
|
||||
}
|
||||
|
||||
[Display(Name = "Privat")]
|
||||
public bool IsPrivate { get { return SchedulerSessionModel.IsPrivate; } set { SchedulerSessionModel.IsPrivate = value; } }
|
||||
public bool IsPrivate
|
||||
{
|
||||
get => SchedulerSessionModel.IsPrivate;
|
||||
set => SchedulerSessionModel.IsPrivate = value;
|
||||
}
|
||||
|
||||
|
||||
public List<CompactEmployeeDC> MyTeamEmployees { get; set; }
|
||||
|
||||
public List<long> SelectedResourceOidsForFiltering { get { return SchedulerSessionModel.SelectedResourceOidsForFiltering; } set { SchedulerSessionModel.SelectedResourceOidsForFiltering = value; } }
|
||||
public List<long> SelectedResourceOidsForFiltering
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedResourceOidsForFiltering;
|
||||
set => SchedulerSessionModel.SelectedResourceOidsForFiltering = value;
|
||||
}
|
||||
public List<ResourceDC> SelectedResourcesForFiltering { get; set; }
|
||||
public List<long> SelectedEmployeeOidsForFiltering { get { return SchedulerSessionModel.SelectedEmployeeOidsForFiltering; } set { SchedulerSessionModel.SelectedEmployeeOidsForFiltering = value; } }
|
||||
|
||||
public List<long> SelectedEmployeeOidsForFiltering
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedEmployeeOidsForFiltering;
|
||||
set => SchedulerSessionModel.SelectedEmployeeOidsForFiltering = value;
|
||||
}
|
||||
public List<CompactEmployeeDC> SelectedEmployeesForFiltering { get; set; }
|
||||
public List<long> SelectedCustomerOidsForFiltering { get { return SchedulerSessionModel.SelectedCustomerOidsForFiltering; } set { SchedulerSessionModel.SelectedCustomerOidsForFiltering = value; } }
|
||||
|
||||
public List<long> SelectedCustomerOidsForFiltering
|
||||
{
|
||||
get => SchedulerSessionModel.SelectedCustomerOidsForFiltering;
|
||||
set => SchedulerSessionModel.SelectedCustomerOidsForFiltering = value;
|
||||
}
|
||||
public List<CompactCustomerDC> SelectedCustomersForFiltering { get; set; }
|
||||
|
||||
public List<CompactTeamDC> MyTeams { get; set; } = new List<CompactTeamDC>();
|
||||
|
||||
public bool ShouldLoadTasks { get { return SchedulerSessionModel.ShouldLoadTasks; } set { SchedulerSessionModel.ShouldLoadTasks = value; } }
|
||||
public bool ShouldLoadTasks
|
||||
{
|
||||
get => SchedulerSessionModel.ShouldLoadTasks;
|
||||
set => SchedulerSessionModel.ShouldLoadTasks = value;
|
||||
}
|
||||
}
|
||||
|
||||
public class WeekViewObject
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
@using BeWoPlanerMobil.Util
|
||||
@using BS.Shared.Extensions
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
@foreach(var customer in Model.PossibleCustomers)
|
||||
{
|
||||
var checkedValue = Model.SelectedCustomersForFiltering.Contains(customer) ? "checked" : string.Empty;
|
||||
|
||||
</script>
|
||||
<div class="custom-control custom-checkbox customer-text">
|
||||
<input type="checkbox" class="custom-control-input" id="customer-@customer.CustomerOid-checkbox" @checkedValue onchange="window.changeCustomerListSelection()" />
|
||||
<label class="custom-control-label customer-name-label" for="customer-@customer.CustomerOid-checkbox">@customer.DetailDescription</label>
|
||||
</div>
|
||||
}
|
||||
@@ -1,7 +1,103 @@
|
||||
@using BeWoPlanerMobil.Util
|
||||
@using BS.Shared.Extensions
|
||||
@using BS.Shared.Extensions
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
function selectAllCustomersOnChange() {
|
||||
const isChecked = $("#all-customers-checkbox").prop("checked");
|
||||
|
||||
</script>
|
||||
$("#customer-input-container").load("@Url.Action("SelectAllCustomersForFiltering")", { isChecked: isChecked }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
|
||||
function customerListSearchOnChange() {
|
||||
var text = $("#customer-search-input").val().toLowerCase();
|
||||
|
||||
const entries = $(".customer-text");
|
||||
|
||||
if(text.length === 0) {
|
||||
entries.show();
|
||||
}
|
||||
|
||||
$.each(entries, function (index, item) {
|
||||
const customer = $(item);
|
||||
|
||||
if(customer.find(".customer-name-label").text().toLowerCase().includes(text)) {
|
||||
customer.show();
|
||||
} else {
|
||||
customer.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetCustomerSeach() {
|
||||
$("#customer-search-input").val("");
|
||||
$(".customer-text").show();
|
||||
}
|
||||
|
||||
function removeSelectedCustomer(customerOid) {
|
||||
const checkbox = $(`#customer-${customerOid}-checkbox`);
|
||||
|
||||
if(checkbox.length) {
|
||||
checkbox.prop("checked", false);
|
||||
}
|
||||
|
||||
changeCustomerListSelection();
|
||||
}
|
||||
|
||||
function changeCustomerListSelection() {
|
||||
const selectedCustomerOids = $("#customer-input-container input:checked").map(function () {return $(this).attr("id").split("-")[1];}).get();
|
||||
const allCustomersCount = $("#customer-input-container input[type=checkbox]").map(function () {return $(this).attr("id").split("-")[1];}).get();
|
||||
const selectedCustomersCount = selectedCustomerOids.length;
|
||||
|
||||
$("#all-customers-checkbox").prop("checked", (allCustomersCount === selectedCustomersCount));
|
||||
|
||||
$("#customer-input-container").load("@Url.Action("UpdateCustomerSelection")", { selectedCustomerOids: selectedCustomerOids }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="modal" tabindex="-1" role="dialog" id="customers-popup-apt-flt">
|
||||
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title text-center w-100 font-weight-bold">
|
||||
<span class="fas fa-user text-bewo-customers"></span>
|
||||
Klienten
|
||||
</h6>
|
||||
<button type="button" class="close" data-dismiss="modal" onclick="resetCustomerSeach()">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
@{
|
||||
var allCustomersCheckedVal = Model.PossibleCustomers.AreListEqual(Model.SelectedCustomers) ? "checked" : string.Empty;
|
||||
}
|
||||
|
||||
<div class="custom-control custom-checkbox custom-control-inline mx-auto">
|
||||
<input type="checkbox" class="custom-control-input" id="all-customers-checkbox" @allCustomersCheckedVal onchange="selectAllCustomersOnChange()" />
|
||||
<label class="custom-control-label" for="all-customers-checkbox">Alle</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control w-100" type="text" placeholder="Suchen..." oninput="customerListSearchOnChange()" id="customer-search-input" />
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="resetCustomerSeach()">
|
||||
<span class="fas fa-times-circle"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="customer-input-container">
|
||||
@Html.Partial("AptFltCustomerPopupListPartial", Model)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Übernehmen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,7 +1,11 @@
|
||||
@using BeWoPlanerMobil.Util
|
||||
@using BS.Shared.Extensions
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
@foreach(var employee in Model.PossibleEmployees)
|
||||
{
|
||||
var checkedValue = Model.SelectedEmployeesForFiltering.Contains(employee) ? "checked" : string.Empty;
|
||||
|
||||
</script>
|
||||
<div class="custom-control custom-checkbox employee-text">
|
||||
<input type="checkbox" class="custom-control-input" id="employee-@employee.EmployeeOid-checkbox" @checkedValue onchange="window.changeEmployeeListSelection()" />
|
||||
<label class="custom-control-label employee-name-label" for="employee-@employee.EmployeeOid-checkbox">@employee.DetailDescription</label>
|
||||
</div>
|
||||
}
|
||||
@@ -6,20 +6,7 @@
|
||||
function selectAllEmployeesOnChange() {
|
||||
const isChecked = $("#all-employees-checkbox").prop("checked");
|
||||
|
||||
$("#employee-input-container").load(
|
||||
"@Url.Action("SelectAllEmployees")",
|
||||
{
|
||||
isChecked: isChecked
|
||||
},
|
||||
() => {
|
||||
$("#selected-employees-list").load(
|
||||
"@Url.Action("LoadUpdatedEmployees")",
|
||||
() => {
|
||||
$("#one-day-scheduler-partial-container").load('@Url.Action("FetchAppointments", "Scheduler")');
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
$("#employee-input-container").load("@Url.Action("SelectAllEmployeesForFiltering")", { isChecked: isChecked }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
|
||||
function employeeListSearchOnChange() {
|
||||
@@ -45,5 +32,102 @@
|
||||
function resetEmployeeSearch() {
|
||||
$("#employee-search-input").val("");
|
||||
$(".employee-text").show();
|
||||
}
|
||||
|
||||
function selectTeamForAppointment(teamOid) {
|
||||
$("#employee-input-container").load("@Url.Action("SelectTeamForAppointment")", { teamOid: teamOid }, () => {
|
||||
scheduler.Refresh();
|
||||
});
|
||||
}
|
||||
|
||||
function removeSelectedEmployee(employeeOid) {
|
||||
const checkbox = $(`#employee-${employeeOid}-checkbox`);
|
||||
|
||||
if(checkbox.length) {
|
||||
checkbox.prop("checked", false);
|
||||
}
|
||||
|
||||
changeEmployeeListSelection();
|
||||
}
|
||||
|
||||
function changeEmployeeListSelection() {
|
||||
const selectedEmployeeOids = $("#employee-input-container input:checked").map(function() { return $(this).attr("id").split("-")[1]; }).get();
|
||||
const allEmployeesCount = $("#employee-input-container input[type=checkbox]").map(function () { return $(this).attr("id").split("-")[1]; }).get().length;
|
||||
const selectedEmployeesCount = selectedEmployeeOids.length;
|
||||
console.log(selectedEmployeeOids);
|
||||
$("#all-employees-checkbox").prop("checked", (allEmployeesCount === selectedEmployeesCount));
|
||||
|
||||
$("#employee-input-container").load("@Url.Action("UpdateEmployeeSelection", "DevExpressScheduler")", {selectedEmployeeOids: selectedEmployeeOids }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="modal" tabindex="-1" role="dialog" id="employees-popup-apt-flt">
|
||||
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title text-center w-100 font-weight-bold">
|
||||
<span class="fas fa-user text-bewo-employee"></span>
|
||||
Mitarbeiter
|
||||
</h6>
|
||||
<button type="button" class="close" data-dismiss="modal" onclick="resetEmployeeSearch()">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox custom-control-inline mx-auto">
|
||||
@{
|
||||
var allEmployeesCheckedVal = Model.PossibleEmployees.AreListEqual(Model.SelectedEmployees) ? "checked" : string.Empty;
|
||||
}
|
||||
|
||||
<input type="checkbox" class="custom-control-input" id="all-employees-checkbox" @allEmployeesCheckedVal onchange="selectAllEmployeesOnChange()" />
|
||||
<label class="custom-control-label" for="all-employees-checkbox">Alle</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control w-100" type="text" placeholder="Suchen..." oninput="employeeListSearchOnChange()" id="employee-search-input" />
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="resetEmployeeSearch()">
|
||||
<span class="fas fa-times-circle"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(Model.HasRightToViewTeams)
|
||||
{
|
||||
<div class="card w-100 mb-3">
|
||||
<div class="card-header" data-toggle="collapse" data-target="#collapsable-teams-selection">
|
||||
<div class="d-flex align-items-center">
|
||||
<h5 class="mr-auto">Meine Teams</h5>
|
||||
<div class="btn-group" role="group">
|
||||
<span class="fas fa-chevron-down text-primary"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "collapsable-teams-selection")" id="collapsable-teams-selection">
|
||||
<div class="card-body">
|
||||
@foreach(var team in Model.MyTeams)
|
||||
{
|
||||
<button type="button" class="btn btn-bewo-teams w-100 my-2" onclick="selectTeamForAppointment(@team.TeamOid)">@team.Name</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
}
|
||||
|
||||
<div id="employee-input-container">
|
||||
@Html.Partial("AptFltEmployeePopupListPartial")
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Übernehmen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,7 +1,29 @@
|
||||
@using BeWoPlanerMobil.Util
|
||||
@using BS.Shared.Extensions
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
@foreach(var category2Resources in Model.ResourceCategories2Resources)
|
||||
{
|
||||
<div class="card w-100 mb-3 category-card" id="resource-category-@category2Resources.Key.ValueListEntryOid">
|
||||
<div class="card-header tree-card-header" data-toggle="collapse" data-target="#collapsable-resource-category-@category2Resources.Key.ValueListEntryOid">
|
||||
<div class="d-flex align-items-center">
|
||||
<h5 class="mr-auto">@category2Resources.Key.DisplayName</h5>
|
||||
<div class="btn-group" role="group">
|
||||
<span class="fas fa-chevron-down text-primary"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, $"collapsable-resource-category-{category2Resources.Key.ValueListEntryOid}")" id="collapsable-resource-category-@category2Resources.Key.ValueListEntryOid">
|
||||
<div class="card-body resource-list">
|
||||
@foreach(var resource in category2Resources.Value)
|
||||
{
|
||||
var checkedValue = Model.SelectedResourcesForFiltering.Contains(resource) ? "checked" : string.Empty;
|
||||
|
||||
</script>
|
||||
<div class="custom-control custom-checkbox resource-text">
|
||||
<input type="checkbox" class="custom-control-input" id="resource-@resource.ResourceOid-checkbox" @checkedValue onchange="window.changeResourceListSelection()" />
|
||||
<label class="custom-control-label resource-name-label" for="resource-@resource.ResourceOid-checkbox">@resource.Name</label>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -3,5 +3,78 @@
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
function selectAllResourcesOnChange() {
|
||||
const isChecked = $("#all-resources-checkbox").prop("checked");
|
||||
|
||||
</script>
|
||||
$("#resource-input-container").load("@Url.Action("SelectAllResourcesForFiltering")", { isChecked: isChecked }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
|
||||
|
||||
|
||||
function removeSelectedResource(resourceOid) {
|
||||
const checkbox = $(`#resource-${resourceOid}-checkbox`);
|
||||
|
||||
if(checkbox.length) {
|
||||
checkbox.prop("checked", false);
|
||||
}
|
||||
|
||||
changeResourceListSelection();
|
||||
}
|
||||
|
||||
function changeResourceListSelection() {
|
||||
const selectedResourceOids = $("#resource-input-container input:checked").map(function() {return $(this).attr("id").split("-")[1];}).get();
|
||||
const allResourcesCount = $("#resource-input-container input[type=checkbox]").map(function () {return $(this).attr("id").split("-")[1];}).get().length;
|
||||
const selectedResourcesCount = selectedResourceOids.length;
|
||||
|
||||
$("#all-resources-checkbox").prop("checked", (allResourcesCount === selectedResourcesCount));
|
||||
|
||||
$("#resource-input-container").load("@Url.Action("UpdateResourceSelection")", { selectedResourceOids: selectedResourceOids }, () => { scheduler.Refresh(); });
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="modal" tabindex="-1" role="dialog" id="resources-popup-apt-flt">
|
||||
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title text-center w-100 font-weight-bold">
|
||||
<span class="fas fa-cubes text-bewo-resource"></span>
|
||||
Ressourcen
|
||||
</h6>
|
||||
<button type="button" class="close" data-dismiss="modal" onclick="resetTreeSearch('resource-search-input', 'resource-text', 'category-card')">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox custom-control-inline mx-auto">
|
||||
@{
|
||||
var allResourcesCheckedVal = Model.PossibleResources.AreListEqual(Model.SelectedResources) ? "checked" : string.Empty;
|
||||
}
|
||||
|
||||
<input type="checkbox" class="custom-control-input" id="all-resources-checkbox" @allResourcesCheckedVal onchange="selectAllResourcesOnChange()" />
|
||||
<label class="custom-control-label" for="all-resources-checkbox">Alle</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control w-100" type="text" placeholder="Suchen..." oninput="treeSearchOnChange('resource-search-input', 'resource-text', 'category-card', 'resource-name-label', 'resource-list')" id="resource-search-input" />
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="resetTreeSearch('resource-search-input', 'resource-text', 'category-card')">
|
||||
<span class="fas fa-times-circle"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="resource-input-container">
|
||||
@Html.Partial("AptFltResourcePopupListPartial")
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Übernehmen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -106,7 +106,7 @@
|
||||
const tmpDate = new Date();
|
||||
|
||||
const end = new Date(tmpDate.setTime(start.getTime() + duration));
|
||||
|
||||
|
||||
e.handled = true;
|
||||
|
||||
const startStr = getTimeStamp(start, false, false);
|
||||
@@ -133,57 +133,57 @@
|
||||
currentItem.SetVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-primary dropdown-toggle m-1" type="button" data-toggle="dropdown">
|
||||
Filtern
|
||||
</button>
|
||||
<button class="btn btn-primary dropdown-toggle m-1" type="button" data-toggle="dropdown">
|
||||
Filtern
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="only-my-own-appointments-cb2">
|
||||
<label class="form-check-label" for="only-my-own-appointments-cb2">Nur meine Termine</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="only-private-appointments-cb2">
|
||||
<label class="form-check-label" for="only-private-appointments-cb2">Nur private Termine</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="employee-colors-cb2">
|
||||
<label class="form-check-label" for="employee-colors-cb2">Mitarbeiterfarben</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="absence-times-cb2">
|
||||
<label class="form-check-label" for="absence-times-cb2">Abwesenheiten</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="tasks-cb2">
|
||||
<label class="form-check-label" for="tasks-cb2">Aufgaben</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="only-my-own-appointments-cb2">
|
||||
<label class="form-check-label" for="only-my-own-appointments-cb2">Nur meine Termine</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="only-private-appointments-cb2">
|
||||
<label class="form-check-label" for="only-private-appointments-cb2">Nur private Termine</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="employee-colors-cb2">
|
||||
<label class="form-check-label" for="employee-colors-cb2">Mitarbeiterfarben</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="absence-times-cb2">
|
||||
<label class="form-check-label" for="absence-times-cb2">Abwesenheiten</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="tasks-cb2">
|
||||
<label class="form-check-label" for="tasks-cb2">Aufgaben</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-item">
|
||||
<form class="form-inline">
|
||||
<div class="form-group form-check">
|
||||
@@ -209,27 +209,33 @@
|
||||
</form>
|
||||
</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="#" class="dropdown-item">
|
||||
<i class="fas fa-user text-bewo-employee"></i>
|
||||
Mitarbeiter
|
||||
<span class="badge badge-bewo-employee">0</span>
|
||||
<a href="#" class="dropdown-item" onclick="$('#employees-popup-apt-flt').modal('show')">
|
||||
<i class="fas fa-user text-bewo-employee"></i>
|
||||
Mitarbeiter
|
||||
<span class="badge badge-bewo-employee">0</span>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item" onclick="$('#customers-popup-apt-flt').modal('show')">
|
||||
<i class="fas fa-user text-bewo-customers"></i>
|
||||
Klienten
|
||||
<span class="badge badge-bewo-customers">0</span>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item">
|
||||
<i class="fas fa-user text-bewo-customers"></i>
|
||||
Klienten
|
||||
<span class="badge badge-bewo-customers">0</span>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item">
|
||||
<i class="fas fa-cubes text-bewo-resource"></i>
|
||||
Ressourcen
|
||||
<span class="badge badge-bewo-resource">0</span>
|
||||
<i class="fas fa-cubes text-bewo-resource" onclick="$('#resources-popup-apt-flt').modal('show')"></i>
|
||||
Ressourcen
|
||||
<span class="badge badge-bewo-resource">0</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@using(Html.BeginForm())
|
||||
{
|
||||
<div id="scheduler-container">
|
||||
@Html.Partial("SchedulerPagePartial", Model)
|
||||
</div>
|
||||
}
|
||||
<div id="scheduler-container">
|
||||
@Html.Partial("SchedulerPagePartial", Model)
|
||||
</div>
|
||||
}
|
||||
|
||||
@Html.Partial("AptFltEmployeesPartial")
|
||||
|
||||
@Html.Partial("AptFltCustomersPartial")
|
||||
|
||||
@Html.Partial("AptFltResourcesPartial")
|
||||
@@ -1,5 +1,5 @@
|
||||
UNA:+,? '
|
||||
UNB+UNOC:3+104027544+999999999+251230:1445+00244++BK05Q126KE1'
|
||||
UNB+UNOC:3+104027544+999999999+260313:1445+00245++BK05Q126KE2'
|
||||
UNH+00001+KOTR:02:001:KV'
|
||||
IDK+100820488+99+Brandenburgische BKK'
|
||||
VDT+20100101'
|
||||
@@ -1679,7 +1679,7 @@ VDT+20120401'
|
||||
FKT+01'
|
||||
VKG+01+109737010+5++++++00'
|
||||
NAM+01+Betriebskrankenkasse+mkk - meine Krankenkasse+Mitarbeiterkasse'
|
||||
ANS+1+10969+Berlin+Lindenstr. 67'
|
||||
ANS+1+10409+Prenzlauer Allee 96'
|
||||
UNT+000008+00102'
|
||||
UNH+00103+KOTR:02:001:KV'
|
||||
IDK+104220878+99+BKK Deutsche Bank AG/Ost'
|
||||
@@ -5082,7 +5082,7 @@ VDT+20120401'
|
||||
FKT+01'
|
||||
VKG+01+109723913+5++++++00'
|
||||
NAM+01+Betriebskrankenkasse+mkk - meine Krankenkasse+Mitarbeiterkasse'
|
||||
ANS+1+10969+Berlin+Lindenstr. 67'
|
||||
ANS+1+10409+Prenzlauer Allee 96'
|
||||
UNT+000008+00295'
|
||||
UNH+00296+KOTR:02:001:KV'
|
||||
IDK+109531045+99+BKK Salzgitter'
|
||||
@@ -5273,7 +5273,7 @@ VKG+09+661430035+5++29++++76'
|
||||
VKG+09+109723913+5++29++++90'
|
||||
VKG+09+109723913+5++29++++B1'
|
||||
NAM+01+Betriebskrankenkasse+mkk - meine Krankenkasse'
|
||||
ANS+1+10969+Berlin+Lindenstr. 67'
|
||||
ANS+1+10409+Prenzlauer Allee 96'
|
||||
UNT+000080+00303'
|
||||
UNH+00304+KOTR:02:001:KV'
|
||||
IDK+109737010+99+BKK mkk Ost (ehem. BKK VBU)'
|
||||
@@ -5353,7 +5353,7 @@ VKG+09+661430035+5++29++++76'
|
||||
VKG+09+109723913+5++29++++90'
|
||||
VKG+09+109723913+5++29++++B1'
|
||||
NAM+01+Betriebskrankenkasse+mkk - meine Krankenkasse'
|
||||
ANS+1+10969+Berlin+Lindenstr. 67'
|
||||
ANS+1+10409+Prenzlauer Allee 96'
|
||||
UNT+000080+00304'
|
||||
UNH+00305+KOTR:02:001:KV'
|
||||
IDK+109920514+99+BAHN-BKK RGS Bln 1'
|
||||
@@ -5966,4 +5966,4 @@ NAM+01+Betriebskrankenkasse+futur+Gesch.Ber.Neue Bundesl
|
||||
ANS+1+47803+Krefeld+Girmesgath 5'
|
||||
ANS+3+70426+Stuttgart'
|
||||
UNT+000009+00365'
|
||||
UNZ+000365+00244'
|
||||
UNZ+000365+00245'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
UNA:+,? '
|
||||
UNB+UNOC:3+109979990+999999999+251209:1744+00001++EK05Q126KE0'
|
||||
UNB+UNOC:3+109979990+999999999+260317:1853+00003++EK05Q126KE2'
|
||||
UNH+00001+KOTR:02:001:KV'
|
||||
IDK+100167999+99+DAK+78602'
|
||||
VDT+19951001'
|
||||
@@ -505,6 +505,7 @@ VKG+09+101576623+5++29++99++65'
|
||||
VKG+09+101576623+5++29++99++66'
|
||||
VKG+09+661430035+5++29++99++67'
|
||||
VKG+09+661430035+5++29++99++68'
|
||||
VKG+09+101576623+5++29++99++69'
|
||||
VKG+09+661430035+5++29++99++71'
|
||||
VKG+09+661430035+5++29++99++72'
|
||||
VKG+09+101576623+5++29++99++75'
|
||||
@@ -515,7 +516,7 @@ ANS+2+22236+Hamburg+Postfach 60 26 60'
|
||||
ANS+3+22291+Hamburg'
|
||||
ASP+01+0341/25920-37++INTER-FORUM AG+(Fachliche Betreuung)'
|
||||
ASP+02+0203/80950+0203/8095199+Abrechnungszentrum Duisburg+Fachliche Betreuung'
|
||||
UNT+000057+00050'
|
||||
UNT+000058+00050'
|
||||
UNH+00051+KOTR:02:001:KV'
|
||||
IDK+101576623+99+TECHNIKER KRANKENKASSE'
|
||||
VDT+19950701'
|
||||
@@ -2649,4 +2650,4 @@ DFU+02+016+++++ftam.syntela.de?:9000'
|
||||
UEM+5+00+I8'
|
||||
UEM+6+00+I8'
|
||||
UNT+000013+00261'
|
||||
UNZ+000261+00001'
|
||||
UNZ+000261+00003'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
UNA:+,? '
|
||||
UNB+UNOC:3+109900019+999999999+251017:1000+00034++IK05Q425KE0'
|
||||
UNB+UNOC:3+109900019+999999999+260205:1000+00035++IK05Q126KE0'
|
||||
UNH+00001+KOTR:02:001:KV'
|
||||
IDK+100202527+99+IKK Nord (vorm. IKK MV)+78301'
|
||||
VDT+19950801'
|
||||
@@ -775,7 +775,7 @@ VKG+09+103501080+5++28++++75'
|
||||
VKG+09+103501080+5++28++++90'
|
||||
VKG+09+661430035+5++28++++99'
|
||||
NAM+01+BIG direkt gesund (Haupt IK)'
|
||||
ANS+1+44137+Dortmund+Rheinische Str. 1'
|
||||
ANS+1+44263+Dortmund+Hörder-Bach-Allee 1-3'
|
||||
ANS+2+44006+Dortmund+Postfach 10 06 42'
|
||||
UNT+000033+00072'
|
||||
UNH+00073+KOTR:02:001:KV'
|
||||
@@ -808,7 +808,7 @@ VKG+09+103501080+5++28++++75'
|
||||
VKG+09+103501080+5++28++++90'
|
||||
VKG+09+661430035+5++28++++99'
|
||||
NAM+01+BIG direkt gesund'
|
||||
ANS+1+44137+Dortmund+Rheinische Str. 1'
|
||||
ANS+1+44263+Dortmund+Hörder-Bach-Allee 1-3'
|
||||
ANS+2+44006+Dortmund+Postfach 10 06 42'
|
||||
UNT+000033+00073'
|
||||
UNH+00074+KOTR:02:001:KV'
|
||||
@@ -2119,7 +2119,7 @@ VKG+03+109900019+5++07++++B1'
|
||||
VKG+09+109303301+5++28++++B1'
|
||||
VKG+09+109303301+5++29++++B1'
|
||||
NAM+01+IKK Südwest'
|
||||
ANS+1+66111+Saarbrücken+Berliner Promenade 1'
|
||||
ANS+1+66113+Saarbrücken+Europaallee 3-4'
|
||||
UNT+000082+00210'
|
||||
UNH+00211+KOTR:02:001:KV'
|
||||
IDK+109500253+99+IKK-LV Brandenburg und Berlin'
|
||||
@@ -2300,4 +2300,4 @@ NAM+01+IKK Classic+c/o DAVASO GmbH'
|
||||
ANS+1+04316+Leipzig+Sommerfelder Str. 120'
|
||||
ANS+2+04304+Leipzig+500761'
|
||||
UNT+000008+00227'
|
||||
UNZ+000227+00034'
|
||||
UNZ+000227+00035'
|
||||
|
||||
@@ -33,10 +33,9 @@ namespace ABCBetreuungenReports.Invoicing
|
||||
SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
|
||||
{
|
||||
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
|
||||
|
||||
if (!scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("alt"))
|
||||
string kostentraeger = scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower();
|
||||
if (!kostentraeger.Contains("alt"))
|
||||
{
|
||||
|
||||
var crp = scap.CostBearer2SupportConcept.CostBearer.CostRatePeriods;
|
||||
decimal minsProFLS = 60;
|
||||
if (crp != null && crp.Count > 0)
|
||||
@@ -46,25 +45,33 @@ namespace ABCBetreuungenReports.Invoicing
|
||||
}
|
||||
|
||||
// Klären, welche Kostenträger betroffen sind. (Funktion?)
|
||||
|
||||
decimal counter = 0;
|
||||
|
||||
Dictionary<decimal, decimal> preiseZuAnzahl = new Dictionary<decimal, decimal>();
|
||||
foreach (var sr in serviceRecordsInPeriod)
|
||||
{
|
||||
if (sr.ServiceDescription.Name.ToLower().Contains("behördengang") || sr.ServiceDescription.Name.ToLower().Contains("außentermin") || sr.ServiceDescription.Name.ToLower().Contains("wohnung"))
|
||||
{
|
||||
string preisbezeichnung = kostentraeger.Contains("kompensatorisch") ? "Kontaktpauschale kompensatorisch" : "Kontaktpauschale qualifiziert";
|
||||
var preis = GetPreis(preisbezeichnung, sr.Start.Value);
|
||||
|
||||
decimal unitcount = 1;
|
||||
// Bei Gruppenbuchungen muss die Pauschale durch die Teilnehmerzahl geteilt werden
|
||||
if (sr.GroupPersonCount.HasValue)
|
||||
counter = counter + (1m / Convert.ToDecimal(sr.GroupPersonCount.Value));
|
||||
else
|
||||
counter += 1;
|
||||
unitcount /= Convert.ToDecimal(sr.GroupPersonCount.Value);
|
||||
|
||||
if (preiseZuAnzahl.ContainsKey(preis))
|
||||
preiseZuAnzahl[preis] += unitcount;
|
||||
else
|
||||
preiseZuAnzahl.Add(preis, unitcount);
|
||||
}
|
||||
}
|
||||
|
||||
if (counter > 0)
|
||||
if (preiseZuAnzahl.Count > 0)
|
||||
{
|
||||
List<InvoiceItem> toAdd = new List<InvoiceItem>();
|
||||
toAdd.Add(CreateKontaktpauschalenItem(counter, invoicePeriod.StartDate, invoicePeriod.EndDate));
|
||||
list.AddRange(toAdd);
|
||||
foreach (var item in preiseZuAnzahl)
|
||||
{
|
||||
list.Add(CreateKontaktpauschalenItem(item.Value, item.Key, invoicePeriod.StartDate, invoicePeriod.EndDate));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,41 +98,20 @@ namespace ABCBetreuungenReports.Invoicing
|
||||
}
|
||||
}
|
||||
}
|
||||
// Klären, wie die InvoiceItems heißen sollen
|
||||
|
||||
// if (iServiceRecord != null)
|
||||
// {
|
||||
// var cat = iServiceRecord.ServiceDescription.CategoryName;
|
||||
// var desc = iServiceRecord.ServiceDescription.Name;
|
||||
|
||||
// if (cat == "Direkte Leistung")
|
||||
// {
|
||||
// invoiceItem.ItemDescription = "face-to-face";
|
||||
// invoiceItem.UnitDescription = "Fachleistungsstunde (FLS)";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// invoiceItem.ItemDescription = desc;
|
||||
// invoiceItem.UnitDescription = "Stunde";
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
|
||||
return invoiceItem;
|
||||
}
|
||||
|
||||
private InvoiceItem CreateKontaktpauschalenItem(decimal? unitCount, DateTime? itemPeriodStart, DateTime? itemPeriodEnd)
|
||||
private InvoiceItem CreateKontaktpauschalenItem(decimal unitCount, decimal preis, DateTime? itemPeriodStart, DateTime? itemPeriodEnd)
|
||||
{
|
||||
decimal pauschale = PauschalenHelper.GetPreis("Kontaktpauschale", itemPeriodStart.Value);
|
||||
|
||||
var ii = new InvoiceItem()
|
||||
{
|
||||
UnitCount = unitCount,
|
||||
ItemDescription = "Anfahrtspauschale",
|
||||
UnitDescription = "Pauschale pro direktem Kontakt",
|
||||
AmountPerUnit = pauschale,
|
||||
AmountTotal = pauschale * unitCount,
|
||||
GrossAmountTotal = pauschale * unitCount,
|
||||
AmountPerUnit = preis,
|
||||
AmountTotal = unitCount * preis,
|
||||
GrossAmountTotal = unitCount * preis,
|
||||
ItemPeriodStart = itemPeriodStart,
|
||||
ItemPeriodEnd = itemPeriodEnd,
|
||||
RateFactor = 0
|
||||
|
||||
@@ -104,50 +104,65 @@ namespace ABCBetreuungenReports.Invoicing
|
||||
private static InvoiceItemDC CreateKontaktpauschalenItem(AccountingPeriod accountingPeriod, string recipientOrganisation)
|
||||
{
|
||||
InvoiceItemDC invoiceItem = null;
|
||||
decimal unitCount = 0;
|
||||
|
||||
Dictionary<decimal, decimal> preiseZuAnzahl = new Dictionary<decimal, decimal>();
|
||||
|
||||
foreach (var sr in accountingPeriod.ServiceRecordsInPeriod)
|
||||
|
||||
foreach (var sr in accountingPeriod.ServiceRecordsInPeriod)
|
||||
{
|
||||
if (sr.ServiceDescription.Name.ToLower().Contains("behördengang") || sr.ServiceDescription.Name.ToLower().Contains("außentermin") || sr.ServiceDescription.Name.ToLower().Contains("wohnung"))
|
||||
{
|
||||
unitCount++;
|
||||
}
|
||||
string preisbezeichnung = recipientOrganisation.Contains("kompensatorisch") ? "Kontaktpauschale kompensatorisch" : "Kontaktpauschale qualifiziert";
|
||||
var preis = PauschalenHelper.GetPreis(preisbezeichnung, accountingPeriod.PeriodStart);
|
||||
|
||||
decimal unitcount = 1;
|
||||
// Bei Gruppenbuchungen muss die Pauschale durch die Teilnehmerzahl geteilt werden
|
||||
if (sr.GroupPersonCount.HasValue)
|
||||
unitcount /= Convert.ToDecimal(sr.GroupPersonCount.Value);
|
||||
|
||||
if (preiseZuAnzahl.ContainsKey(preis))
|
||||
preiseZuAnzahl[preis] += unitcount;
|
||||
else
|
||||
preiseZuAnzahl.Add(preis, unitcount);
|
||||
}
|
||||
}
|
||||
|
||||
if (unitCount > 0)
|
||||
if (preiseZuAnzahl.Count > 0)
|
||||
{
|
||||
//decimal pauschale = PauschalenHelper._FAHRTKOSTENPAUSCHALE;
|
||||
decimal pauschale = PauschalenHelper.GetPreis("Kontaktpauschale", accountingPeriod.PeriodStart);
|
||||
decimal rateFactor = accountingPeriod.RateFactor == 0 ? 1 : accountingPeriod.RateFactor;
|
||||
|
||||
if (accountingPeriod.RateFactor == 0)
|
||||
invoiceItem = new InvoiceItemDC()
|
||||
{
|
||||
UnitCount = unitCount,
|
||||
ItemDescription = "Kontaktpauschale",
|
||||
UnitDescription = "Pauschale pro direktem Kontakt",
|
||||
AmountPerUnit = pauschale,
|
||||
AmountTotal = pauschale * unitCount,
|
||||
GrossAmountTotal = pauschale * unitCount,
|
||||
ItemPeriodStart = accountingPeriod.PeriodStart,
|
||||
ItemPeriodEnd = accountingPeriod.PeriodEnd,
|
||||
RateFactor = 0,
|
||||
};
|
||||
else
|
||||
//decimal pauschale = PauschalenHelper._FAHRTKOSTENPAUSCHALE;
|
||||
foreach (var item in preiseZuAnzahl)
|
||||
{
|
||||
invoiceItem = new InvoiceItemDC()
|
||||
if (accountingPeriod.RateFactor == 0)
|
||||
{
|
||||
UnitCount = unitCount,
|
||||
ItemDescription = "Kontaktpauschale",
|
||||
UnitDescription = "Pauschale pro direktem Kontakt",
|
||||
AmountPerUnit = pauschale,
|
||||
AmountTotal = pauschale * unitCount * accountingPeriod.RateFactor,
|
||||
GrossAmountTotal = pauschale * unitCount * accountingPeriod.RateFactor,
|
||||
ItemPeriodStart = accountingPeriod.PeriodStart,
|
||||
ItemPeriodEnd = accountingPeriod.PeriodEnd,
|
||||
RateFactor = accountingPeriod.RateFactor
|
||||
};
|
||||
}
|
||||
invoiceItem = new InvoiceItemDC()
|
||||
{
|
||||
UnitCount = item.Value,
|
||||
ItemDescription = "Kontaktpauschale",
|
||||
UnitDescription = "Pauschale pro direktem Kontakt",
|
||||
AmountPerUnit = item.Key,
|
||||
AmountTotal = item.Value * item.Key,
|
||||
GrossAmountTotal = item.Value * item.Key,
|
||||
ItemPeriodStart = accountingPeriod.PeriodStart,
|
||||
ItemPeriodEnd = accountingPeriod.PeriodEnd,
|
||||
RateFactor = 0,
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
invoiceItem = new InvoiceItemDC()
|
||||
{
|
||||
UnitCount = item.Value,
|
||||
ItemDescription = "Kontaktpauschale",
|
||||
UnitDescription = "Pauschale pro direktem Kontakt",
|
||||
AmountPerUnit = item.Key,
|
||||
AmountTotal = item.Value * item.Key * accountingPeriod.RateFactor,
|
||||
GrossAmountTotal = item.Value * item.Key * accountingPeriod.RateFactor,
|
||||
ItemPeriodStart = accountingPeriod.PeriodStart,
|
||||
ItemPeriodEnd = accountingPeriod.PeriodEnd,
|
||||
RateFactor = accountingPeriod.RateFactor
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return invoiceItem;
|
||||
|
||||
@@ -148,7 +148,6 @@ namespace BeWoBoland
|
||||
this.xrLabel2.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.StylePriority.UseForeColor = false;
|
||||
this.xrLabel2.Text = "Soziotherapie Antje Boland";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
@@ -429,7 +428,7 @@ namespace BeWoBoland
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(319.8698F, 25.00006F);
|
||||
this.xrLabel4.StylePriority.UseBackColor = false;
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Rechnung Nr. [InvoiceNumer]\n";
|
||||
this.xrLabel4.Text = "Rechnung Nr. [InvoiceNumber]\n";
|
||||
this.xrLabel4.WordWrap = false;
|
||||
//
|
||||
// lblAdresse
|
||||
|
||||
@@ -58,6 +58,12 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Calculation\CustomCalculations.cs" />
|
||||
<Compile Include="Finanzauswertung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Finanzauswertung.designer.cs">
|
||||
<DependentUpon>Finanzauswertung.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Invoicing\BarbetragInvoiceCreation.cs" />
|
||||
@@ -89,6 +95,10 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Finanzauswertung.resx">
|
||||
<DependentUpon>Finanzauswertung.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
|
||||
182
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.cs
Normal file
182
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.cs
Normal file
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using DiakonischesWerkMuelheimTwg.Invoicing;
|
||||
using static BeWo.Report.ReportObjects.FinanceRO;
|
||||
|
||||
namespace BeWo.Report.DefaultReports
|
||||
{
|
||||
public partial class Finanzauswertung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<FinanceRO>
|
||||
{
|
||||
public Finanzauswertung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(FinanceRO pRO)
|
||||
{
|
||||
if (pRO.SupportConceptFinanceList != null)
|
||||
{
|
||||
foreach (var scRo in pRO.SupportConceptFinanceList)
|
||||
{
|
||||
if (scRo.Costbearer2Supportconcept != null)
|
||||
{
|
||||
CalculateBillableAmountInTimeSpan(scRo, pRO.ReportStartDate, pRO.ReportEndDate, false, "Finanzauswertung");
|
||||
}
|
||||
if (scRo.CustomerName.Contains("Test") || scRo.CustomerName.Contains("Kuck"))
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pRO.ReportStartDate.HasValue && pRO.ReportEndDate.HasValue)
|
||||
{
|
||||
DateTime start = pRO.ReportStartDate.Value;
|
||||
DateTime end = pRO.ReportEndDate.Value;
|
||||
|
||||
if (start.Year == end.Year && start.Month == end.Month && start.Day == 1 &&
|
||||
end.Day == DateTime.DaysInMonth(end.Year, end.Month))
|
||||
{
|
||||
lblTitel.Text = String.Format("Finanzauswertung {0:MMMM yyyy}", start);
|
||||
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:MMMM}", start);
|
||||
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:MMMM}", start);
|
||||
cellFehlkontakteHeader.Text = String.Format("Fehl-\nkontakte {0:MMMM}", start);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblTitel.Text = String.Format("Finanzauswertung {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
//cellFehlkontakteHeader.Text = String.Format("Fehl-\nkontakte {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
}
|
||||
if (pRO.RateFactor.HasValue)
|
||||
{
|
||||
cellRateFactorHeader.Text = String.Format("geleistete Std. x {0:0.##}", pRO.RateFactor);
|
||||
}
|
||||
else
|
||||
{
|
||||
//cellRateFactorHeader.Visible = false;
|
||||
//cellRateFactor.Visible = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellBewilligtImZeitraumHeader.Visible = false;
|
||||
cellBewilligteFLSImBereich.Visible = false;
|
||||
cellGeleistetImBereich.Visible = false;
|
||||
cellGeleistetImZeitraumHeader.Visible = false;
|
||||
cellRateFactorHeader.Visible = false;
|
||||
cellRateFactor.Visible = false;
|
||||
}
|
||||
|
||||
if (pRO.GruppierungLeistungskategorie && pRO.SupportConceptFinanceList != null)
|
||||
{
|
||||
GroupHeader1.Visible = true;
|
||||
GroupFooter1.Visible = true;
|
||||
foreach (var scRo in pRO.SupportConceptFinanceList)
|
||||
{
|
||||
if (String.IsNullOrEmpty(scRo.Leistungskategorie))
|
||||
{
|
||||
scRo.GruppierungsKategorie = " ";
|
||||
}
|
||||
else
|
||||
{
|
||||
scRo.GruppierungsKategorie = String.Format("Leistungskategorie {0}", scRo.Leistungskategorie);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
private void CalculateBillableAmountInTimeSpan(SupportConceptFinanceRO scRo, DateTime? start, DateTime? end, bool totalOrReportTimeSpan, String invoiceCreatorId)
|
||||
{
|
||||
if (scRo.CustomerName.Contains("Test") || scRo.CustomerName.Contains("Kuck"))
|
||||
{
|
||||
|
||||
}
|
||||
String tenant = null;
|
||||
|
||||
if (MultitenancyOperationContextExt.Current != null)
|
||||
tenant = MultitenancyOperationContextExt.Current.Tenant;
|
||||
else
|
||||
tenant = SessionFacade.Tenant;
|
||||
|
||||
var factory = new CustomInvoiceFactory();
|
||||
|
||||
Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> dict = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
|
||||
|
||||
CompactSupportConceptDC sc = CreateCompactSupportConcept(scRo.Costbearer2Supportconcept);
|
||||
if (scRo.ServiceRecords != null)
|
||||
{
|
||||
foreach (var sr in scRo.ServiceRecords)
|
||||
{
|
||||
sr.AlreadyAccounted = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
scRo.ServiceRecords = new List<ServiceRecordDC>();
|
||||
}
|
||||
|
||||
dict.Add(sc, scRo.ServiceRecords);
|
||||
|
||||
var creator = factory.CreateInvoiceCreator(invoiceCreatorId, tenant, dict);
|
||||
|
||||
//String text = String.Format("Tenant={0}, Context=Null? {1}, Factory = {2}", tenant,
|
||||
// MultitenancyOperationContextExt.Current == null, factory);
|
||||
|
||||
DateTimeSpan span = null;
|
||||
if (start.HasValue && end.HasValue)
|
||||
{
|
||||
span = new DateTimeSpan();
|
||||
span.StartDate = start.Value;
|
||||
span.EndDate = end.Value;
|
||||
}
|
||||
|
||||
|
||||
var invoices = creator.GenerateServiceInvoices(scRo.Costbearer2Supportconcept.CostBearer.CostBearerOid.Value, span, dict);
|
||||
|
||||
if (invoices != null && invoices.Count == 1)
|
||||
{
|
||||
//var i = invoices[0];
|
||||
if (totalOrReportTimeSpan)
|
||||
{
|
||||
scRo.BillableAmountUntilNow = invoices[0].ClaimSum ?? 0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scRo.BillableAmountInReportTimeSpan = invoices[0].ClaimSum ?? 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
decimal summe = 0;
|
||||
|
||||
foreach (var inv in invoices)
|
||||
summe += inv.ClaimSum ?? 0;
|
||||
|
||||
if (totalOrReportTimeSpan)
|
||||
scRo.BillableAmountUntilNow = summe;
|
||||
else
|
||||
scRo.BillableAmountInReportTimeSpan = summe;
|
||||
}
|
||||
}
|
||||
private CompactSupportConceptDC CreateCompactSupportConcept(SupportConceptCostBearerRelDC c2s)
|
||||
{
|
||||
var dc = new CompactSupportConceptDC();
|
||||
dc.SupportConceptOid = c2s.SupportConcept.SupportConceptOid;
|
||||
dc.CostBearerRelOids = new List<long>();
|
||||
dc.CostBearerRelOids.Add(c2s.CostBearer2SupportConceptOid.Value);
|
||||
//dc.IsApproved = c2s.ApprovedStartDate.HasValue && c2s.ApprovedEndDate.HasValue;
|
||||
dc.IsApproved = true;
|
||||
return dc;
|
||||
}
|
||||
}
|
||||
}
|
||||
1141
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.designer.cs
generated
Normal file
1141
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
120
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.resx
Normal file
120
ReportImp/DiakonischesWerkMuelheimTwg/Finanzauswertung.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,21 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Plugins;
|
||||
|
||||
namespace KcmGmbHSozio.Calculations
|
||||
{
|
||||
public class CustomGroupDurationCalculator : GroupDurationCalculator
|
||||
{
|
||||
public override void CalculateGroupDuration(ServiceRecordGroup group)
|
||||
{
|
||||
base.CalculateGroupDuration(group);
|
||||
|
||||
foreach (var sr in group.ServiceRecordList)
|
||||
{
|
||||
if (sr.ServiceDescription.ServiceCategory.Name.ToLower().Contains("soziotherapie"))
|
||||
{
|
||||
sr.RoundedDuration = sr.GroupRoundedDuration.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
31
ReportImp/KcmGmbHSozio/Invoicing/CustomInvoiceFactory.cs
Normal file
31
ReportImp/KcmGmbHSozio/Invoicing/CustomInvoiceFactory.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace KcmGmbHSozio.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
foreach (var list in supportConcepts2ServiceRecords.Values)
|
||||
{
|
||||
foreach (var sr in list)
|
||||
{
|
||||
var cat = sr.ServiceDescription.Category;
|
||||
|
||||
if (sr.CostBearer != null && !sr.CostBearer.Name.Contains("LWL") && !sr.CostBearer.Name.Contains("LVR") &&
|
||||
!String.IsNullOrEmpty(cat.Name) && cat.Name.ToLower().Contains("soziotherapie"))
|
||||
{
|
||||
return new SoziotherapieInvoiceCreation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
|
||||
}
|
||||
}
|
||||
}
|
||||
109
ReportImp/KcmGmbHSozio/KcmGmbHSozio.csproj
Normal file
109
ReportImp/KcmGmbHSozio/KcmGmbHSozio.csproj
Normal file
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{15F9EE65-0B7F-49B6-91A7-5F606960AF4A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>KcmGmbHSozio</RootNamespace>
|
||||
<AssemblyName>2297357838_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\CustomerDlls\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\CustomerDlls\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Calculations\CustomGroupDurationCalculator.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="LeistungsnachweisSoziotherapie.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="LeistungsnachweisSoziotherapie.designer.cs">
|
||||
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Reporting\CustomReportCreator.cs" />
|
||||
<Compile Include="SoziotherapieRechnung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SoziotherapieRechnung.Designer.cs">
|
||||
<DependentUpon>SoziotherapieRechnung.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="LeistungsnachweisSoziotherapie.resx">
|
||||
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="SoziotherapieRechnung.resx">
|
||||
<DependentUpon>SoziotherapieRechnung.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
170
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.cs
Normal file
170
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.cs
Normal file
@@ -0,0 +1,170 @@
|
||||
using System;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.IO;
|
||||
using DevExpress.XtraPrinting.Drawing;
|
||||
|
||||
namespace KcmGmbHSozio
|
||||
{
|
||||
|
||||
public partial class LeistungsnachweisSoziotherapie : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public LeistungsnachweisSoziotherapie()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
if (pRO.Mandator.Logo?.Original is object)
|
||||
xrPictureBox3.ImageSource = new ImageSource(false, pRO.Mandator.Logo.Original);
|
||||
|
||||
double gesamt = 0;
|
||||
double gesamtGruppe = 0;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(s);
|
||||
|
||||
var serviceRecord = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(s.ServiceRecordOid);
|
||||
pRO.ReferenceNumber = serviceRecord.CostBearer2SupportConcept.CustomerReferenceNumber;
|
||||
if (serviceRecord.CostBearer2SupportConcept.ApprovedStartDate != null)
|
||||
pRO.ApprovedStartDate = String.Format("{0:dd.MM.yyyy}", serviceRecord.CostBearer2SupportConcept.ApprovedStartDate);
|
||||
if (serviceRecord.CostBearer2SupportConcept.ApprovedEndDate != null)
|
||||
pRO.ApprovedEndDate = String.Format("{0:dd.MM.yyyy}", serviceRecord.CostBearer2SupportConcept.ApprovedEndDate);
|
||||
var srDc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(serviceRecord);
|
||||
|
||||
s.GoalList = String.Empty;
|
||||
if (srDc.Goals != null && srDc.Goals.Count > 0)
|
||||
{
|
||||
foreach (var goal in srDc.Goals)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(goal.Abbreviation))
|
||||
{
|
||||
if (s.GoalList.Length > 0)
|
||||
s.GoalList += ", ";
|
||||
s.GoalList += goal.Abbreviation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (s.ServiceDescription.Contains("Gruppe"))
|
||||
{
|
||||
s.IsGroup = true;
|
||||
gesamtGruppe += s.Minutes;
|
||||
s.ServiceDescription = "E";
|
||||
if (s.Minutes <= 45)
|
||||
s.Notice5 = "2002678";
|
||||
else if (s.Minutes <= 60)
|
||||
s.Notice5 = "2002677";
|
||||
else
|
||||
s.Notice5 = "2002672";
|
||||
}
|
||||
else
|
||||
{
|
||||
gesamt += s.Minutes;
|
||||
}
|
||||
|
||||
if (s.ServiceDescription.Contains("Video"))
|
||||
{
|
||||
s.ServiceDescription = "V";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001615";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001616";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Telefon"))
|
||||
{
|
||||
s.ServiceDescription = "T";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001618";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001617";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Aufsuchende Prob"))
|
||||
{
|
||||
s.ServiceDescription = "A";
|
||||
s.Notice5 = "2001607";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (s.ServiceDescription.Contains("Büro"))
|
||||
{
|
||||
s.ServiceDescription = "E";
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Aufsuchend"))
|
||||
{
|
||||
s.ServiceDescription = "A";
|
||||
}
|
||||
|
||||
if (s.Minutes <= 10)
|
||||
{
|
||||
s.Notice5 = "2001613";
|
||||
}
|
||||
else if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001612";
|
||||
}
|
||||
else if (s.Minutes <= 45)
|
||||
{
|
||||
s.Notice5 = "2001611";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001610";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cellGesamt.Text = String.Format("{0:0.00}", gesamt / 60);
|
||||
if (gesamtGruppe > 0)
|
||||
{
|
||||
cellGesamtGruppe.Text = String.Format("{0:0.00}", gesamtGruppe / 90);
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
XRPictureBox xrBox = sender as XRPictureBox;
|
||||
string base64String = xrBox.Tag as string;
|
||||
if (!String.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binData = Convert.FromBase64String(base64Data);
|
||||
System.Drawing.Image img = ByteArrayToImage(binData);
|
||||
xrBox.Image = Utils.CropImage(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
xrBox.Image = null;
|
||||
}
|
||||
}
|
||||
|
||||
public System.Drawing.Image ByteArrayToImage(byte[] byteArrayIn)
|
||||
{
|
||||
using (var memoryStream = new MemoryStream(byteArrayIn))
|
||||
{
|
||||
return System.Drawing.Image.FromStream(memoryStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1044
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.designer.cs
generated
Normal file
1044
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
120
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.resx
Normal file
120
ReportImp/KcmGmbHSozio/LeistungsnachweisSoziotherapie.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
36
ReportImp/KcmGmbHSozio/Properties/AssemblyInfo.cs
Normal file
36
ReportImp/KcmGmbHSozio/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("KcmGmbHSozio")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("KcmGmbHSozio")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2026")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
1
ReportImp/KcmGmbHSozio/Properties/licenses.licx
Normal file
1
ReportImp/KcmGmbHSozio/Properties/licenses.licx
Normal file
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
144
ReportImp/KcmGmbHSozio/Reporting/CustomReportCreator.cs
Normal file
144
ReportImp/KcmGmbHSozio/Reporting/CustomReportCreator.cs
Normal file
@@ -0,0 +1,144 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace KcmGmbHSozio.Reporting
|
||||
{
|
||||
public class CustomReportCreator : DefaultReportCreator
|
||||
{
|
||||
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
if (lROs.Count > 0)
|
||||
{
|
||||
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
|
||||
if (rootReport.Pages.Count == 0)
|
||||
{
|
||||
rootReport.CreateDocument();
|
||||
}
|
||||
|
||||
for (int i = 1; i < lROs.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
|
||||
if (lNext.Pages.Count == 0)
|
||||
{
|
||||
lNext.CreateDocument();
|
||||
}
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
return rootReport;
|
||||
}
|
||||
return new XtraReport();
|
||||
}
|
||||
|
||||
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
|
||||
}
|
||||
|
||||
public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
|
||||
{
|
||||
var roList = new List<ServicesOverviewRO>();
|
||||
|
||||
foreach (var coid in customerOids)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
|
||||
if (ro != null)
|
||||
{
|
||||
roList.Add(ro);
|
||||
}
|
||||
}
|
||||
|
||||
if (roList.Count > 0)
|
||||
{
|
||||
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
|
||||
rootReport.CreateDocument();
|
||||
for (int i = 1; i < roList.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
|
||||
lNext.CreateDocument();
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
|
||||
return rootReport;
|
||||
}
|
||||
|
||||
return new XtraReport();
|
||||
}
|
||||
|
||||
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
|
||||
{
|
||||
ServicesOverviewRO defaultRo = ServicesOverviewRO.CopyFromRO(ro);
|
||||
ServicesOverviewRO sozioRo = ServicesOverviewRO.CopyFromRO(ro);
|
||||
|
||||
if (ro.Services != null)
|
||||
{
|
||||
foreach (ServicesOverviewRO.ServiceDetail s in ro.Services)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(s);
|
||||
|
||||
if (s.ServiceCategory.ToLower().Contains("sozio"))
|
||||
{
|
||||
sozioRo.Services.Add(s);
|
||||
}
|
||||
else
|
||||
{
|
||||
defaultRo.Services.Add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XtraReport report = null;
|
||||
report = AddReportToReport<BeWo.Report.DefaultReports.Quittierungsbeleg>(report, defaultRo);
|
||||
report = AddReportToReport<LeistungsnachweisSoziotherapie>(report, sozioRo);
|
||||
|
||||
if (report == null)
|
||||
report = new XtraReport();
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, string reportId)
|
||||
{
|
||||
return CreateServicesOverviewReportForRo(ro, null);
|
||||
}
|
||||
|
||||
private XtraReport AddReportToReport<T>(XtraReport report, ServicesOverviewRO ro) where T : XtraReport, IBeWoReport<ServicesOverviewRO>, new()
|
||||
{
|
||||
if (ro.Services.Count > 0)
|
||||
{
|
||||
if (report == null)
|
||||
{
|
||||
report = new T();
|
||||
((T)report).SetReportDataSource(ro);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (report.Pages.Count == 0)
|
||||
{
|
||||
report.CreateDocument();
|
||||
}
|
||||
|
||||
XtraReport newReport = new T();
|
||||
((T)newReport).SetReportDataSource(ro);
|
||||
|
||||
newReport.CreateDocument();
|
||||
report.Pages.AddRange(newReport.Pages);
|
||||
}
|
||||
}
|
||||
return report;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
921
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.Designer.cs
generated
Normal file
921
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.Designer.cs
generated
Normal file
@@ -0,0 +1,921 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace KcmGmbHSozio
|
||||
{
|
||||
partial class SoziotherapieRechnung
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SoziotherapieRechnung));
|
||||
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 0F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 200.625F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.Font = new DevExpress.Drawing.DXFont("Arial", 7F);
|
||||
this.bottomMarginBand1.HeightF = 97.29169F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
this.bottomMarginBand1.StylePriority.UseFont = false;
|
||||
//
|
||||
// Page1
|
||||
//
|
||||
this.Page1.BorderWidth = 2F;
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrRichText1,
|
||||
this.xrTable2,
|
||||
this.xrLabel6,
|
||||
this.xrLabel7,
|
||||
this.xrLabel4,
|
||||
this.lblAdresse});
|
||||
this.Page1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
|
||||
this.Page1.HeightF = 396.0767F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseBorderWidth = false;
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText1
|
||||
//
|
||||
this.xrRichText1.Font = new DevExpress.Drawing.DXFont("Calibri", 8.5F);
|
||||
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrRichText1.Name = "xrRichText1";
|
||||
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
|
||||
this.xrRichText1.SizeF = new System.Drawing.SizeF(317.0001F, 18F);
|
||||
this.xrRichText1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTable2
|
||||
//
|
||||
this.xrTable2.Font = new DevExpress.Drawing.DXFont("Calibri", 9F);
|
||||
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(366.9999F, 177.8851F);
|
||||
this.xrTable2.Name = "xrTable2";
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow4,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow5});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(283.7153F, 75F);
|
||||
this.xrTable2.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow4
|
||||
//
|
||||
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell16,
|
||||
this.xrTableCell17});
|
||||
this.xrTableRow4.Name = "xrTableRow4";
|
||||
this.xrTableRow4.Weight = 1D;
|
||||
//
|
||||
// xrTableCell16
|
||||
//
|
||||
this.xrTableCell16.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell16.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell16.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
|
||||
this.xrTableCell16.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell16.Name = "xrTableCell16";
|
||||
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell16.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell16.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell16.StylePriority.UseBorders = false;
|
||||
this.xrTableCell16.StylePriority.UseFont = false;
|
||||
this.xrTableCell16.StylePriority.UsePadding = false;
|
||||
this.xrTableCell16.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell16.Text = "Rechnungsnummer";
|
||||
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell16.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell17
|
||||
//
|
||||
this.xrTableCell17.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell17.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
|
||||
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
|
||||
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell17.Name = "xrTableCell17";
|
||||
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell17.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell17.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell17.StylePriority.UseBorders = false;
|
||||
this.xrTableCell17.StylePriority.UseFont = false;
|
||||
this.xrTableCell17.StylePriority.UsePadding = false;
|
||||
this.xrTableCell17.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell17.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell12,
|
||||
this.xrTableCell13});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 1D;
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell12.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell12.Borders = DevExpress.XtraPrinting.BorderSide.Left;
|
||||
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell12.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell12.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell12.StylePriority.UseBorders = false;
|
||||
this.xrTableCell12.StylePriority.UseFont = false;
|
||||
this.xrTableCell12.StylePriority.UsePadding = false;
|
||||
this.xrTableCell12.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell12.Text = "Rechnungsdatum";
|
||||
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell12.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell13.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell13.Borders = DevExpress.XtraPrinting.BorderSide.Right;
|
||||
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDateTime", "{0:dd.MM.yyyy}")});
|
||||
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell13.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell13.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell13.StylePriority.UseBorders = false;
|
||||
this.xrTableCell13.StylePriority.UseFont = false;
|
||||
this.xrTableCell13.StylePriority.UsePadding = false;
|
||||
this.xrTableCell13.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell13.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrTableRow5
|
||||
//
|
||||
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell6,
|
||||
this.xrTableCell7});
|
||||
this.xrTableRow5.Name = "xrTableRow5";
|
||||
this.xrTableRow5.Weight = 1D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell6.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell6.BorderWidth = 2F;
|
||||
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell6.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell6.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell6.StylePriority.UseBorders = false;
|
||||
this.xrTableCell6.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell6.StylePriority.UseFont = false;
|
||||
this.xrTableCell6.StylePriority.UsePadding = false;
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell6.Text = "IK-Nummer";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell6.Weight = 0.53122486267026214D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell7.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell7.BorderWidth = 2F;
|
||||
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell7.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell7.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell7.StylePriority.UseBorders = false;
|
||||
this.xrTableCell7.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell7.StylePriority.UseFont = false;
|
||||
this.xrTableCell7.StylePriority.UsePadding = false;
|
||||
this.xrTableCell7.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell7.Weight = 0.53122488360866615D;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel6.CanShrink = true;
|
||||
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 337.0768F);
|
||||
this.xrLabel6.Multiline = true;
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(650.7153F, 38.99988F);
|
||||
this.xrLabel6.StylePriority.UseBackColor = false;
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Abrechnung Soziotherapie-Leistungen gemäß §37a SGV, Versicherte(r): [CustomerLast" +
|
||||
"Name], [CustomerFirstName]\r\nVersichtennummer: [CustomerInsuranceNumber]";
|
||||
this.xrLabel6.WordWrap = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel7.CanShrink = true;
|
||||
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 376.0766F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(650.7153F, 20F);
|
||||
this.xrLabel7.StylePriority.UseBackColor = false;
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "Zeitraum: [AccountingPeriod]";
|
||||
this.xrLabel7.WordWrap = false;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 286.6351F);
|
||||
this.xrLabel4.Multiline = true;
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(319.8698F, 25.00006F);
|
||||
this.xrLabel4.StylePriority.UseBackColor = false;
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Rechnung Nr. [InvoiceNumber]\n";
|
||||
this.xrLabel4.WordWrap = false;
|
||||
//
|
||||
// lblAdresse
|
||||
//
|
||||
this.lblAdresse.Font = new DevExpress.Drawing.DXFont("Calibri", 11F);
|
||||
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
|
||||
this.lblAdresse.Multiline = true;
|
||||
this.lblAdresse.Name = "lblAdresse";
|
||||
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111.5F);
|
||||
this.lblAdresse.StylePriority.UseFont = false;
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel15,
|
||||
this.xrLabel14,
|
||||
this.xrLabel5,
|
||||
this.xrTable4});
|
||||
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Times New Roman", 10F);
|
||||
this.ReportFooter.HeightF = 184.9419F;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 93.02252F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(250.0001F, 17.00001F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "Mit freundlichen Grüßen";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 161.5793F);
|
||||
this.xrLabel14.Multiline = true;
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(250F, 23.36261F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "[CreatorName]";
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Italic);
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 10.00001F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(250F, 17F);
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.Text = "Abschließende Bemerkungen:";
|
||||
//
|
||||
// xrTable4
|
||||
//
|
||||
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 35.00004F);
|
||||
this.xrTable4.Name = "xrTable4";
|
||||
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow10,
|
||||
this.xrTableRow14});
|
||||
this.xrTable4.SizeF = new System.Drawing.SizeF(650.7154F, 26F);
|
||||
this.xrTable4.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell18});
|
||||
this.xrTableRow10.Name = "xrTableRow10";
|
||||
this.xrTableRow10.Weight = 0.38095238095238093D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
|
||||
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell18.StylePriority.UseFont = false;
|
||||
this.xrTableCell18.StylePriority.UsePadding = false;
|
||||
this.xrTableCell18.Text = "xrTableCell1";
|
||||
this.xrTableCell18.Weight = 3D;
|
||||
//
|
||||
// xrTableRow14
|
||||
//
|
||||
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell19});
|
||||
this.xrTableRow14.Name = "xrTableRow14";
|
||||
this.xrTableRow14.Weight = 0.23809523809523808D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.StylePriority.UseFont = false;
|
||||
this.xrTableCell19.Weight = 3D;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport1});
|
||||
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.HeightF = 0F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
//
|
||||
// DetailReport1
|
||||
//
|
||||
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail2,
|
||||
this.GroupHeader1,
|
||||
this.GroupFooter1});
|
||||
this.DetailReport1.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
|
||||
this.DetailReport1.DataSource = this.bindingSource1;
|
||||
this.DetailReport1.Level = 0;
|
||||
this.DetailReport1.Name = "DetailReport1";
|
||||
//
|
||||
// Detail2
|
||||
//
|
||||
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable6});
|
||||
this.Detail2.HeightF = 25F;
|
||||
this.Detail2.Name = "Detail2";
|
||||
//
|
||||
// xrTable6
|
||||
//
|
||||
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(649.9997F, 25F);
|
||||
this.xrTable6.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow25
|
||||
//
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell3,
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell42,
|
||||
this.xrTableCell20,
|
||||
this.xrTableCell45,
|
||||
this.xrTableCell47});
|
||||
this.xrTableRow25.Name = "xrTableRow25";
|
||||
this.xrTableRow25.Weight = 1D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")});
|
||||
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell3.Multiline = true;
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell3.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell3.StylePriority.UseBorders = false;
|
||||
this.xrTableCell3.StylePriority.UseFont = false;
|
||||
this.xrTableCell3.StylePriority.UsePadding = false;
|
||||
this.xrTableCell3.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell3.TextFormatString = "{0:dd.MM.yyyy}";
|
||||
this.xrTableCell3.Weight = 0.49411074825218504D;
|
||||
//
|
||||
// xrTableCell40
|
||||
//
|
||||
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitDescription")});
|
||||
this.xrTableCell40.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell40.Name = "xrTableCell40";
|
||||
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell40.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell40.StylePriority.UseBorders = false;
|
||||
this.xrTableCell40.StylePriority.UseFont = false;
|
||||
this.xrTableCell40.StylePriority.UsePadding = false;
|
||||
this.xrTableCell40.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell40.Text = "Soziotherapie";
|
||||
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell40.Weight = 0.574668553042295D;
|
||||
//
|
||||
// xrTableCell42
|
||||
//
|
||||
this.xrTableCell42.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||
this.xrTableCell42.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell42.Name = "xrTableCell42";
|
||||
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell42.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell42.StylePriority.UseBorders = false;
|
||||
this.xrTableCell42.StylePriority.UseFont = false;
|
||||
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell42.Weight = 0.98353224604329026D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCount")});
|
||||
this.xrTableCell20.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell20.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UseFont = false;
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell20.TextFormatString = "{0:0.##}";
|
||||
this.xrTableCell20.Weight = 0.28500763022709164D;
|
||||
//
|
||||
// xrTableCell45
|
||||
//
|
||||
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
|
||||
this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||
this.xrTableCell45.StylePriority.UseFont = false;
|
||||
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell45.Text = "xrTableCell45";
|
||||
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell45.Weight = 0.2850076284740265D;
|
||||
//
|
||||
// xrTableCell47
|
||||
//
|
||||
this.xrTableCell47.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell47.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
|
||||
this.xrTableCell47.Font = new DevExpress.Drawing.DXFont("Calibri", 10F);
|
||||
this.xrTableCell47.Name = "xrTableCell47";
|
||||
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell47.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell47.StylePriority.UseBorders = false;
|
||||
this.xrTableCell47.StylePriority.UseFont = false;
|
||||
this.xrTableCell47.StylePriority.UsePadding = false;
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell47.Weight = 0.46525585332388275D;
|
||||
//
|
||||
// GroupHeader1
|
||||
//
|
||||
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable5});
|
||||
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.GroupHeader1.HeightF = 25F;
|
||||
this.GroupHeader1.Name = "GroupHeader1";
|
||||
this.GroupHeader1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTable5
|
||||
//
|
||||
this.xrTable5.Font = new DevExpress.Drawing.DXFont("Calibri", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable5.Name = "xrTable5";
|
||||
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow23});
|
||||
this.xrTable5.SizeF = new System.Drawing.SizeF(649.9998F, 25F);
|
||||
this.xrTable5.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow23
|
||||
//
|
||||
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell2,
|
||||
this.xrTableCell32,
|
||||
this.xrTableCell37,
|
||||
this.xrTableCell14,
|
||||
this.xrTableCell36,
|
||||
this.xrTableCell34});
|
||||
this.xrTableRow23.Name = "xrTableRow23";
|
||||
this.xrTableRow23.Weight = 1D;
|
||||
//
|
||||
// xrTableCell2
|
||||
//
|
||||
this.xrTableCell2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell2.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell2.Multiline = true;
|
||||
this.xrTableCell2.Name = "xrTableCell2";
|
||||
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell2.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell2.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell2.StylePriority.UseBorders = false;
|
||||
this.xrTableCell2.StylePriority.UseFont = false;
|
||||
this.xrTableCell2.StylePriority.UsePadding = false;
|
||||
this.xrTableCell2.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell2.Text = "Datum";
|
||||
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell2.Weight = 0.54176126036459427D;
|
||||
//
|
||||
// xrTableCell32
|
||||
//
|
||||
this.xrTableCell32.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell32.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell32.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell32.Name = "xrTableCell32";
|
||||
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell32.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||
this.xrTableCell32.StylePriority.UseFont = false;
|
||||
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell32.Text = "Positionsnummer";
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell32.Weight = 0.63008808839302122D;
|
||||
//
|
||||
// xrTableCell37
|
||||
//
|
||||
this.xrTableCell37.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell37.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell37.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell37.Name = "xrTableCell37";
|
||||
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell37.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell37.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell37.StylePriority.UseBorders = false;
|
||||
this.xrTableCell37.StylePriority.UseFont = false;
|
||||
this.xrTableCell37.StylePriority.UsePadding = false;
|
||||
this.xrTableCell37.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell37.Text = "Bezeichnung";
|
||||
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell37.Weight = 1.078381382409926D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell14.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell14.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell14.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell14.StylePriority.UseBorders = false;
|
||||
this.xrTableCell14.StylePriority.UseFont = false;
|
||||
this.xrTableCell14.StylePriority.UsePadding = false;
|
||||
this.xrTableCell14.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell14.Text = "Menge";
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell14.Weight = 0.31249312969635945D;
|
||||
//
|
||||
// xrTableCell36
|
||||
//
|
||||
this.xrTableCell36.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell36.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell36.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell36.Name = "xrTableCell36";
|
||||
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell36.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell36.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell36.StylePriority.UseBorders = false;
|
||||
this.xrTableCell36.StylePriority.UseFont = false;
|
||||
this.xrTableCell36.StylePriority.UsePadding = false;
|
||||
this.xrTableCell36.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell36.Text = "Preis";
|
||||
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell36.Weight = 0.31249314533833322D;
|
||||
//
|
||||
// xrTableCell34
|
||||
//
|
||||
this.xrTableCell34.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell34.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell34.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell34.Name = "xrTableCell34";
|
||||
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell34.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell34.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell34.StylePriority.UseBorders = false;
|
||||
this.xrTableCell34.StylePriority.UseFont = false;
|
||||
this.xrTableCell34.StylePriority.UsePadding = false;
|
||||
this.xrTableCell34.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell34.Text = "Betrag";
|
||||
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell34.Weight = 0.51012434888924074D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable1});
|
||||
this.GroupFooter1.HeightF = 47.91667F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow1});
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(649.9999F, 25F);
|
||||
this.xrTable1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell5});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 1D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Calibri", 12F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell1.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell1.StylePriority.UseBorders = false;
|
||||
this.xrTableCell1.StylePriority.UseFont = false;
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell1.Text = "Rechnungsbetrag";
|
||||
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell1.Weight = 2.3522344892514937D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
|
||||
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Calibri", 12F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell5.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell5.StylePriority.UseBorders = false;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.StylePriority.UsePadding = false;
|
||||
this.xrTableCell5.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell5.Weight = 0.41733623261820113D;
|
||||
//
|
||||
// SoziotherapieRechnung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.Page1,
|
||||
this.ReportFooter,
|
||||
this.DetailReport});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.ruleRateFactorNull});
|
||||
this.Margins = new DevExpress.Drawing.DXMargins(100F, 50F, 200.625F, 97.29169F);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
|
||||
this.Version = "23.2";
|
||||
xrWatermark1.Id = "Watermark1";
|
||||
this.Watermarks.Add(xrWatermark1);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
|
||||
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail1;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail2;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable5;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable4;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable2;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable6;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
private DevExpress.XtraReports.UI.XRRichText xrRichText1;
|
||||
}
|
||||
}
|
||||
98
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.cs
Normal file
98
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace KcmGmbHSozio
|
||||
{
|
||||
[IDSpecificClass(Identifier = "RechnungSoziotherapie")]
|
||||
public partial class SoziotherapieRechnung : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public SoziotherapieRechnung()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
string poBox = null;
|
||||
if (pRO.InvoiceBase.RecipientContactInformations.Count > 0)
|
||||
{
|
||||
foreach (var i in pRO.InvoiceBase.RecipientContactInformations)
|
||||
{
|
||||
if (i.ContactType == BS.Shared.ContactType.private_POBox)
|
||||
poBox = i.ContactValue;
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientOrganisation);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientAddressLine1);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientContactPerson);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientDivision);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(poBox))
|
||||
{
|
||||
sb.AppendLine(poBox);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientPoBox);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientStreet);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
|
||||
{
|
||||
sb.AppendLine("");
|
||||
sb.AppendLine(pRO.RecipientPostCodeAndTown);
|
||||
}
|
||||
lblAdresse.Text = sb.ToString();
|
||||
|
||||
decimal hours = 0;
|
||||
if (pRO.ServiceInvoicePeriods != null)
|
||||
{
|
||||
foreach (var sip in pRO.ServiceInvoicePeriods)
|
||||
{
|
||||
foreach (var ii in sip.ServiceInvoiceItems)
|
||||
{
|
||||
hours += ii.Hours ?? 0;
|
||||
if (ii.UnitDescription == null || !ii.UnitDescription.StartsWith("GPos"))
|
||||
{
|
||||
ii.UnitDescription = "";
|
||||
}
|
||||
|
||||
// Einheit setzen
|
||||
ii.HourlyRateString = "Stunden";
|
||||
if (ii.ServiceDescription != null && ii.ServiceDescription.ToLower().Contains("hausbesuchspauschale"))
|
||||
{
|
||||
ii.HourlyRateString = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (String.IsNullOrEmpty(pRO.Notice))
|
||||
{
|
||||
xrLabel5.Visible = false;
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
123
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.resx
Normal file
123
ReportImp/KcmGmbHSozio/SoziotherapieRechnung.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAKgBcAGQAZQBmAHAAYQBwACAAXAB3AGkAZABjAHQAbABwAGEAcgB9AHsAXABzAHQAeQBsAGUAcwBoAGUAZQB0ACAAewBcAHEAbABcAGYAMQBcAGYAcwAyADQAIABOAG8AcgBtAGEAbAA7AH0AewBcACoAXABjAHMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQAgAEQAZQBmAGEAdQBsAHQAIABQAGEAcgBhAGcAcgBhAHAAaAAgAEYAbwBuAHQAOwB9AHsAXAAqAFwAYwBzADIAXABzAGIAYQBzAGUAZABvAG4AMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQAgAEwAaQBuAGUAIABOAHUAbQBiAGUAcgA7AH0AewBcACoAXABjAHMAMwBcAGYAMQBcAGYAcwAyADQAXAB1AGwAXABjAGYAMgAgAEgAeQBwAGUAcgBsAGkAbgBrADsAfQB7AFwAKgBcAHQAcwA0AFwAdABzAHIAbwB3AGQAXABmADEAXABmAHMAMgA0AFwAcQBsAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAGwAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAbAAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBiADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAcgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZAByADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHQAMwBcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAATgBvAHIAbQBhAGwAIABUAGEAYgBsAGUAOwB9AHsAXAAqAFwAdABzADUAXAB0AHMAcgBvAHcAZABcAHMAYgBhAHMAZQBkAG8AbgA0AFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcgBiAHIAZAByAHQAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAbABcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgBiAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAHIAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAaABcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgB2AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAcgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZAByADEAMAA4AFwAdABzAHYAZQByAHQAYQBsAHQAXABjAGwAdAB4AGwAcgB0AGIAIABUAGEAYgBsAGUAIABTAGkAbQBwAGwAZQAgADEAOwB9AH0AewBcACoAXABsAGkAcwB0AG8AdgBlAHIAcgBpAGQAZQB0AGEAYgBsAGUAfQBcAG4AbwB1AGkAYwBvAG0AcABhAHQAXABoAHQAbQBhAHUAdABzAHAAXABzAHAAbAB5AHQAdwBuAGkAbgBlAFwAYQBsAG4AdABiAGwAaQBuAGQAXABlAHgAcABzAGgAcgB0AG4AXABzAHAAbAB0AHAAZwBwAGEAcgBcAG4AbwBnAHIAbwB3AGEAdQB0AG8AZgBpAHQAXAB1AHQAaQBuAGwAXABuAG8AYgByAGsAdwByAHAAdABiAGwAXABmAHQAbgBsAHkAdAB3AG4AaQBuAGUAXABuAG8AdABjAHYAYQBzAHAAXABkAG4AdABiAGwAbgBzAGIAZABiAFwAbgBlAHcAdABiAGwAcwB0AHkAcgB1AGwAcwBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABmADEAXABmAHMAMgA0AFwAYwBmADEAXABwAGEAcgB9AA==</value>
|
||||
</data>
|
||||
</root>
|
||||
27
ReportImp/KcmGmbHSozio/app.config
Normal file
27
ReportImp/KcmGmbHSozio/app.config
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -280,7 +280,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "6860475645"; // Lebenshilfe Duisburg ATZ (Projekt heißt LebenshilfeDuisburgAtz6860475645)
|
||||
//t = "9678360705"; // Lebenshilfe Duisburg HPTG (Projekt heißt LebenshilfeDuisburgHPTG)
|
||||
//t = "4823067940"; // Die Kette 2
|
||||
//t = "8283849714"; // Forum e.V. (proviel GmbH)
|
||||
t = "8283849714"; // Forum e.V. (proviel GmbH)
|
||||
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
|
||||
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
|
||||
//t = "2314784470"; // Lebenshilfe Duisburg BeWo
|
||||
@@ -429,6 +429,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "5960095273"; // Flexible Jugendarbeit Frankfurt (Oder) e.V.
|
||||
//t = "6664235818"; // PariMobil gGmbH Krefeld
|
||||
//t = "5740586468"; // Ute Hengstermann - ABW Anker
|
||||
//t = "9885937567"; // Antje Boland - BeWo Boland
|
||||
|
||||
return t;
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user