Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2026-07-10 08:58:56 +02:00
50 changed files with 669 additions and 786 deletions

View File

@@ -16,7 +16,7 @@
<EnableSecurityDebugging>true</EnableSecurityDebugging>
<TargetZone>Internet</TargetZone>
<GenerateManifests>true</GenerateManifests>
<SignManifests>true</SignManifests>
<SignManifests>false</SignManifests>
<ManifestKeyFile>
</ManifestKeyFile>
<ManifestCertificateThumbprint>8E3A8E81F1C6F67A1C6D239593544EA33D8AC6A7</ManifestCertificateThumbprint>
@@ -43,12 +43,12 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.297</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.298</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>298</ApplicationRevision>
<ApplicationRevision>299</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>

View File

@@ -57,7 +57,7 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.32";
public static string ShortVersion = "3.32.2";
public static string Version => BeWoAppInfo.BeWoAppVersion.ToString();
public static int RenderTier = 0;

View File

@@ -265,6 +265,8 @@ namespace BeWo
private static String PUB_KEY_E8 = "04d165f25edc4bb40c029cd2b2faeee96cab3aae38a1f4d4393233c542d4cc330c34c7212090705ce8622f1c71b342d779be460dc1db47a113a0c7df8126633bd48d1df63d823332f6f42be7f5963ab41367187b6b3e8d48d9eadeedae6d3e874c";
private static String PUB_KEY_E9 = "04a05cdc459f3bace602a958495d0c153a22027ce9a68d594897db5c68e9ae3064c9d15b6017a4720ae52449ade7bf3b4783f582b6cfb60777a140657e83335878a1a635d69288ef95c78c99462abd56d0737f69083dd18988c30abed6a6e22a73";
private static String PUB_KEY_R10 = "CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001";
private static String PUB_KEY_R11 = "BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001";
@@ -273,14 +275,20 @@ namespace BeWo
private static String PUB_KEY_R13 = "00a567708dd0568164151761cdb906d4ad19908c2650379816639254dbd9cc840593ecd3ec081ba0605143487d2bc748969eb42dda9dc8273b57a19fabf0d60ed40e30ca6f9bb1d1d6a49d323e584e356f4558687117fc3ed85d82a02fb2516cb01a5db859ce3565c88ba1af1037ffe39c5dc2491734ff8c2b8b8df0bc712c930c1d05c4bac7cdaac95e7cd1c901f79c03f6fc0a5df4da7be6db764270ebf44d22da00776fd6c95f17fdda752ea5570cf6ea5cb6e073a568cfa174e275827e109fc1f5a2eb01e938b10a44ccd3c289f54935820a34b31ce988c2474e820e0a36f0474f8af1290475dacde19a5cff5e9d9895ba9a43d04aa21705010430d332b38f";
private static String PUB_KEY_R14 = "00cd68546c992fd4c4df145ee284bca5a798da8ad5d59e0eb211eaee13bd7f7344cbabf6d9e37f0f2e23cdaf7235aa9eba1daa8e00d6d0e844e0d128ee05b5a783b54b1c6e0cd6f427c78d04c976f8327a9e8b022e71bc9f12b6ac19f4ec4bb134ba50bbb89dc6f3439e006425efa46fabfa8e60e47c9fd5687d97db48a8909078d4138c8fd7c60ab9bec4cbc2f48bbf9689b65dece60bb5c183c59c20af9eabe62498495165e9ce22868a7623cd60d8190118f60bca00d292d556573d7f7278c71febbbb9bb79861970fc6c2c39a25f223ac5870dca69f409caf2716a7a5f0924934a1cd1f7084b4d2295947d80d7beb574769c79690146a715dc792e14818895";
private static String PUB_KEY_YE1 = "0407655075fe68a695ada17d2babca549c8cf31968e2572f3fcd9c0736b32966f160f2854f42729fb3012422e6f4b0186263486925903f5f74f47c1a9c8320e2230847eb9dbb7fbfe65210f2cb1066da33a11c7036cdee9f71b5e226d80bdffabc";
private static String PUB_KEY_YE2 = "04719ab43391d6c410bdcca97b7774942db58738edac647434c7b9de533ea336cf9b920f97269345ab1e5597be796fa812ea881df8925bb121b98cc808aadff603e9ef34fef576e7d2bc5d021d8c55e5a1839ad26214ef57fb1d0d3d3ef603970f";
private static String PUB_KEY_YE3 = "04bb1da0af0ccf58dda60f5be887eae5132b6285518c74bf27b9c4ad4a353599520968896d9bb9dab3bc241a6ab9894cdba3895f99ad6acea68c7e378913b2209e73ac9fc3b546984acb0b9652ab65f8776bc973583c5485377dbec2bb327f6c33";
private static String PUB_KEY_YR1 = "00a158bc5f6c42620317bc9c4d3caa7fa05d7750c8263c0041d3b5422cd0eda179adf65b8464d252055d745724f53f3e8b0fc66ad5dda0738dd6365d40751ae3e2c1276b36ce8b3d273e9986069da1ba2e3da19b43218eb074a799022e416cd536d021fa45204130b490f5c5eb1fc77176fe0f009e39b2c18c2faf14484dc1b230b66ba70037d2f90a05d52108b9b5f3624cfa05659dd2d0e957a8b9a6b5d57de6e75601be5be9efc5e3d0e20ac1f4634d0083bd815486f5873ca798a7be5f49844414edb1bdc1c26a55f62a5e06330ba11fc3f5c1f11d0096a22e654e65f0634d79279ac67a5cf59d98c9bb1736922a1a5f6f572419e13243f9df5ad2746e6e33";
private static String PUB_KEY_YR2 = "00d9d0bc70069a6a87ce25baa31ead5fde78bfdf5d0ee62d042fd4b9e958a65bcaf1a9c7ac21e807e7b2502717a7b04e470703e8123a806f9b70df9b4e80b86885f8a46eb787c0728c2a9c0410096f7cf903cffde3afff0ba0ec8ca4e0d90ec5fd88ea0d9fe794fa9c9a0e4cb15cba4791abcd091901186a7f9d3c5afd38652040ada118a80d916f3ba5aa69b0e02e50972ba18851b79b948ace2a6998ab7a2b1ebb7da0cc324d04088ab6cbdde875f8bf6e5ba6444d712fc1fc6b5cf6455b5290fed8f2cfc5d7a2dd38a6e79938b5f0045f00f6ab288f4f1ad336aea537e00caf983673574daa4393c23c5e57a2f99693f5ac6898bcb9d168f94eab26513d6fb9";
private static String PUB_KEY_YR3 = "00c94b4f90c9fad99bc5349d7ba024a83ede7ada1e8c4a37d34eb06bc74fd36d71d813856ba3ea08b30ccaa7f554229723c9faa28aeeb8e004cfd72b7a20c7ad443db81063c2e254d9f89ec991d5415475a95bfdc2ff998b57a3796edeaa29ee4e8e97ea4e2f3be504836197e32aee5f55c5408cef5ed4a58ba634ac463518c02c68391f5e82f77510956f0a811a56e7c7d8e417b770baafdb86db291162b1bed2fc73c0f7aee95baac03bf0c514a6e2df935f1ca106d23206ab1b6c6d86cafbfd2a7b6d78ee9f6850efd235cb9a4fda682c558a99c63dd144748572b2faa891e8abfbfdee6008afc11a48cb5ccd407d7d42443c0e8883cfb0af9124e223d348a5";
private bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
try
@@ -301,14 +309,18 @@ namespace BeWo
pk.Contains(PUB_KEY_E6.ToLower()) ||
pk.Contains(PUB_KEY_E7.ToLower()) ||
pk.Contains(PUB_KEY_E8.ToLower()) ||
pk.Contains(PUB_KEY_E9.ToLower()) ||
pk.Contains(PUB_KEY_R10.ToLower()) ||
pk.Contains(PUB_KEY_R11.ToLower()) ||
pk.Contains(PUB_KEY_R12.ToLower()) ||
pk.Contains(PUB_KEY_R13.ToLower()) ||
pk.Contains(PUB_KEY_R14.ToLower()) ||
pk.Contains(PUB_KEY_YE1.ToLower()) ||
pk.Contains(PUB_KEY_YE2.ToLower()) ||
pk.Contains(PUB_KEY_YE3.ToLower()) ||
pk.Contains(PUB_KEY_YR1.ToLower()) ||
pk.Contains(PUB_KEY_YR2.ToLower()))
pk.Contains(PUB_KEY_YR2.ToLower()) ||
pk.Contains(PUB_KEY_YR3.ToLower()))
{
chainContainsPk = true;
}

View File

@@ -237,8 +237,7 @@ namespace BeWo.Services
if (windowViewModel is DialogViewModel dialogViewModel)
{
dialogViewModel.Closing += (s, e) => window.Close();
window.Closed += (s, e) => dialogViewModel.CloseFinalCommand.Execute(null);
dialogViewModel.RequestCloseFinal += (s, e) => window.Close();
}
if (options.ShowAsDialog)

View File

@@ -52,129 +52,4 @@
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PopUpWindowStyle2" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border
Grid.RowSpan="2"
Background="#FF202020"
CornerRadius="3,1,0,3" />
<Border
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Background="#FF202020"
CornerRadius="0,1,0,3" />
<Path
Grid.Column="1"
Data="M 0,0 L 10,10 H 0 Z"
Fill="#FF202020"
StrokeThickness="0" />
<Border
x:Name="Header"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="0,0,0,0"
Padding="10,0,3,0"
VerticalAlignment="Bottom"
Background="{x:Null}">
<ContentPresenter
Margin="5,0,0,3"
VerticalAlignment="Stretch"
Content="{TemplateBinding Header}"
ContentSource="Header"
ContentStringFormat="{TemplateBinding HeaderStringFormat}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
RecognizesAccessKey="True"
RenderTransformOrigin="0,0.5"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
TextElement.FontSize="16">
<ContentPresenter.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Border>
<Border
Grid.Row="2"
Grid.RowSpan="1"
Grid.Column="0"
Grid.ColumnSpan="2"
Padding="5,5,5,5">
<ContentPresenter
Margin="0,0,0,0"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<Path
x:Name="isDirtyShape"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Width="18.21"
Height="17.336"
Margin="0,0,41.007,3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z"
RenderTransformOrigin="0.5,0.5"
StrokeThickness="0">
<Path.Fill>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#FFFB6F0E" />
<GradientStop Offset="1" Color="#FF8C400A" />
</LinearGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Path.RenderTransform>
</Path>
<Button
x:Name="button_close"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Grid.ColumnSpan="1"
Width="20"
Height="20"
Margin="3,3,3,3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand}"
Style="{DynamicResource CloseButtonStyle}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
<Setter Property="FontSize" Value="11" />
</Style>
</ResourceDictionary>

View File

@@ -67,13 +67,12 @@ namespace BeWo.View.Controls.AI
{
var viewmodel = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm);
viewmodel.ItemAccepted += ItemAccepted;
viewmodel.Closed += (s, e) => viewmodel.ResetSelection();
viewmodel.RequestCloseFinal += (s, e) => viewmodel.ResetSelection();
ViewModel.AllPromptsViewModel = viewmodel;
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm, true);
viewmodel2.ItemAccepted += ItemAccepted;
popup_promptbaustein_favoriten.Closed += (s, e) => viewmodel2.CloseFinalCommand.Execute(null);
viewmodel2.Closed += (s, e) => viewmodel2.ResetSelection();
popup_promptbaustein_favoriten.Closed += (s, e) => viewmodel2.ResetSelection();
var view2 = new AiPromptbausteinComplexSelectionFavoritenView(viewmodel2);
viewmodel2.SelectedFolder = viewmodel2.Folders.VMList[0];
view2.Padding = new Thickness(3);

View File

@@ -186,8 +186,8 @@
<DataTrigger Binding="{Binding IsValid}" Value="False">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="IsEnabled" Value="True" />
<Setter Property="IsHitTestVisible" Value="True" />
<Setter Property="IsEnabled" Value="False" />
<Setter Property="IsHitTestVisible" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
@@ -238,7 +238,6 @@
Background="Transparent"
ContextMenuOpening="ListBox_ContextMenuOpening"
PreviewMouseDown="Grid_PreviewMouseDown_2">
<Grid IsEnabled="{Binding IsValid}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="9" />
@@ -395,7 +394,6 @@
</Label>
</StackPanel>
</Grid>
</Grid>
</Border>
</DataTemplate>
@@ -416,16 +414,22 @@
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TreeView
x:Name="treeView"
<GroupBox
Grid.Row="1"
Grid.Column="0"
Margin="0,7,0,0"
Padding="0"
HorizontalAlignment="Stretch"
Header="Bibliothek"
Style="{StaticResource ObjectEditGroupBox}">
<TreeView
x:Name="treeView"
MinHeight="100"
Padding="4,16,4,16"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
AllowDrop="True"
BorderThickness="1,1,0,1"
BorderThickness="1,0,0,1"
ContextMenuOpening="treeView_ContextMenuOpening"
Focusable="True"
ItemContainerStyle="{DynamicResource igoal_treeitemstyle}"
@@ -509,6 +513,7 @@
</ContextMenu>
</TreeView.ContextMenu>
</TreeView>
</GroupBox>
<GridSplitter
Grid.Row="1"
Grid.Column="1"
@@ -519,7 +524,7 @@
Grid.Row="1"
Grid.Column="2"
Grid.ColumnSpan="2">
<!--<Grid.Resources>
<Grid.Resources>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=treeView, Path=SelectedItem}" Value="{x:Null}">
@@ -527,7 +532,7 @@
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resources>-->
</Grid.Resources>
<TabControl
x:Name="tabcontrol_1"
Padding="0"

View File

@@ -142,6 +142,7 @@
IsReadOnly="True"
x:Name="popupedit_Auftraggeber"
Height="23"
MaxWidth="294"
DeleteButtonVisibility="Visible"
DeleteClick="popupedit_Auftraggeber_DeleteClick"
PopUpClick="popupedit_Auftraggeber_PopUpClick"
@@ -159,6 +160,7 @@
IsReadOnly="True"
x:Name="popupedit_AuftraggeberContactPersonSearch"
Height="23"
MaxWidth="294"
DeleteButtonVisibility="Visible"
DeleteClick="popupedit_AuftraggeberContactPersonSearch_DeleteClick"
PopUpClick="popupedit_AuftraggeberContactPersonSearch_PopUpClick"
@@ -175,6 +177,7 @@
IsReadOnly="True"
x:Name="popupedit_Einsatzstelle"
Height="23"
MaxWidth="294"
DeleteButtonVisibility="Visible"
DeleteClick="popupedit_Einsatzstelle_DeleteClick"
PopUpClick="popupedit_Einsatzstelle_PopUpClick"
@@ -192,6 +195,7 @@
IsReadOnly="True"
x:Name="popupedit_EinsatzstelleContactPersonSearch"
Height="23"
MaxWidth="294"
DeleteButtonVisibility="Visible"
DeleteClick="popupedit_EinsatzstelleContactPersonSearch_DeleteClick"
PopUpClick="popupedit_EinsatzstelleContactPersonSearch_PopUpClick"
@@ -449,13 +453,15 @@
Grid.Column="3"
Grid.RowSpan="9"
Height="190"
MaxWidth="294"
VerticalAlignment="Top"
VerticalContentAlignment="Stretch"
AcceptsReturn="True"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Text="{Binding Path=Bemerkung, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Auto" />
TextWrapping="NoWrap"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto"/>
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False"
Placement="MousePoint"

View File

@@ -58,7 +58,7 @@
Grid.Column="2"
IsEnabled="False"
Style="{StaticResource TextEditNumber}"
Text="{Binding Oid, Mode=OneWay}" />
Text="{Binding Oid}" />
<Label
Grid.Row="1"
Grid.Column="0"
@@ -154,7 +154,7 @@
Grid.Column="2"
MaxLength="1024"
Style="{StaticResource TextBoxNoticeLarge}"
Text="{Binding Notice, UpdateSourceTrigger=PropertyChanged}"
Text="{Binding Notice}"
TextWrapping="Wrap" />
</Grid>
</TabItem>

View File

@@ -230,19 +230,24 @@ namespace BeWo.View.Detail.Accounting
var dialog = new GkvAbrechnungDialogViewModel(vm);
dialog.Closing += (s, ee) => Detail_Window_Closing(s, new CancelEventArgs());
dialog.RequestCloseFinal += (s, ee) => Detail_Window_Closing(s, new CancelEventArgs());
BeWoApp.MainControl.WindowService.ShowGkvAbrechnungDetailWindow(dialog);
}
private void Detail_Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
var dialog = sender as GkvAbrechnungDialogViewModel;
var vm = dialog.Abrechnung;
var bewo_window = sender as AnimatedBeWoWindow;
var detail_control = bewo_window.GroupBoxContent as GkvAbrechnungDetailControl;
var vm = detail_control.DataContext as GkvAbrechnungLightVM;
vm.CheckAllInvoiceBases();
//vm.Notice = textbox_text;
var checkbox_checked = detail_control.Checkbox_Bezahlt.IsChecked;
var textbox_text = detail_control.txt_Notice.Text;
vm.Notice = textbox_text;
if (vm.IsDirty)
{

View File

@@ -94,7 +94,7 @@
<dxg:GridControl
Grid.Row="1"
MaxHeight="300"
MaxHeight="200"
Margin="0,10,0,0"
ItemsSource="{Binding GoalRatingList.VMList}">
<dxg:GridControl.View>

View File

@@ -1757,10 +1757,15 @@ namespace BeWo.View.Detail
{
var control = new RatingEditView();
control.InitView(vm);
var height = this.ActualHeight - 50;
if (height < 600)
{
height = 600;
}
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Bewertung bearbeiten" },
Height = this.Height,
Height = height,
Width = 1000,
MinWidth = 550,
WindowStartupLocation = WindowStartupLocation.CenterOwner,

View File

@@ -2314,6 +2314,7 @@ namespace BeWo.View.Detail.Zeiterfassung
if (ViewModel != null)
{
ViewModel.IsGroupBooking = true;
ViewModel.IsMultiBooking = false;
}
supportConceptSelectionControl.Visibility = Visibility.Collapsed;
@@ -2341,6 +2342,11 @@ namespace BeWo.View.Detail.Zeiterfassung
SelectedItemChanged(
SupportConceptService.CreateFlatSupportConceptItem(multiSupportConceptControl.SelectedItem, null));
if (multiSupportConceptControl.SelectedSupportConcepts != null && multiSupportConceptControl.SelectedSupportConcepts.Count > 0)
{
ViewModel.UpdateGroupServiceAccountings(multiSupportConceptControl.SelectedSupportConcepts);
}
}
private void ChkGroupBooking_Unchecked(object sender, RoutedEventArgs e)
@@ -2383,6 +2389,7 @@ namespace BeWo.View.Detail.Zeiterfassung
if (ViewModel != null)
{
ViewModel.IsMultiBooking = true;
ViewModel.IsGroupBooking = false;
}
supportConceptSelectionControl.Visibility = Visibility.Collapsed;
@@ -2409,6 +2416,10 @@ namespace BeWo.View.Detail.Zeiterfassung
SelectedItemChanged(
SupportConceptService.CreateFlatSupportConceptItem(multiSupportConceptControl.SelectedItem, null));
if (multiSupportConceptControl.SelectedSupportConcepts != null && multiSupportConceptControl.SelectedSupportConcepts.Count > 0)
{
ViewModel.UpdateGroupServiceAccountings(multiSupportConceptControl.SelectedSupportConcepts);
}
}
private void ChkMultiBooking_Unchecked(object sender, RoutedEventArgs e)

View File

@@ -41,7 +41,7 @@
x:FieldModifier="public"
MouseDoubleClick="RootGroupBox_OnMouseDoubleClick"
MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown"
Style="{DynamicResource PopUpWindowStyle2}">
Style="{DynamicResource PopUpWindowStyle}">
<GroupBox.CommandBindings>
<CommandBinding Command="ApplicationCommands.Close" Executed="CommandBinding_Close_Executed" />
<CommandBinding Command="ApplicationCommands.Save" Executed="CommandBinding_Save_Executed" />

View File

@@ -57,7 +57,7 @@ namespace BeWo.View.Windows
{
InitializeComponent();
//CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => Close()));
CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => Close()));
if(ServiceFacade.IsWaiting())
StartWaiting();

View File

@@ -245,7 +245,7 @@ namespace BeWo.ViewModel
public AiPromptbausteinFolderVM Parent { get; set; }
public FontWeight FontWeight => !IsNew && (Parent is null || Parent.Parent is null) ? FontWeights.SemiBold : FontWeights.Medium;
public FontWeight FontWeight => !IsNew && Parent is null ? FontWeights.SemiBold : FontWeights.Medium;
public bool HasSubFolders => SubFolders is object && SubFolders.Count > 0;
public int TotalPromptCount

View File

@@ -156,9 +156,11 @@ namespace BeWo.ViewModel
liste.DoForEach(f => f.Transaktionskassenbestand = 0);
var vorherige = liste.FirstOrDefault();
vorherige.Transaktionskassenbestand = Anfangsbestand ?? 0;
if (vorherige != null)
{
vorherige.Transaktionskassenbestand = Anfangsbestand ?? 0;
foreach (var transaktion in liste)
{
transaktion.Transaktionskassenbestand = vorherige.Transaktionskassenbestand + transaktion.Betrag*(transaktion.Zahlungstyp.Enum == Zahlungstyp.Auszahlung ? -1 : 1);

View File

@@ -26,6 +26,8 @@ namespace BeWo.ViewModel.Light
public static string PropertyName_ErstelltAm = "ErstelltAm";
private long _Oid;
private long _Version;
private string _Notice;
private long _OrganisationOid;
@@ -116,11 +118,31 @@ namespace BeWo.ViewModel.Light
public DateTime ErstelltAmDate => ErstelltAm.Date;
public long Oid
{
get => DataContract.Oid;
get { return this._Oid; }
set
{
if (this.AreDifferent(this._Oid, value))
{
this._Oid = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Oid, value), nameof(Oid));
this.FirePropertyChanged(nameof(Oid));
}
}
}
public long Version
{
get => DataContract.Version;
get { return this._Version; }
set
{
if (this.AreDifferent(this._Version, value))
{
this._Version = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Version, value), nameof(Version));
this.FirePropertyChanged(nameof(Version));
}
}
}
public string Notice
{
@@ -330,7 +352,7 @@ namespace BeWo.ViewModel.Light
public override void UpdateByDataContract(GkvAbrechnungLightDC pDataContract)
{
DataContract = pDataContract;
Version = pDataContract.Version;
Notice = pDataContract.Notice;
@@ -351,6 +373,9 @@ namespace BeWo.ViewModel.Light
_ErstelltAm = pDataContract.ErstelltAm;
_Oid = pDataContract.Oid;
_Version = pDataContract.Version;
_Notice = pDataContract.Notice;
_Betrag = pDataContract.Betrag;
@@ -377,6 +402,8 @@ namespace BeWo.ViewModel.Light
}
protected override GkvAbrechnungLightDC MapToDataContract(GkvAbrechnungLightDC pDataContract, bool doCommit)
{
pDataContract.Version = _Version;
pDataContract.Notice = _Notice;
pDataContract.Betrag = _Betrag;
pDataContract.Bezahlt = _Bezahlt;
@@ -394,6 +421,7 @@ namespace BeWo.ViewModel.Light
return;
}
Version = dc.Version;
Protokolle = dc.Protokolle.ToList();
IsReady2Send = dc.IsReady2Send;

View File

@@ -1844,11 +1844,16 @@ namespace BeWo.ViewModel.ListViewModel
UpdateGruppenZiele(allInfos);
if (BeWoApp.AppSettings.FilterGroupServiceCategories)
if (BeWoApp.AppSettings.FilterGroupServiceCategories || oids.Count == 1)
{
var serviceAccountings = ErstelleServiceCategorySchnittmenge(allInfos);
PrototypeVM.UpdateServiceAccountings(serviceAccountings, _Category2Services, true);
}
else
{
PrototypeVM.UpdateServiceAccountings(null, _Category2Services, true);
}
}
}

View File

@@ -970,13 +970,11 @@ namespace BeWo.ViewModel
Oid = -5,
Title = "Favoriten",
Description = "Eigene Favoriten",
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>()
SubPrompts = new List<AiPromptbausteinPromptDC>()
};
var fav_vm = new AiPromptbausteinFolderVM(favoriten);
fav_vm.SubPrompts.VMList.Clear();
fav_vm.SubRoutines.VMList.Clear();
folders.VMList.Insert(0, fav_vm);

View File

@@ -74,8 +74,6 @@ namespace BeWo.ViewModel.View.AI
{
Folders = new AiPromptbausteinFolderListVM();
}
//Closing += (s, e) => ResetSelection();
}
public AiPromptbausteinSelectionComplexViewModel(AiActionType aiActionType) : this()
{
@@ -86,7 +84,7 @@ namespace BeWo.ViewModel.View.AI
public AiPromptbausteinSelectionComplexViewModel(AiActionType aiActionType, AiPromptbausteinFolderListVM viewModel, bool isFavorite = false, bool canOpen = true) : this(aiActionType)
{
LoadedActionType = aiActionType;
UpdateVMList(viewModel);
Folders = viewModel;
IsFavorite = isFavorite;
CanOpenContextMenu = canOpen;
}
@@ -156,9 +154,6 @@ namespace BeWo.ViewModel.View.AI
public AiPromptbausteinFolderListVM Folders { get; private set; }
public AiActionType LoadedActionType { get; set; }
public AiPromptbausteinFolderVM FavoritenFolder => Folders.VMList[0];
public AiPromptbausteinFolderVM RootFolders => Folders.VMList[1];
public bool HasFavoriten
{
get
@@ -168,7 +163,7 @@ namespace BeWo.ViewModel.View.AI
return true;
#endif
return Folders.Count > 1 && (FavoritenFolder.Prompts.Count > 0 || FavoritenFolder.Routines.Count > 0);
return Folders.Count > 3 && (Folders.VMList[0].Prompts.Count > 0 || Folders.VMList[0].Routines.Count > 0);
}
}
@@ -180,8 +175,10 @@ namespace BeWo.ViewModel.View.AI
SelectedFolder = null;
// Favoriten-Popup:
var target = IsFavorite ? FavoritenFolder : RootFolders;
// Favoriten-Popup: Favoriten (VMList[0]), sonst "Eigene" (VMList[1]) vorauswählen.
var target = IsFavorite
? (Folders.VMList.Count > 0 ? Folders.VMList[0] : null)
: (Folders.VMList.Count > 1 ? Folders.VMList[1] : null);
if (target != null)
{
@@ -214,7 +211,7 @@ namespace BeWo.ViewModel.View.AI
{
VMFactory.CreateAiPromptbausteinFolderListVMAsync(AiActionType, UpdateVMList);
if (notify)
if(notify)
VMListReloaded?.Invoke(this, EventArgs.Empty);
}
private void UpdateVMList(AiPromptbausteinFolderListVM new_list)
@@ -223,23 +220,17 @@ namespace BeWo.ViewModel.View.AI
FirePropertyChanged(nameof(Folders));
if (Folders.VMList.Count > 0
&& Folders.VMList[0].DataContract.Oid == -51
&& Folders.VMList[0].SubFolders.Count > 0
&& Folders.VMList[0].SubFolders.VMList[0].DataContract.Oid == -5)
if (Folders.VMList.Count > 0 && Folders.VMList[0].DataContract.Oid == -5)
{
Favoriten = Folders.VMList[0].SubFolders.VMList[0];
Favoriten = Folders.VMList[0];
if (IsFavorite)
SelectedFolder = Favoriten;
}
if (!IsFavorite &&
Folders.VMList.Count > 0
&& Folders.VMList[0].DataContract.Oid == -51
&& Folders.VMList[0].SubFolders.Count > 1
&& Folders.VMList[0].SubFolders.VMList[1].DataContract.Oid == -1)
Folders.VMList[0].SubFolders.VMList[1].IsSelected = true;
// "Eigene" (VMList[1]) im normalen Modus vorauswählen.
if (!IsFavorite && Folders.VMList.Count > 1)
Folders.VMList[1].IsSelected = true;
FirePropertyChanged(nameof(HasFavoriten));
}

View File

@@ -29,8 +29,7 @@ namespace BeWo.ViewModel.View.Administration
private AiActionType AiActionType { get; set; }
public AiPromptbausteinFolderListVM Folders { get; set; }
public AiPromptbausteinFolderVM Favoriten => Folders.VMList[0];
public AiPromptbausteinFolderVM RootFolders => Folders.VMList[1];
public AiPromptbausteinFolderVM Favoriten { get; set; }
public AiPromptbausteinFolderVM CopiedFolder { get; set; }
public AiPromptbausteinPromptVM CopiedPrompt { get; set; }
@@ -82,8 +81,7 @@ namespace BeWo.ViewModel.View.Administration
public AbstractBaseVM SelectedItem
{
get => _SelectedItem;
set
{
set {
var success = SetProperty(ref _SelectedItem, value, nameof(SelectedItem));
if (!success)
@@ -187,12 +185,14 @@ namespace BeWo.ViewModel.View.Administration
listvm =>
{
Folders = listvm;
if (RootFolders.SubFolders.VMList[0].DataContract.Oid == -1)
if (Folders.VMList.Count > 0 && Folders.VMList[0].DataContract.Oid == -5)
{
RootFolders.SubFolders.VMList[0].IsSelected = true;
Favoriten = Folders.VMList[0];
}
if (Folders.VMList.Count > 1)
Folders.VMList[1].IsSelected = true;
FirePropertyChanged(nameof(Folders));
});
}

View File

@@ -1,35 +1,25 @@
using DevExpress.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace BeWo.ViewModel.View
{
public class DialogViewModel : WindowViewModel
{
public event EventHandler Closing;
public event EventHandler Closed;
public event EventHandler RequestCloseFinal;
public DelegateCommand CloseCommand { get; set; }
public DelegateCommand CloseFinalCommand { get; set; }
protected DialogViewModel() : base()
public DialogViewModel() : base()
{
CloseCommand = new DelegateCommand(Close, canClose, false);
CloseFinalCommand = new DelegateCommand(CloseFinal, canClose, false);
}
protected virtual void Close()
{
Closing?.Invoke(this, EventArgs.Empty);
}
protected virtual void CloseFinal()
{
Closed?.Invoke(this, EventArgs.Empty);
}
protected virtual bool canClose()
{
return true;
RequestCloseFinal?.Invoke(this, EventArgs.Empty);
}
}
}

View File

@@ -118,7 +118,6 @@ namespace BeWoDatabaseTerminator.MySql
{
try
{
return;
_Connection.Open();
var command = new MySqlCommand($"DROP SCHEMA IF EXISTS `{schemaName}`;", _Connection);

View File

@@ -57,6 +57,8 @@ namespace BeWoDatabaseTerminator
private static String PUB_KEY_E8 = "04d165f25edc4bb40c029cd2b2faeee96cab3aae38a1f4d4393233c542d4cc330c34c7212090705ce8622f1c71b342d779be460dc1db47a113a0c7df8126633bd48d1df63d823332f6f42be7f5963ab41367187b6b3e8d48d9eadeedae6d3e874c";
private static String PUB_KEY_E9 = "04a05cdc459f3bace602a958495d0c153a22027ce9a68d594897db5c68e9ae3064c9d15b6017a4720ae52449ade7bf3b4783f582b6cfb60777a140657e83335878a1a635d69288ef95c78c99462abd56d0737f69083dd18988c30abed6a6e22a73";
private static String PUB_KEY_R10 = "CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001";
private static String PUB_KEY_R11 = "BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001";
@@ -65,14 +67,20 @@ namespace BeWoDatabaseTerminator
private static String PUB_KEY_R13 = "00a567708dd0568164151761cdb906d4ad19908c2650379816639254dbd9cc840593ecd3ec081ba0605143487d2bc748969eb42dda9dc8273b57a19fabf0d60ed40e30ca6f9bb1d1d6a49d323e584e356f4558687117fc3ed85d82a02fb2516cb01a5db859ce3565c88ba1af1037ffe39c5dc2491734ff8c2b8b8df0bc712c930c1d05c4bac7cdaac95e7cd1c901f79c03f6fc0a5df4da7be6db764270ebf44d22da00776fd6c95f17fdda752ea5570cf6ea5cb6e073a568cfa174e275827e109fc1f5a2eb01e938b10a44ccd3c289f54935820a34b31ce988c2474e820e0a36f0474f8af1290475dacde19a5cff5e9d9895ba9a43d04aa21705010430d332b38f";
private static String PUB_KEY_R14 = "00cd68546c992fd4c4df145ee284bca5a798da8ad5d59e0eb211eaee13bd7f7344cbabf6d9e37f0f2e23cdaf7235aa9eba1daa8e00d6d0e844e0d128ee05b5a783b54b1c6e0cd6f427c78d04c976f8327a9e8b022e71bc9f12b6ac19f4ec4bb134ba50bbb89dc6f3439e006425efa46fabfa8e60e47c9fd5687d97db48a8909078d4138c8fd7c60ab9bec4cbc2f48bbf9689b65dece60bb5c183c59c20af9eabe62498495165e9ce22868a7623cd60d8190118f60bca00d292d556573d7f7278c71febbbb9bb79861970fc6c2c39a25f223ac5870dca69f409caf2716a7a5f0924934a1cd1f7084b4d2295947d80d7beb574769c79690146a715dc792e14818895";
private static String PUB_KEY_YE1 = "0407655075fe68a695ada17d2babca549c8cf31968e2572f3fcd9c0736b32966f160f2854f42729fb3012422e6f4b0186263486925903f5f74f47c1a9c8320e2230847eb9dbb7fbfe65210f2cb1066da33a11c7036cdee9f71b5e226d80bdffabc";
private static String PUB_KEY_YE2 = "04719ab43391d6c410bdcca97b7774942db58738edac647434c7b9de533ea336cf9b920f97269345ab1e5597be796fa812ea881df8925bb121b98cc808aadff603e9ef34fef576e7d2bc5d021d8c55e5a1839ad26214ef57fb1d0d3d3ef603970f";
private static String PUB_KEY_YE3 = "04bb1da0af0ccf58dda60f5be887eae5132b6285518c74bf27b9c4ad4a353599520968896d9bb9dab3bc241a6ab9894cdba3895f99ad6acea68c7e378913b2209e73ac9fc3b546984acb0b9652ab65f8776bc973583c5485377dbec2bb327f6c33";
private static String PUB_KEY_YR1 = "00a158bc5f6c42620317bc9c4d3caa7fa05d7750c8263c0041d3b5422cd0eda179adf65b8464d252055d745724f53f3e8b0fc66ad5dda0738dd6365d40751ae3e2c1276b36ce8b3d273e9986069da1ba2e3da19b43218eb074a799022e416cd536d021fa45204130b490f5c5eb1fc77176fe0f009e39b2c18c2faf14484dc1b230b66ba70037d2f90a05d52108b9b5f3624cfa05659dd2d0e957a8b9a6b5d57de6e75601be5be9efc5e3d0e20ac1f4634d0083bd815486f5873ca798a7be5f49844414edb1bdc1c26a55f62a5e06330ba11fc3f5c1f11d0096a22e654e65f0634d79279ac67a5cf59d98c9bb1736922a1a5f6f572419e13243f9df5ad2746e6e33";
private static String PUB_KEY_YR2 = "00d9d0bc70069a6a87ce25baa31ead5fde78bfdf5d0ee62d042fd4b9e958a65bcaf1a9c7ac21e807e7b2502717a7b04e470703e8123a806f9b70df9b4e80b86885f8a46eb787c0728c2a9c0410096f7cf903cffde3afff0ba0ec8ca4e0d90ec5fd88ea0d9fe794fa9c9a0e4cb15cba4791abcd091901186a7f9d3c5afd38652040ada118a80d916f3ba5aa69b0e02e50972ba18851b79b948ace2a6998ab7a2b1ebb7da0cc324d04088ab6cbdde875f8bf6e5ba6444d712fc1fc6b5cf6455b5290fed8f2cfc5d7a2dd38a6e79938b5f0045f00f6ab288f4f1ad336aea537e00caf983673574daa4393c23c5e57a2f99693f5ac6898bcb9d168f94eab26513d6fb9";
private static String PUB_KEY_YR3 = "00c94b4f90c9fad99bc5349d7ba024a83ede7ada1e8c4a37d34eb06bc74fd36d71d813856ba3ea08b30ccaa7f554229723c9faa28aeeb8e004cfd72b7a20c7ad443db81063c2e254d9f89ec991d5415475a95bfdc2ff998b57a3796edeaa29ee4e8e97ea4e2f3be504836197e32aee5f55c5408cef5ed4a58ba634ac463518c02c68391f5e82f77510956f0a811a56e7c7d8e417b770baafdb86db291162b1bed2fc73c0f7aee95baac03bf0c514a6e2df935f1ca106d23206ab1b6c6d86cafbfd2a7b6d78ee9f6850efd235cb9a4fda682c558a99c63dd144748572b2faa891e8abfbfdee6008afc11a48cb5ccd407d7d42443c0e8883cfb0af9124e223d348a5";
private static bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
try
@@ -93,14 +101,18 @@ namespace BeWoDatabaseTerminator
pk.Contains(PUB_KEY_E6.ToLower()) ||
pk.Contains(PUB_KEY_E7.ToLower()) ||
pk.Contains(PUB_KEY_E8.ToLower()) ||
pk.Contains(PUB_KEY_E9.ToLower()) ||
pk.Contains(PUB_KEY_R10.ToLower()) ||
pk.Contains(PUB_KEY_R11.ToLower()) ||
pk.Contains(PUB_KEY_R12.ToLower()) ||
pk.Contains(PUB_KEY_R13.ToLower()) ||
pk.Contains(PUB_KEY_R14.ToLower()) ||
pk.Contains(PUB_KEY_YE1.ToLower()) ||
pk.Contains(PUB_KEY_YE2.ToLower()) ||
pk.Contains(PUB_KEY_YE3.ToLower()) ||
pk.Contains(PUB_KEY_YR1.ToLower()) ||
pk.Contains(PUB_KEY_YR2.ToLower()))
pk.Contains(PUB_KEY_YR2.ToLower()) ||
pk.Contains(PUB_KEY_YR3.ToLower()))
{
chainContainsPk = true;
}

View File

@@ -7,16 +7,3 @@ WICHTIG:
- Falls die Daten nicht die benötigte Information enthalten, gib an, dass die Daten fehlen, anstatt zu raten.
- KEINE Erklärungen, KEIN Fließtext, KEINE zusätzlichen Notizen!
- Deine Antwort soll eine direkte und verständliche Antwort für den Nutzer sein.
---
### **Allgemein**
- Aktuelle Zeit: {AktuelleZeit}
### **Ansicht**
- Ich befinde mich aktuell in der "{AktuellesModule}" meiner Anwendung.
- {FilterEinstellungen}
### **Daten**
{DatenBlock}

View File

@@ -1334,7 +1334,7 @@ CREATE TABLE IF NOT EXISTS `CustomerVermittlungArbeit` (
`AbgeleisteteStunden` decimal(18,10) DEFAULT NULL,
`ErsparteHafttage` decimal(18,10) DEFAULT NULL,
`GeleisteteRatenzahlung` decimal(18,10) DEFAULT NULL,
`Bemerkung` varchar(256),
`Bemerkung` MediumText,
`GeleisteteEinmalzahlung` decimal(18,10) DEFAULT NULL,
`GrundArbeitsunfahig` tinyint,
`GrundSuchtproblem` tinyint,
@@ -2025,7 +2025,7 @@ CREATE TABLE `aiusersetting` (
`AutoStartRecording` tinyint DEFAULT NULL,
PRIMARY KEY (`Oid`),
CONSTRAINT `FK_AIUSERSETTINGUSEROID_APPLICATIONUSER` FOREIGN KEY (`ApplicationUserOid`) REFERENCES `applicationuser` (`Oid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `aipromptbausteinroutinestep` (
@@ -2143,3 +2143,10 @@ ADD CONSTRAINT `FK_AIPROMPTROUTINESTEP_ROUTINE`
ALTER TABLE `aipromptbausteinroutine`
DROP COLUMN `IsFavorite`;
ALTER TABLE `customervermittlungarbeit`
CHANGE COLUMN `Hinweis` `Hinweis` VARCHAR(1024) NULL DEFAULT NULL ,
CHANGE COLUMN `Bemerkung` `Bemerkung` MEDIUMTEXT NULL DEFAULT NULL ;

View File

@@ -30,8 +30,8 @@ namespace JusinaJugendhilfe.Reporting
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuittierungsbelegKreisBorken));
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
@@ -58,6 +58,7 @@ namespace JusinaJugendhilfe.Reporting
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -94,7 +95,6 @@ namespace JusinaJugendhilfe.Reporting
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.hours = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldApprovedMonth = new DevExpress.XtraReports.UI.CalculatedField();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -227,7 +227,7 @@ namespace JusinaJugendhilfe.Reporting
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeFirstName")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeLastName")});
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell2.Name = "xrTableCell2";
@@ -440,6 +440,14 @@ namespace JusinaJugendhilfe.Reporting
this.ReportHeader.HeightF = 181.9584F;
this.ReportHeader.Name = "ReportHeader";
//
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(785.139F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(248.8611F, 99.99999F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrTable1
//
this.xrTable1.BackColor = System.Drawing.Color.DarkGray;
@@ -911,14 +919,6 @@ namespace JusinaJugendhilfe.Reporting
this.fieldApprovedMonth.Expression = "Round([ApprovedFLSPerWeek]*4.333, 2 )";
this.fieldApprovedMonth.Name = "fieldApprovedMonth";
//
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(785.139F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(248.8611F, 99.99999F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// QuittierungsbelegKreisBorken
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

File diff suppressed because one or more lines are too long

View File

@@ -57,8 +57,15 @@
<ItemGroup>
<Compile Include="Calculation\CustomCalculations.cs" />
<Compile Include="Calculation\CustomGroupDurationCalculator.cs" />
<Compile Include="CustomReportCreator.cs" />
<Compile Include="Export\CustomDataExporter.cs" />
<Compile Include="Export\SageExporter.cs" />
<Compile Include="FLSSollIstReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="FLSSollIstReport.Designer.cs">
<DependentUpon>FLSSollIstReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -99,6 +106,10 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="FLSSollIstReport.resx">
<DependentUpon>FLSSollIstReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>

View File

@@ -145,7 +145,7 @@ namespace PraxisPusteblume.Invoicing
while (anzahl <= 5)
{
vernetzung.Add(monat);
vernetzung.Add(monat++);
anzahl++;
}

View File

@@ -30,6 +30,7 @@ namespace SHKServiceSBD
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -53,7 +54,6 @@ namespace SHKServiceSBD
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
@@ -67,6 +67,7 @@ namespace SHKServiceSBD
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -83,13 +84,12 @@ namespace SHKServiceSBD
// xrTableCell1
//
this.xrTableCell1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Employees2Entries.EmployeeName")});
this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorderColor = false;
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.Text = "[Employee.PersonnelNumber] [EmployeeName]";
this.xrTableCell1.Weight = 4.0816326530612246D;
//
// xrTableRow1
@@ -223,7 +223,7 @@ namespace SHKServiceSBD
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell4.Weight = 1.028912291234853D;
this.xrTableCell4.Weight = 1.0289122912348529D;
//
// xrTableCell9
//
@@ -312,11 +312,6 @@ namespace SHKServiceSBD
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -433,6 +428,11 @@ namespace SHKServiceSBD
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// EmployeeKilometerauswertungsListReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -457,6 +457,8 @@ namespace SHKServiceSBD
this.PageInfo,
this.DataField});
this.Version = "23.2";
xrWatermark1.Id = "Watermark1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();

View File

@@ -30,6 +30,7 @@ namespace SHKServiceSBD
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
@@ -50,7 +51,6 @@ namespace SHKServiceSBD
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
@@ -65,6 +65,7 @@ namespace SHKServiceSBD
this.fieldGroupFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
@@ -286,11 +287,6 @@ namespace SHKServiceSBD
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 1.6553300906804376D;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -320,7 +316,8 @@ namespace SHKServiceSBD
this.xrLabel1.SizeF = new System.Drawing.SizeF(677.0001F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "Auswertung über gefahrene Kilometer für [EmployeeName]";
this.xrLabel1.Text = "Auswertung über gefahrene Kilometer für [Employee.PersonnelNumber] [EmployeeName]" +
"";
//
// pageFooterBand1
//
@@ -415,6 +412,11 @@ namespace SHKServiceSBD
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.EmployeeKilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// EmployeeKilometerauswertungsReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -440,6 +442,8 @@ namespace SHKServiceSBD
this.PageInfo,
this.DataField});
this.Version = "23.2";
xrWatermark1.Id = "Watermark1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();

View File

@@ -66,6 +66,7 @@ namespace SHKServiceSBD
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
@@ -86,12 +87,7 @@ namespace SHKServiceSBD
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -103,13 +99,12 @@ namespace SHKServiceSBD
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -488,6 +483,10 @@ namespace SHKServiceSBD
this.xrTableCell42.StylePriority.UseFont = false;
this.xrTableCell42.Weight = 0.036970781165109573D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -670,24 +669,22 @@ namespace SHKServiceSBD
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5,
this.xrTable4});
this.GroupFooter1.HeightF = 88.33333F;
this.GroupFooter1.HeightF = 94.16667F;
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.BorderColor = System.Drawing.Color.Black;
this.xrTable5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable5.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTable5.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 48.33333F);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(678F, 75F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow4});
this.xrTable5.SizeF = new System.Drawing.SizeF(1020F, 40F);
this.xrTable5.SizeF = new System.Drawing.SizeF(341.9999F, 19.16667F);
this.xrTable5.StylePriority.UseBorders = false;
this.xrTable5.StylePriority.UseFont = false;
this.xrTable5.StylePriority.UsePadding = false;
@@ -696,59 +693,12 @@ namespace SHKServiceSBD
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell24,
this.xrTableCell25,
this.xrTableCell26,
this.xrTableCell27,
this.xrTableCell29,
this.xrTableCell30});
this.xrTableCell29});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.StylePriority.UsePadding = false;
this.xrTableRow4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow4.Weight = 2D;
//
// xrTableCell24
//
this.xrTableCell24.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.StylePriority.UseFont = false;
this.xrTableCell24.StylePriority.UseTextAlignment = false;
this.xrTableCell24.Text = "Unterschrift MA";
this.xrTableCell24.Weight = 0.047977347581759984D;
//
// xrTableCell25
//
this.xrTableCell25.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.StylePriority.UseBorders = false;
this.xrTableCell25.StylePriority.UseFont = false;
this.xrTableCell25.StylePriority.UsePadding = false;
this.xrTableCell25.StylePriority.UseTextAlignment = false;
this.xrTableCell25.Weight = 0.047977347581759984D;
//
// xrTableCell26
//
this.xrTableCell26.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.StylePriority.UseFont = false;
this.xrTableCell26.StylePriority.UseTextAlignment = false;
this.xrTableCell26.Text = "Unterschrift Schule";
this.xrTableCell26.Weight = 0.047977350801404237D;
//
// xrTableCell27
//
this.xrTableCell27.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.StylePriority.UseBorders = false;
this.xrTableCell27.StylePriority.UseFont = false;
this.xrTableCell27.StylePriority.UsePadding = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
this.xrTableCell27.Weight = 0.047977350801404237D;
//
// xrTableCell29
//
this.xrTableCell29.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
@@ -757,19 +707,8 @@ namespace SHKServiceSBD
this.xrTableCell29.Name = "xrTableCell29";
this.xrTableCell29.StylePriority.UseFont = false;
this.xrTableCell29.StylePriority.UseTextAlignment = false;
this.xrTableCell29.Text = "Bestätigung\r\nBuchhaltung";
this.xrTableCell29.Weight = 0.047977349729502745D;
//
// xrTableCell30
//
this.xrTableCell30.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.StylePriority.UseBorders = false;
this.xrTableCell30.StylePriority.UseFont = false;
this.xrTableCell30.StylePriority.UsePadding = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
this.xrTableCell30.Weight = 0.047977349729502745D;
this.xrTableCell29.Text = "Bestätigung Buchhaltung";
this.xrTableCell29.Weight = 0.096519112666769713D;
//
// xrTable4
//
@@ -911,10 +850,6 @@ namespace SHKServiceSBD
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// Quittierungsbeleg
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -944,10 +879,10 @@ namespace SHKServiceSBD
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -1018,12 +953,7 @@ namespace SHKServiceSBD
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTable xrTable5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell29;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell30;
private DevExpress.XtraReports.UI.FormattingRule formattingRule1;
}
}

View File

@@ -63,7 +63,7 @@ namespace SHKServiceSBD
if (usd.EndDateMinutes.HasValue)
{
maxend = usd.StartDateMinutes.Value;
maxend = usd.EndDateMinutes.Value;
}
if (sd.StartDate < minstart)
{

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
@@ -13,8 +10,13 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
using DevExpress.DataProcessing.InMemoryDataProcessor;
using DevExpress.Office.Drawing;
using Service.Invoicing;
using System;
using System.Collections.Generic;
using System.Linq;
using static DevExpress.Xpo.DB.DataStoreLongrunnersWatch;
namespace SozialeDienstleistungenBeckerReports.Invoicing
{
@@ -35,6 +37,80 @@ namespace SozialeDienstleistungenBeckerReports.Invoicing
return ii;
}
public override void SetServiceInvoicePeriods(ServiceInvoice invoice, CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
{
var invoiceAccountingPeriodSpan = new DateTimeSpan
{
StartDateTime = invoice.InvoiceBase.AccountingPeriodStart.Value,
EndDateTime = invoice.InvoiceBase.AccountingPeriodEnd.Value
};
foreach (SupportConceptApprovalPeriod iPeriod in costBearer2SupportConcept.ApprovalPeriodList)
{
SupportConceptApprovalPeriodDC approvalPeriodDC = MapperFactory.SupportConceptApprovalPeriodDC_SupportConceptApprovalPeriod.MapToNewDC(iPeriod);
if (approvalPeriodDC.Span.EndDateTime < invoiceAccountingPeriodSpan.StartDateTime || approvalPeriodDC.Span.StartDateTime > invoiceAccountingPeriodSpan.EndDate)
{
continue;
}
ServiceInvoicePeriod serviceInvoicePeriod = CreateServiceInvoicePeriod(approvalPeriodDC, invoiceAccountingPeriodSpan);
serviceInvoicePeriod.SupportConceptApprovalPeriod = iPeriod;
serviceInvoicePeriod.Customer = costBearer2SupportConcept.SupportConcept.Customer;
CostBearer costBearer = costBearer2SupportConcept.CostBearer;
List<CostRatePeriodDC> costRates = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(costBearer.CostRatePeriods);
CostRatePeriodDC serviceUnit = costRates.GetCostRatePeriodForDate(CostRatePeriodType.MinutesPerServiceUnit, DateTime.Now);
serviceInvoicePeriod.ServiceUnitName = serviceUnit.UnitName;
SetInvoiceItems(invoice, serviceInvoicePeriod, approvalPeriodDC, costBearer2SupportConcept, invoicePeriod, serviceRecords);
if (serviceInvoicePeriod.InvoiceItemList.Count > 0)
{
if (invoice.ServiceInvoicePeriodList.Count == 0)
{
invoice.ServiceInvoicePeriodList.Add(serviceInvoicePeriod);
}
else
{
invoice.ServiceInvoicePeriodList[0].InvoiceItemList.AddRange(serviceInvoicePeriod.InvoiceItemList);
}
}
}
if (invoice.ServiceInvoicePeriodList.Count > 0)
{
var summary = CreateSummaryInvoiceItems(invoice.ServiceInvoicePeriodList[0].InvoiceItemList, invoicePeriod, invoice.ServiceInvoicePeriodList[0].SupportConceptApprovalPeriod, null);
invoice.ServiceInvoicePeriodList[0].InvoiceItemList = summary;
}
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
{
var list = new List<InvoiceItem>();
foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod)
{
if (iServiceRecord.ServiceDescription.Category.IsBillable)
{
if (!iServiceRecord.AlreadyAccounted)
{
InvoiceItem invoiceItem = CreateInvoiceItem(iServiceRecord, scap, calc);
if (invoiceItem != null)
{
list.Add(invoiceItem);
}
iServiceRecord.AlreadyAccounted = true;
}
}
}
return list;
}
}
}

View File

@@ -3,6 +3,8 @@ using BS.Shared.Extensions;
using DevExpress.Utils;
using DevExpress.XtraReports.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -68,6 +70,43 @@ namespace BeWo.Report.DefaultReports
String name = Regex.Replace(String.Format("{0}, {1}", pRO.CustomerLastName, pRO.CustomerFirstName), @"\s*\(.*?\)", "");
pRO.CustomerName = name;
//Mache aus mehreren Periods eine einzelne
if (pRO.ServiceInvoicePeriods.Count > 1)
{
var newList = new List<ServiceInvoicePeriodRO>();
foreach (var sip in pRO.ServiceInvoicePeriods)
{
if (newList.Count == 0)
{
newList.Add(sip);
}
else
{
foreach (var item in sip.ServiceInvoiceItems)
{
var first = newList[0];
var olditem = first.ServiceInvoiceItems.FirstOrDefault(s => s.ServiceDescription == item.ServiceDescription);
if (olditem != null)
{
olditem.Hours = (olditem.Hours ?? 0) + (item.Hours ?? 0);
olditem.UnitCount = (olditem.UnitCount ?? 0) + (item.UnitCount ?? 0);
olditem.NetAmount = (olditem.NetAmount ?? 0) + (item.NetAmount ?? 0);
olditem.GrossAmount = string.Format("{0:c}", olditem.NetAmount);
//olditem.UnitCount = (olditem.UnitCount ?? 0) + (item.UnitCount ?? 0);
}
else
{
first.ServiceInvoiceItems.Add(item);
}
}
}
}
pRO.ServiceInvoicePeriods = newList;
}
foreach (var sip in pRO.ServiceInvoicePeriods)
{
foreach (var item in sip.ServiceInvoiceItems)
@@ -78,6 +117,9 @@ namespace BeWo.Report.DefaultReports
}
}
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -125,7 +125,6 @@
<Compile Include="Prompt\SystemPrompts\AiFunctionSystemPromptBuilder.cs" />
<Compile Include="Prompt\SystemPrompts\AiConversationSystemPromptBuilder.cs" />
<Compile Include="Prompt\Models\AiConversationContext.cs" />
<Compile Include="Prompt\SystemPrompts\AiGenericSystemPromptBuilder.cs" />
<Compile Include="Prompt\SystemPrompts\BaseSystemPromptBuilder.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

View File

@@ -1,7 +1,6 @@
using AICore.Context.Summary;
using AICore.Prompt.SystemPrompts;
using BS.Shared;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using System;
using System.Collections.Generic;
@@ -14,27 +13,25 @@ namespace AICore.Prompt
{
public class AiSystemPromptFactory
{
public static string BuildContext(AiActionType actionType, string prompt_path, AiViewContextDC view_context, BaseContextSummary context, AiDataContextType context_type)
public static string BuildContext(AiActionType actionType, string prompt_path, BaseContextSummary context, AiDataContextType context_type)
{
switch (actionType)
{
case AiActionType.ServiceRecord:
break;
case AiActionType.ServiceRecordConversation:
var factory = new AiConversationSystemPromptBuilder(prompt_path);
var prompt = factory.CreateSystemPrompt(actionType, context, context_type);
return prompt;
case AiActionType.ServiceRecordDocumentation:
return BuildGenericContext(actionType, prompt_path, view_context, context, context_type);
var factory2 = new AiFunctionSystemPromptBuilder(prompt_path);
var prompt2 = factory2.CreateServiceRecordDocumentationSystemPrompt(context);
return prompt2;
default:
break;
}
throw BeWoNotImplementedException.CreateFromEnum(actionType);
}
public static string BuildGenericContext(AiActionType actionType, string prompt_path, AiViewContextDC view_context, BaseContextSummary context, AiDataContextType context_type)
{
var factory = new AiGenericSystemPromptBuilder(prompt_path);
return factory.CreateSystemPrompt(actionType, view_context, context, context_type);
}
}
}

View File

@@ -2,7 +2,6 @@
using AICore.Context.SummaryParser;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using BS.Shared.Translation;
using System;
@@ -15,74 +14,66 @@ using System.Text.Json;
namespace AICore.Prompt.SystemPrompts
{
//internal class AiConversationSystemPromptBuilder : BaseSystemPromptBuilder
//{
// public AiConversationSystemPromptBuilder(string prompt_path) : base(prompt_path) {
internal class AiConversationSystemPromptBuilder : BaseSystemPromptBuilder
{
public AiConversationSystemPromptBuilder(string prompt_path) : base(prompt_path) {
// }
}
// public string CreateSystemPrompt(AiActionType actionType, AiViewContextDC view_context, BaseContextSummary context, AiDataContextType aiDataContextType)
// {
// var currentDateTime = DateTime.Now;
// var moduleName = Translations[actionType];
// var filter = view_context.Filter is string filter_str
// ? $"Es ist folgender Filter gesetzt: {filter_str}"
// : "Es ist kein Filter gesetzt.";
public string CreateSystemPrompt(AiActionType actionType, BaseContextSummary context, AiDataContextType aiDataContextType)
{
var sb = new StringBuilder();
// var context =
sb.AppendLine(getCustomSystemPrompt());
sb.AppendLine();
sb.AppendLine();
sb.AppendLine("---");
sb.AppendLine();
sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
sb.AppendLine();
sb.AppendLine("### **Ansicht**");
sb.AppendLine($"- Ich befinde mich aktuell in der \"{Translations[actionType]}\" meiner Anwendung.");
sb.AppendLine($"- Es ist kein Filter gesetzt.");
sb.AppendLine();
sb.AppendLine("### **Daten**");
// var sb = new StringBuilder();
if (context?.Context is null)
{
sb.AppendLine("Dir wurden keine Daten bereitgestellt.");
}
else
{
sb.AppendLine("Du erhälst folgende Daten:");
// sb.AppendLine(getCustomSystemPrompt());
// sb.AppendLine();
// sb.AppendLine();
// sb.AppendLine("---");
// sb.AppendLine();
// sb.AppendLine("### **Allgemein**");
// sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
// sb.AppendLine();
// sb.AppendLine("### **Ansicht**");
// sb.AppendLine($"- Ich befinde mich aktuell in der \"{Translations[actionType]}\" meiner Anwendung.");
var parser = GetParser(aiDataContextType);
var parsed = parser.Parse(actionType, context);
// sb.AppendLine();
// sb.AppendLine("### **Daten**");
sb.AppendLine(parsed);
}
// if (context?.Context is null)
// {
// sb.AppendLine("Dir wurden keine Daten bereitgestellt.");
// }
// else
// {
// sb.AppendLine("Du erhälst folgende Daten:");
return sb.ToString();
}
// var parser = GetParser(aiDataContextType);
// var parsed = parser.Parse(actionType, context);
private BaseContextSummaryParser GetParser(AiDataContextType aiDataContextType)
{
switch (aiDataContextType)
{
case AiDataContextType.json:
return new JsonContextSummaryParser();
case AiDataContextType.csv:
return new CsvContextSummaryParser();
case AiDataContextType.tsv:
return new CsvContextSummaryParser("\t");
case AiDataContextType.csv2:
return new CsvContextSummaryParser(";", true);
case AiDataContextType.tsv2:
return new CsvContextSummaryParser("\t", true);
default:
break;
}
// sb.AppendLine(parsed);
// }
// return sb.ToString();
// }
// private BaseContextSummaryParser GetParser(AiDataContextType aiDataContextType)
// {
// switch (aiDataContextType)
// {
// case AiDataContextType.json:
// return new JsonContextSummaryParser();
// case AiDataContextType.csv:
// return new CsvContextSummaryParser();
// case AiDataContextType.tsv:
// return new CsvContextSummaryParser("\t");
// case AiDataContextType.csv2:
// return new CsvContextSummaryParser(";", true);
// case AiDataContextType.tsv2:
// return new CsvContextSummaryParser("\t", true);
// default:
// break;
// }
// throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
// }
//}
throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
}
}
}

View File

@@ -3,7 +3,6 @@ using AICore.Context.Summary.Function;
using AICore.Context.SummaryParser;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Feature.AI;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@@ -14,53 +13,46 @@ using System.Threading.Tasks;
namespace AICore.Prompt.SystemPrompts
{
//internal class AiFunctionSystemPromptBuilder : BaseSystemPromptBuilder
//{
// public AiFunctionSystemPromptBuilder(string prompt_path) : base(prompt_path)
// {
internal class AiFunctionSystemPromptBuilder : BaseSystemPromptBuilder
{
public AiFunctionSystemPromptBuilder(string prompt_path) : base(prompt_path)
{
// }
}
// public string CreateServiceRecordDocumentationSystemPrompt(AiViewContextDC view_context, BaseContextSummary context)
// {
// var sb = new StringBuilder();
public string CreateServiceRecordDocumentationSystemPrompt(BaseContextSummary context)
{
var sb = new StringBuilder();
// sb.AppendLine(getCustomSystemPrompt());
// sb.AppendLine();
// sb.AppendLine();
// sb.AppendLine("---");
// sb.AppendLine();
// sb.AppendLine("### **Allgemein**");
// sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
// sb.AppendLine();
// sb.AppendLine("### **Ansicht**");
// sb.AppendLine($"- Ich befinde mich aktuell in der \"Zeiterfassung\" meiner Anwendung.");
// if(view_context.Filter is string filter_str)
// {
// sb.AppendLine($"- Es ist folgender Filter gesetzt: {filter_str}");
// }
// else
// {
// sb.AppendLine($"- Es ist kein Filter gesetzt.");
// }
// sb.AppendLine();
// sb.AppendLine("### **Daten**");
sb.AppendLine(getCustomSystemPrompt());
sb.AppendLine();
sb.AppendLine();
sb.AppendLine("---");
sb.AppendLine();
sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
sb.AppendLine();
sb.AppendLine("### **Ansicht**");
sb.AppendLine($"- Ich befinde mich aktuell in der \"Zeiterfassung\" meiner Anwendung.");
sb.AppendLine($"- Es ist kein Filter gesetzt.");
sb.AppendLine();
sb.AppendLine("### **Daten**");
// if (context?.Context is null)
// {
// sb.AppendLine("Dir wurden keine Daten bereitgestellt.");
// }
// else
// {
// sb.AppendLine("Du erhälst folgende Daten:");
if (context?.Context is null)
{
sb.AppendLine("Dir wurden keine Daten bereitgestellt.");
}
else
{
sb.AppendLine("Du erhälst folgende Daten:");
// var parser = new CsvContextSummaryParser();
// var parsed = parser.Parse(AiActionType.ServiceRecordDocumentation, context);
var parser = new CsvContextSummaryParser();
var parsed = parser.Parse(AiActionType.ServiceRecordDocumentation, context);
// sb.AppendLine(parsed);
// }
sb.AppendLine(parsed);
}
// return sb.ToString();
// }
//}
return sb.ToString();
}
}
}

View File

@@ -1,57 +0,0 @@
using AICore.Context.Summary;
using AICore.Context.SummaryParser;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Remoting.Messaging;
namespace AICore.Prompt.SystemPrompts
{
internal class AiGenericSystemPromptBuilder : BaseSystemPromptBuilder
{
public AiGenericSystemPromptBuilder(string prompt_path) : base(prompt_path)
{
}
public string CreateSystemPrompt(AiActionType actionType, AiViewContextDC view_context, BaseContextSummary context, AiDataContextType aiDataContextType)
{
var replace_dict = new Dictionary<string, string>()
{
{"{AktuelleZeit}", DateTime.Now.ToString() },
{"{AktuellesModule}", Translations[actionType]},
{"{FilterEinstellungen}", getFilterString(view_context.Filter)},
{"{DatenBlock}", getContextBlock(actionType, context, aiDataContextType)}
};
return createSystemPrompt(replace_dict);
}
private string getFilterString(object filter)
{
if (filter is null)
return "Es ist kein Filter gesetzt.";
return $"Es ist folgender Filter gesetzt: {filter}";
}
private string getContextBlock(AiActionType actionType, BaseContextSummary context, AiDataContextType aiDataContextType)
{
if (context is null)
{
return "Dir wurden keine Daten bereitgestellt.";
}
var parser = getParser(aiDataContextType);
var parsed = parser.Parse(actionType, context);
return $"Du erhälst folgende Daten: {Environment.NewLine}"
+ parsed;
}
}
}

View File

@@ -1,8 +1,4 @@
using AICore.Context.Summary;
using AICore.Context.SummaryParser;
using BS.Shared;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using BS.Shared;
using System;
using System.Collections.Generic;
using System.IO;
@@ -28,45 +24,7 @@ namespace AICore.Prompt.SystemPrompts
Path = path;
}
protected string createSystemPrompt(Dictionary<string, string> replace_dict)
{
var sb = new StringBuilder();
sb.AppendLine(getCustomSystemPrompt());
foreach (var kvp in replace_dict)
{
var key = kvp.Key;
var value = kvp.Value;
sb.Replace(key, value);
}
return sb.ToString();
}
protected BaseContextSummaryParser getParser(AiDataContextType aiDataContextType)
{
switch (aiDataContextType)
{
case AiDataContextType.json:
return new JsonContextSummaryParser();
case AiDataContextType.csv:
return new CsvContextSummaryParser();
case AiDataContextType.tsv:
return new CsvContextSummaryParser("\t");
case AiDataContextType.csv2:
return new CsvContextSummaryParser(";", true);
case AiDataContextType.tsv2:
return new CsvContextSummaryParser("\t", true);
default:
break;
}
throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
}
private string getCustomSystemPrompt()
protected string getCustomSystemPrompt()
{
var path = Path;
return File.ReadAllText(path);

View File

@@ -45,7 +45,7 @@ namespace BeWo.Service.Dokumentverwaltung
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Zu leistende Arbeitsstunden", Platzhalter = "ZuLeistendeArbeitsstunden", FieldName = "CustomerVermittlungArbeit.ZuLeistendeArbeitsstunden", IconType = "AB", Format = "0.0#" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Frist", Platzhalter = "Frist", FieldName = "CustomerVermittlungArbeit.Frist", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Hinweis", Platzhalter = "Hinweis", FieldName = "CustomerVermittlungArbeit.Hinweis", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Termin", Platzhalter = "Termin", FieldName = "CustomerVermittlungArbeit.Termin", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Termin", Platzhalter = "Termin", FieldName = "CustomerVermittlungArbeit.Termin", IconType = "AB", Format = "dd.MM.yyyy HH:mm" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Bearbeitungsstatus", Platzhalter = "CustomerVermittlungBearbeitungsstatus", FieldName = "CustomerVermittlungArbeit.CustomerVermittlungBearbeitungsstatus", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Auftragsrückgabe", Platzhalter = "Auftragsruckgabe", FieldName = "CustomerVermittlungArbeit.Auftragsruckgabe", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Verlauf", Platzhalter = "Verlauf", FieldName = "CustomerVermittlungArbeit.Verlauf.Value", IconType = "AB" });
@@ -71,9 +71,9 @@ namespace BeWo.Service.Dokumentverwaltung
auftraggeber.Children.Add(new PlatzhalterDC { Bezeichnung = "Briefanrede", Platzhalter = "AGBriefanrede", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Briefanrede", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Vorname", Platzhalter = "AGVorname", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.FirstName", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Nachname", Platzhalter = "AGNachname", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.LastName", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "AGStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.Street" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "AGPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.PostalCode" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "AGOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.Town" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "AGStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Auftraggeber.Address.Street" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "AGPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Auftraggeber.Address.PostalCode" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "AGOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Auftraggeber.Address.Town" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Telefon", Platzhalter = "AGTelefon", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Handy", Platzhalter = "AGHandy", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "E-Mail", Platzhalter = "AGEmail", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
@@ -92,9 +92,9 @@ namespace BeWo.Service.Dokumentverwaltung
einsatzstelle.Children.Add(new PlatzhalterDC { Bezeichnung = "Briefanrede", Platzhalter = "ESBriefanrede", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Briefanrede", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Vorname", Platzhalter = "ESVorname", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.FirstName", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Nachname", Platzhalter = "ESNachname", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.LastName", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "ESStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.Street" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "ESPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.PostalCode" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "ESOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.Town" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "ESStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Einsatzstelle.Address.Street" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "ESPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Einsatzstelle.Address.PostalCode" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "ESOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.Einsatzstelle.Address.Town" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Telefon", Platzhalter = "ESTelefon", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Handy", Platzhalter = "ESHandy", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "E-Mail", Platzhalter = "ESEmail", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });

View File

@@ -29,27 +29,17 @@ namespace BeWo.Service.Plugins
public IEnumerable<AiPromptbausteinFolderDC> GetAiPromptbausteinFolder(AiActionType aiActionType)
{
var bib = PredefinedAiPromptbausteinFolders.CreateRootBibNode(aiActionType);
var own_bib = getOwnFolder(aiActionType);
var public_bib = getPublicFolders(aiActionType);
var ownsoft_bib = getOwnsoftFolder(aiActionType);
bib.SubFolders.Add(own_bib);
bib.SubFolders.Add(public_bib);
if (ownsoft_bib is object)
bib.SubFolders.Add(ownsoft_bib);
foreach(var folder in bib.SubFolders)
{
folder.ParentFolderOid = bib.ParentFolderOid;
}
var result = new List<AiPromptbausteinFolderDC>() {
bib
own_bib, public_bib
};
if(ownsoft_bib is object)
result.Add(ownsoft_bib);
return result;
}
@@ -72,8 +62,6 @@ namespace BeWo.Service.Plugins
initOwnFolder(own_bib);
own_bib.CanEdit = false;
return own_bib;
}

View File

@@ -397,7 +397,7 @@ namespace BeWo.Service.Plugins
var context_loaded = AiContextLoader.LoadContext(actionType, view_context, sampleCount);
var configPath = getPromptPath(actionType);
var system_prompt = AiSystemPromptFactory.BuildContext(actionType, configPath, view_context, context_loaded, context_Type);
var system_prompt = AiSystemPromptFactory.BuildContext(actionType, configPath, context_loaded, context_Type);
var msg = new AiConversationMessage();
msg.Message = system_prompt;

View File

@@ -50,72 +50,112 @@ namespace BS.Shared.DataContracts.Feature.AI
};
}
public static AiPromptbausteinFolderDC CreateRootBibNode(AiActionType aiActionType)
{
var title = AiPromptbausteineTexts.RootBibNodeTitle;
var description = AiPromptbausteineTexts.RootBibNodeDescription;
var node = CreateNode(aiActionType, -51, title, description, null);
return node;
}
public static AiPromptbausteinFolderDC CreateOwnBibNode(AiActionType aiActionType)
{
var title = AiPromptbausteineTexts.OwnBibNodeTitle;
var description = AiPromptbausteineTexts.OwnBibNodeDescription;
var node = CreateNode(aiActionType, -1, title, description, null);
node.CanAddFolder = true;
node.CanAddPrompt = true;
node.CanAddRoutine = true;
return node;
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.OwnBibNodeDescription,
Oid = -1,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.OwnBibNodeTitle,
Version = 1,
CanAddFolder = true,
CanAddPrompt = true,
CanAddRoutine = true,
IsExpanded = true,
};
}
//public static AiPromptbausteinFolderDC CreateSharedBibNode(AiActionType aiActionType)
//{
// return new AiPromptbausteinFolderDC()
// {
// ActionType = aiActionType,
// Description = AiPromptbausteineTexts.SharedBibNodeDescription,
// Oid = -2,
// ParentFolderOid = null,
// SubFolders = new List<AiPromptbausteinFolderDC>(),
// SubPrompts = new List<AiPromptbausteinPromptDC>(),
// Title = AiPromptbausteineTexts.SharedBibNodeTitle,
// Version = 1,
// IsExpanded = true,
// IsNewFeature = true
// };
//}
public static AiPromptbausteinFolderDC CreatePublicBibNode(AiActionType aiActionType)
{
var title = AiPromptbausteineTexts.PublicBibNodeTitle;
var description = AiPromptbausteineTexts.PublicBibNodeDescription;
var node = CreateNode(aiActionType, -3, title, description, null);
return node;
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.PublicBibNodeDescription,
Oid = -3,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.PublicBibNodeTitle,
Version = 1,
IsExpanded = true
};
}
public static AiPromptbausteinFolderDC CreatePublicSharedBibNode(AiActionType aiActionType, string display)
{
var title = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeTitle, display);
var description = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeDescription, display);
var node = CreateNode(aiActionType, -31, title, description, null);
node.IsExpanded = false;
return node;
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeDescription, display),
Oid = -31,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeTitle, display),
Version = 1,
IsExpanded = false
};
}
public static AiPromptbausteinFolderDC CreateOwnsoftBibNode(AiActionType aiActionType)
{
var title = AiPromptbausteineTexts.OwnsoftBibNodeTitle;
var description = AiPromptbausteineTexts.OwnsoftBibNodeDescription;
var node = CreateNode(aiActionType, -4, title, description, null);
return node;
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.OwnsoftBibNodeDescription,
Oid = -4,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.OwnsoftBibNodeTitle,
Version = 1,
IsExpanded = true,
IsNewFeature = false
};
}
public static AiPromptbausteinFolderDC CreateExampleNode(AiActionType aiActionType)
{
var node = CreateNode(aiActionType, -100, "Beispiel Ordner", "Beispielbeschreibung", null);
node.CanAddFolder = true;
node.CanAddPrompt = true;
node.CanAddRoutine = true;
node.CanEdit = true;
return node;
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = "Beispielbeschreibung",
Oid = -100,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = "Beispiel Ordner",
Version = 1,
CanAddFolder = true,
CanAddPrompt = true,
CanEdit = true
};
}
public static AiPromptbausteinPromptDC CreateExamplePrompt(AiActionType aiActionType)
@@ -130,26 +170,5 @@ namespace BS.Shared.DataContracts.Feature.AI
OwnsoftRefLink = "https://help.bewoplaner.de/"
};
}
public static AiPromptbausteinFolderDC CreateNode(AiActionType aiActionType, long oid, string title, string description, long? parent_folder_oid)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = description,
Oid = oid,
ParentFolderOid = parent_folder_oid,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = title,
Version = 1,
CanAddFolder = false,
CanAddPrompt = false,
CanAddRoutine = false,
CanEdit = false,
IsExpanded = true,
};
}
}
}

View File

@@ -16,9 +16,6 @@ namespace BS.Shared.DataContracts.Feature.AI
[DataMember]
public object Secondary { get; set; }
[DataMember]
public object Filter { get; set; }
[DataMember]
public Dictionary<TableID, long[]> References { get; set; }
}

View File

@@ -8,8 +8,6 @@ namespace BS.Shared.Text
{
public static class AiPromptbausteineTexts
{
public static string RootBibNodeTitle => "Bibliothek";
public static string RootBibNodeDescription => "Hier sehen Sie alle Prompts";
public static string OwnBibNodeTitle => "Eigene";
public static string OwnBibNodeDescription => "Hier können Sie Ihre eigenen Prompts verwalten";
public static string PublicBibNodeTitle => "Geteilt";