Konflikte gelöst.

This commit is contained in:
2024-07-24 17:13:12 +02:00
466 changed files with 59242 additions and 88488 deletions

4
.gitignore vendored
View File

@@ -622,6 +622,10 @@ obj
/CustomerDlls
/Dakota/bin
/Dakota/obj
/DakotaSender/bin
/DakotaSender/obj
/DakotaUnitTest/bin
/DakotaUnitTest/obj
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Release
/ReportImp/TestLWV

View File

@@ -39,16 +39,16 @@
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>true</UpdateRequired>
<MapFileExtensions>false</MapFileExtensions>
<InstallUrl>https://app.ownsoft.de/test/</InstallUrl>
<InstallUrl>https://app.ownsoft.de/</InstallUrl>
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.243</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.248</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>244</ApplicationRevision>
<ApplicationRevision>249</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>

View File

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

View File

@@ -50,7 +50,7 @@ namespace BeWo
public static MainControl MainControl;
public static string ShortVersion = "3.21";
public static string Version = "Version 3.21 (GKV Test)";
public static string Version = "Version 3.21.4";
public static int RenderTier = 0;
@@ -596,6 +596,7 @@ namespace BeWo
AppSettings.AllowStorno = true;
AppSettings.ShowAI = true;
AppSettings.ShowAIInternal = true;
AppSettings.ShowWorktime = true;
//showInfoButtonInCalender = true;
#endif
@@ -646,7 +647,7 @@ namespace BeWo
String url = "";
#if DEBUG
url = String.Format("http://localhost:3777/Host");
//return new Uri("https://app5.bewoplaner.de/service");
//return new Uri("https://app4.bewoplaner.de/service");
//url = String.Format("app1.bewoplaner.de/service");
#endif
@@ -855,9 +856,6 @@ namespace BeWo
{
if (MainControl != null)
{
MainControl.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) (() =>
{
UserControl exControl = null;
@@ -924,7 +922,7 @@ namespace BeWo
base.OnStartup(e);
//AppDomain.CurrentDomain.UnhandledException += (s, ex) => ShowError(null, ex.ExceptionObject as Exception, true);
Dispatcher.UnhandledException += (s, ex)
=>
{
@@ -1158,7 +1156,11 @@ namespace BeWo
{
abc.Close();
}
}
else if (abc.Title.IndexOf("Popup") >= 0)
{
abc.Close();
}
}
MainControl.HideCurrentModalViewWindows();

View File

@@ -347,7 +347,8 @@ namespace BeWo.Core.Service
}
if (ve == null)
{
return new ValueListEntryDC {TypeDescription = "<Gelöscht>"};
return new ValueListEntryDC {TypeDescription = "<Gelöscht>", ValueListEntryOid = oid };
//return new ValueListEntryDC { TypeDescription = "<Gelöscht>" };
}
return ve;
}

View File

@@ -242,12 +242,18 @@ namespace BeWo
ServicePointManager.ServerCertificateValidationCallback = PinPublicKey;
}
//!!!!Wenn hier neue Keys hinzugefügt werden, muss das auch in der Klasse ChatController.HauptKlassen.Chat und im DatabaseTerminator gemacht werden!!
private static String PUB_KEY_X3 = "3082010A02820101009CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001";
private static String PUB_KEY_R3 = "3082010A0282010100BB021528CCF6A094D30F12EC8D5592C3F882F199A67A4288A75D26AAB52BB9C54CB1AF8E6BF975C8A3D70F4794145535578C9EA8A23919F5823C42A94E6EF53BC32EDB8DC0B05CF35938E7EDCF69F05A0B1BBEC094242587FA3771B313E71CACE19BEFDBE43B45524596A9C153CE34C852EEB5AEED8FDE6070E2A554ABB66D0E97A540346B2BD3BC66EB66347CFA6B8B8F572999F830175DBA726FFB81C5ADD286583D17C7E709BBF12BF786DCC1DA715DD446E3CCAD25C188BC60677566B3F118F7A25CE653FF3A88B647A5FF1318EA9809773F9D53F9CF01E5F5A6701714AF63A4FF99B3939DDC53A706FE48851DA169AE2575BB13CC5203F5ED51A18BDB150203010001";
private static String PUB_KEY_E1 = "04245C2DA22AFD1C4BA65D97732731ACB2A06962EF65E8A6B0F0AC4B9FFF1C0B700FD3982F4DFC0F009B37F074055732972E05EF2A4325A3FB6E342713F64F7E69D302995EEB244792C1249BE6B1218FC12481FC68CC1F69BA58F51922F774C616";
private static String PUB_KEY_R11 = "3082010A0282010100BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001";
private static String PUB_KEY_R10 = "3082010A0282010100CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001";
private bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
@@ -261,7 +267,11 @@ namespace BeWo
foreach (var element in chain.ChainElements)
{
String pk = element.Certificate.GetPublicKeyString();
if (pk == PUB_KEY_X3 || pk == PUB_KEY_R3 || pk == PUB_KEY_E1)
String testx3 = PUB_KEY_X3;
String testr3 = PUB_KEY_R3;
String teste1 = PUB_KEY_E1;
String r11 = PUB_KEY_R11;
if (pk == PUB_KEY_X3 || pk == PUB_KEY_R3 || pk == PUB_KEY_E1 || pk == PUB_KEY_R11 || pk == PUB_KEY_R10)
{
chainContainsPk = true;
}
@@ -286,6 +296,58 @@ namespace BeWo
private bool CheckStatusMessage(String url)
{
//try
//{
// using (WebClient client = new WebClient())
// {
// //MessageBox.Show(hostAddress);
// byte[] response = client.UploadValues(url, "POST", new NameValueCollection());
// String message = System.Text.Encoding.UTF8.GetString(response);
// //zum testen:
// //using (var myFile = new StreamReader("C:\\temp\\testxaml.txt", Encoding.Default))
// //{
// // message = myFile.ReadToEnd();
// // myFile.Close();
// //}
// if (!String.IsNullOrWhiteSpace(message) && message.Trim().Length > 2)
// {
// String ende = message.Substring(message.Length - 2);
// message = message.Replace("\\n", "\n");
// message = message.Substring(0, message.Length - 2);
// MessageDialog dlg = new MessageDialog();
// if (message.Contains("<") && message.Contains(">"))
// {
// dlg.SetXaml(message);
// }
// else
// {
// dlg.Message = message;
// }
// dlg.ShowDialog();
// if (ende.EndsWith(";0"))
// {
// return false;
// }
// }
// }
//}
//catch (Exception ex)
//{
// //MessageBox.Show(String.Format("Fehler beim Prüfen der Kundennummer: {0}\n\n{1}", ex.Message, ex.StackTrace));
//}
//return true;
#if DEBUG
//String message = @"Sehr geehrte Kundin, sehr geehrter Kunde,
@@ -697,7 +759,7 @@ namespace BeWo
}
#if DEBUG
if (!CheckStatusMessage(String.Format(GETSTATUSMESSAGE_URL, profile.Tenant, BeWoApp.ShortVersion)))
if (!CheckStatusMessage(String.Format(GETSTATUSMESSAGE_URL + "&pre", profile.Tenant, BeWoApp.ShortVersion)))
{
return;
}
@@ -1239,9 +1301,9 @@ namespace BeWo
#if DEBUG
//CB ZUM TESTEN
//BeWoApp.Tenant = "9876543210";
//BeWoApp.ServerName = "4";
//BeWoApp.ServerAddress = "app4.bewoplaner.de";
//BeWoApp.Tenant = "6000000000";
//BeWoApp.ServerName = "6";
//BeWoApp.ServerAddress = "app6.bewoplaner.de";
#endif
SaveSelectedProfile(profile);
//button_login.IsEnabled = true;
@@ -1396,6 +1458,10 @@ namespace BeWo
Tenant = ptenant;
if (Name == null)
Name = String.Empty;
if (!String.IsNullOrEmpty(Tenant))
{
Tenant = Tenant.Trim();
}
}
public override string ToString()

View File

@@ -72,6 +72,7 @@ namespace BeWo.View
beWoWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
beWoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
beWoWindow.Title = "Popup";
beWoWindow.rootGroupBox.Header = title;
return beWoWindow;

View File

@@ -106,6 +106,8 @@ namespace BeWo.View.Detail.Accounting
CriteriaOperator.FromLambda<GkvAbrechnungDC>(gkv => gkv.AbrechnungsZeitraumStart <= filter_start && filter_ende <= gkv.AbrechnungsZeitraumEnde));
}
}
gridView.BestFitColumns();
}
private void UpdateGkvAbrechnungList(IList<GkvAbrechnungDC> dcList)
@@ -120,8 +122,6 @@ namespace BeWo.View.Detail.Accounting
datagrid_gkvAbrechnungen.Visibility = Visibility.Visible;
UpdateDataGridFilter();
gridView.BestFitColumns();
});
@@ -206,6 +206,11 @@ namespace BeWo.View.Detail.Accounting
private void btn_force_send_Click(object sender, RoutedEventArgs e)
{
#if DEBUG
#else
return;
#endif
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
@@ -228,7 +233,13 @@ namespace BeWo.View.Detail.Accounting
var state = dc.GetState();
var can_send = state == GkvState.NoSend || state == GkvState.Error;
var can_send = false;
can_send |= state == GkvState.NoSend;
can_send |= state == GkvState.Error;
#if DEBUG
can_send |= state == GkvState.ErrorFatal;
#endif
if (!can_send)
{
@@ -321,7 +332,7 @@ namespace BeWo.View.Detail.Accounting
if (gkvAbrechnungVM is null)
return;
if (!gkvAbrechnungVM.Bezahlt && DateTime.Now - gkvAbrechnungVM.ErstelltAm > TimeSpan.FromDays(28))
if (GkvAbrechnungVM.GetState(gkvAbrechnungVM) == GkvState.OldAndNoFeedback)
{
e.Result = Brushes.Orange;
e.Handled = true;

View File

@@ -205,7 +205,12 @@
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="colUnitCount" FieldName="UnitCountUntilMax" Header="Anzahl" Width="80" />
<dxg:GridColumn x:Name="colUnitDescription" FieldName="UnitDescription" Header="Einheit" Width="160" />
<dxg:GridColumn x:Name="colRateFactor" FieldName="RateFactorDisplayString" Header="Faktor" Width="80" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="colUnitDescription" FieldName="UnitDescription" Header="Einheit" Width="80" />
<dxg:GridColumn x:Name="colAmountTotal" FieldName="GrossAmountTotalUntilMax" Header="Betrag" Width="80" >
<dxg:GridColumn.CellStyle>
<Style TargetType="dxg:LightweightCellEditor">

View File

@@ -740,7 +740,7 @@ namespace BeWo.View.Detail
foreach (var liste in ViewModel.EmployeeRelations.VMList)
{
if (ViewModel.EmployeeRelations.NewVM.Employee != null && ViewModel.EmployeeRelations.NewVM.Employee.EmployeeOid == liste.Employee.EmployeeOid && ViewModel.EmployeeRelations.NewVM.Role.Equals(liste.Role))
if (ViewModel.EmployeeRelations.NewVM.Employee != null && ViewModel.EmployeeRelations.NewVM.Employee.EmployeeOid == liste.Employee.EmployeeOid && ViewModel.EmployeeRelations.NewVM.Role != null && ViewModel.EmployeeRelations.NewVM.Role.Equals(liste.Role))
{
isEmployeeRolleVorhanden = true;
MessageBox.Show(Translator.Translate("Der/die Mitarbeiter/in wurde bereits mit dieser Rolle zugewiesen."), "Hinzufügen nicht möglich", MessageBoxButton.OK, MessageBoxImage.Exclamation);

View File

@@ -119,9 +119,14 @@ namespace BeWo.View.Detail.Report
{
if (e.NewValue == null || !int.TryParse(e.NewValue.ToString(), out var count))
return;
if (_YearPicker.SelectedItem != null)
{
var year = (int)_YearPicker.SelectedItem;
var month = _MonthPicker.SelectedMonth;
if (count > 0 && count <= DateTime.DaysInMonth(_SelectedFilter.Year, _SelectedFilter.Month))
_SchedulerControl.TimelineView.IntervalCount = count;
if (count > 0 && count <= DateTime.DaysInMonth(year, month))
_SchedulerControl.TimelineView.IntervalCount = count;
}
}
private void LinkPdfExport_OnRequestNavigate(object sender, RequestNavigateEventArgs e)

View File

@@ -361,33 +361,36 @@ namespace BeWo.ViewModel
req.GkvAbrechnungOid = GkvAbrechnungOid.Value;
ServiceFacade.DoAccountingServiceAsync(s => s.SendNewGkvAbrechnung(req),
cb => Application.Current.Dispatch(delegate
{
if (cb.GkvAbrechnungDC is GkvAbrechnungDC dc)
{
GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
TransferProtokolle = dc.TransferProtokolle.ToList();
cb => Application.Current.Dispatch(() => Update(cb)), true);
}
var protokoll = cb.TransferProtokoll;
public void Update(GkvAbrechnungSendResponseDC cb)
{
var dc = cb.GkvAbrechnungDC;
if (cb.TransferProtokoll.Fehlerlevel == GkvTransferFehlerlevel.Soft)
{
MessageBox.Show(Application.Current.MainWindow, cb.TransferProtokoll.Fehlernachricht, cb.TransferProtokoll.Fehlertitel);
}
else if (cb.TransferProtokoll.Fehlerlevel == GkvTransferFehlerlevel.Fatal)
{
BeWoApp.ShowError(cb.TransferProtokoll.Fehlertitel + ": " + cb.TransferProtokoll.Fehlernachricht, null, false);
}
else
{
MessageBox.Show(Application.Current.MainWindow, "Ihre Sendung wurde korrekt übertragen");
}
}
else
{
MessageBox.Show(Application.Current.MainWindow, "Unerwarteter Übertragungsfehler");
}
}), true);
if(dc is null)
{
MessageBox.Show(Application.Current.MainWindow, "Unerwarteter Übertragungsfehler");
return;
}
GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
TransferProtokolle = dc.TransferProtokolle.ToList();
var protokoll = cb.TransferProtokoll;
if (protokoll.Fehlerlevel == GkvTransferFehlerlevel.Soft)
{
MessageBox.Show(Application.Current.MainWindow, protokoll.Fehlernachricht, protokoll.Fehlertitel);
}
else if (protokoll.Fehlerlevel == GkvTransferFehlerlevel.Fatal)
{
BeWoApp.ShowError(protokoll.Fehlertitel + ": " + protokoll.Fehlernachricht, null, false);
}
else
{
MessageBox.Show(Application.Current.MainWindow, "Ihre Sendung wurde korrekt übertragen");
}
}
}
}

View File

@@ -354,6 +354,19 @@ namespace BeWo.ViewModel
}
}
public String RateFactorDisplayString
{
get
{
String fac = "";
if (RateFactor.HasValue)
{
fac = String.Format("{0:0.0#}", (RateFactor.Value + 100) / 100);
}
return fac;
}
}
public decimal UnitCount
{
get

View File

@@ -859,6 +859,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabe", "ReportImp\Wabe\Wabe
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZukunftLeben", "ReportImp\ZukunftLeben\ZukunftLeben.csproj", "{4929D493-81EB-47B6-B06A-7F8636569C15}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mittelpunkt", "ReportImp\Mittelpunkt\Mittelpunkt.csproj", "{9037F8A0-5627-4CBE-956C-0C0F30B3C710}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasverbandOstvest", "ReportImp\CaritasverbandOstvest\CaritasverbandOstvest.csproj", "{68AE83D4-F57B-4934-A462-27E8D65C91A4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -10518,6 +10522,54 @@ Global
{4929D493-81EB-47B6-B06A-7F8636569C15}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4929D493-81EB-47B6-B06A-7F8636569C15}.Release|x86.ActiveCfg = Release|Any CPU
{4929D493-81EB-47B6-B06A-7F8636569C15}.Release|x86.Build.0 = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|.NET.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|.NET.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|x86.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Debug|x86.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.DebugRemote|x86.Build.0 = Debug|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|.NET.ActiveCfg = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|.NET.Build.0 = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|Any CPU.Build.0 = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|x86.ActiveCfg = Release|Any CPU
{9037F8A0-5627-4CBE-956C-0C0F30B3C710}.Release|x86.Build.0 = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|.NET.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|.NET.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|x86.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Debug|x86.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.DebugRemote|x86.Build.0 = Debug|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|.NET.ActiveCfg = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|.NET.Build.0 = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|Any CPU.Build.0 = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|x86.ActiveCfg = Release|Any CPU
{68AE83D4-F57B-4934-A462-27E8D65C91A4}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -10944,6 +10996,8 @@ Global
{AE5234BB-D0E3-4735-B965-D0397564334E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{DD0ABE1B-6181-40D4-B9B7-51FFFFFD8A52} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{4929D493-81EB-47B6-B06A-7F8636569C15} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{9037F8A0-5627-4CBE-956C-0C0F30B3C710} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{68AE83D4-F57B-4934-A462-27E8D65C91A4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

208
BeWoDakota.sln Normal file
View File

@@ -0,0 +1,208 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.33927.289
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{FEB0336B-F053-40B6-92DD-7DE56AB9408A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWo", "BeWo\BeWo.csproj", "{3FEBB560-9275-413A-9767-BB68C44EEBC3}"
ProjectSection(ProjectDependencies) = postProject
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3} = {E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF} = {094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Service", "Service\Service.csproj", "{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Data", "Data\Data.csproj", "{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared", "Shared\Shared.csproj", "{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls", "Controls\Controls.csproj", "{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Report", "Report\Report.csproj", "{40D8B312-EA64-49E3-A31A-5E57ED4D5654}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Host", "Host\Host.csproj", "{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingService", "ReportService\ReportingService.csproj", "{663EFCB5-9E3E-4C76-97EE-3188E072634C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatController", "..\Chat\ChatController\ChatController.csproj", "{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B6039E62-D43E-477A-BE82-EADB1057A3A2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DakotaSender", "DakotaSender\DakotaSender.csproj", "{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{2AA59C1D-5537-4C49-9F9D-6E7CF827F687}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DakotaUnitTest", "DakotaUnitTest\DakotaUnitTest.csproj", "{B1FF561D-1677-4B06-9168-E7B024084B69}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Release|.NET = Release|.NET
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|.NET.ActiveCfg = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|.NET.Build.0 = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Release|.NET.ActiveCfg = Release|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Release|Any CPU.Build.0 = Release|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{3FEBB560-9275-413A-9767-BB68C44EEBC3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|.NET.ActiveCfg = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|.NET.Build.0 = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Release|.NET.ActiveCfg = Release|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Release|Any CPU.Build.0 = Release|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|.NET.ActiveCfg = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|.NET.Build.0 = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Release|.NET.ActiveCfg = Release|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Release|Any CPU.Build.0 = Release|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|.NET.ActiveCfg = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|.NET.Build.0 = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Release|.NET.ActiveCfg = Release|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Release|Any CPU.Build.0 = Release|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|.NET.ActiveCfg = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|.NET.Build.0 = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Release|.NET.ActiveCfg = Release|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Release|Any CPU.Build.0 = Release|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|.NET.ActiveCfg = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|.NET.Build.0 = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Release|.NET.ActiveCfg = Release|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Release|Any CPU.Build.0 = Release|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{40D8B312-EA64-49E3-A31A-5E57ED4D5654}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|.NET.ActiveCfg = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|.NET.Build.0 = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|.NET.ActiveCfg = Release|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Any CPU.Build.0 = Release|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|.NET.ActiveCfg = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|.NET.Build.0 = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|.NET.ActiveCfg = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Any CPU.Build.0 = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|.NET.ActiveCfg = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|.NET.Build.0 = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|.NET.ActiveCfg = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|.NET.Build.0 = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Any CPU.Build.0 = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|.NET.ActiveCfg = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|.NET.Build.0 = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|.NET.ActiveCfg = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|.NET.Build.0 = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|Any CPU.Build.0 = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|.NET.ActiveCfg = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|.NET.Build.0 = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|.NET.ActiveCfg = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|.NET.Build.0 = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|Any CPU.Build.0 = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B1FF561D-1677-4B06-9168-E7B024084B69}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{3FEBB560-9275-413A-9767-BB68C44EEBC3} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{D5E53B0F-BF5A-41E8-93E2-0F32845FC729} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
{40D8B312-EA64-49E3-A31A-5E57ED4D5654} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{663EFCB5-9E3E-4C76-97EE-3188E072634C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
{47331732-DD96-4075-869F-83AA9F3F9937} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{B1FF561D-1677-4B06-9168-E7B024084B69} = {2AA59C1D-5537-4C49-9F9D-6E7CF827F687}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5352BE53-F2FD-442F-85A8-4157599AA153}
EndGlobalSection
EndGlobal

View File

@@ -21,6 +21,8 @@ namespace BeWoDatabaseTerminator
private const string PubKeyX3 = "3082010A02820101009CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001";
private const string PubKeyR3 = "3082010A0282010100BB021528CCF6A094D30F12EC8D5592C3F882F199A67A4288A75D26AAB52BB9C54CB1AF8E6BF975C8A3D70F4794145535578C9EA8A23919F5823C42A94E6EF53BC32EDB8DC0B05CF35938E7EDCF69F05A0B1BBEC094242587FA3771B313E71CACE19BEFDBE43B45524596A9C153CE34C852EEB5AEED8FDE6070E2A554ABB66D0E97A540346B2BD3BC66EB66347CFA6B8B8F572999F830175DBA726FFB81C5ADD286583D17C7E709BBF12BF786DCC1DA715DD446E3CCAD25C188BC60677566B3F118F7A25CE653FF3A88B647A5FF1318EA9809773F9D53F9CF01E5F5A6701714AF63A4FF99B3939DDC53A706FE48851DA169AE2575BB13CC5203F5ED51A18BDB150203010001";
private const string PubKeyE1 = "04245C2DA22AFD1C4BA65D97732731ACB2A06962EF65E8A6B0F0AC4B9FFF1C0B700FD3982F4DFC0F009B37F074055732972E05EF2A4325A3FB6E342713F64F7E69D302995EEB244792C1249BE6B1218FC12481FC68CC1F69BA58F51922F774C616";
private const String PUB_KEY_R11 = "3082010A0282010100BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001";
private const String PUB_KEY_R10 = "3082010A0282010100CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001";
private const string APIKEY = "CwjlSCbNqctEsofpGY64Z4aO6pShNYAdGtjMqHsjO64FuK23qoRDUqIjUC0P";
@@ -60,8 +62,8 @@ namespace BeWoDatabaseTerminator
foreach(var element in chain.ChainElements)
{
var publicKey = element.Certificate.GetPublicKeyString();
if((publicKey?.Equals(PubKeyX3) ?? false) || (publicKey?.Equals(PubKeyR3) ?? false) || (publicKey?.Equals(PubKeyE1) ?? false))
var pk = element.Certificate.GetPublicKeyString();
if((pk?.Equals(PubKeyX3) ?? false) || (pk?.Equals(PubKeyR3) ?? false) || (pk?.Equals(PubKeyE1) ?? false) || pk == PUB_KEY_R11 || pk == PUB_KEY_R10)
{
chainContainsPublicKey = true;
}

View File

@@ -696,7 +696,7 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<UseIIS>False</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>

View File

@@ -1,401 +0,0 @@
@using BeWoPlanerMobil.Controllers
@using BeWoPlanerMobil.Models
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" id="viewport" />
<title>@ViewBag.Title</title>
<script defer src="~/Content/fontawesome/all.min.js"></script>
<!-- jquery first, then Popper.js, then Bootstrap JS -->
<script src="@Url.Content("~/Scripts/jquery-3.6.0.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.13.0.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
<script src="@Url.Content("~/Scripts/src-min/ace.js")"></script>
<script src="@Url.Content("~/node_modules/cldrjs/dist/cldr.js")"></script>
<script src="@Url.Content("~/node_modules/cldrjs/dist/cldr/event.js")"></script>
<script src="@Url.Content("~/node_modules/globalize/dist/globalize.js")"></script>
<script src="@Url.Content("~/Scripts/devexpress-scripts/knockout-3.5.1.js")"></script>
<script src="~/Scripts/umd/popper.min.js"></script>
<script src="~/node_modules/bootstrap/dist/js/bootstrap.js" type="text/javascript"></script>
<link rel="stylesheet" href="~/Content/style.css?v=1.18">
<script src="~/Scripts/mobileUtils.js?v=1.18"></script>
<script src="~/Scripts/moment.min.js"></script>
<script src="~/Scripts/locale/de.js?v=1.18"></script>
<script src="~/Scripts/group-booking.js?v=1.18"></script>
<script src="~/Scripts/view-scripts/main.js?v=1.19"></script>
<script src="~/Scripts/signature.js?v=1.18"></script>
<script src="~/Scripts/tempusdominus-boostrap-4.min.js"></script>
<link rel="stylesheet" href="~/Content/tempusdominus-bootstrap-4.min.css" />
<script src="~/Scripts/Chart.min.js?v=1.18"></script>
<script src="~/Scripts/support-concept-statistics.js?v=1.18"></script>
<script src="~/Scripts/view-scripts/customer.js?v=1.18"></script>
<script src="~/Scripts/view-scripts/scheduler.js?v=1.18"></script>
<script src="~/Scripts/utils/dateUtils.js?v=1.18"></script>
<script src="~/Scripts/view-scripts/report.js?v=1.18"></script>
<script src="~/Scripts/signature_pad-3.2.min.js?v=1.18"></script>
<script src="~/Scripts/utils/trimCanvas.js?v=1.18"></script>
<script src="~/Scripts/utils/resources-list-utils.js?v=1.18"></script>
<script src="~/Scripts/utils/list-utils.js?v=1.18"></script>
<script src="~/Scripts/utils/service-record-time-calc.js?v=1.18"></script>
<script src="~/Scripts/utils/js-helper.js?v=1.18"></script>
<script src="~/Scripts/utils/logging.js?v=1.18"></script>
<script>
window.addEventListener("error", (event) => {
hideSpinner();
var textToShow = "Message: " + event.message + "\r\n" +
"File name: " + event.filename + "\r\n" +
"Line: " + event.lineno + "\r\n" +
"Column: " + event.colno + "\r\n" +
"Stack: " + event.error.stack;
configureErrorPopup(textToShow);
});
function copyErrorToClipboard() {
var element = document.querySelector("#fehlerdetail-textarea");
element.select();
element.setSelectionRange(0, 99999);
document.execCommand("copy");
}
function showErrorPopup(error) {
hideSpinner();
var textToShow = "name: " + error.name + ";\r\nmessage: " + error.message + ";\r\nstack: " + error.stack;
configureErrorPopup(textToShow);
}
function configureErrorPopup(textToShow) {
$("#fehlerdetail-textarea").text(textToShow);
$("#error-message-popup").modal("show");
}
$(document).ready(function() {
try {
var timeoutInMilliseconds = parseInt("@AbstractBaseController.TimeoutLimit", 10) * 60 * 1000;
var timeOfLogin = "@AbstractModel.TimeOfLastAction";
if(timeOfLogin.length > 0) {
var countDownDate = new Date().getTime() + timeoutInMilliseconds;
var interval = setInterval(function() {
var now = new Date().getTime();
var distance = countDownDate - now;
if (distance <= 0) {
clearInterval(interval);
$("#countdown").html("00:00");
$("#logout-form").submit();
return;
}
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
var m = minutes.toString();
var s = seconds.toString();
if (minutes < 10) {
m = "0" + m;
}
if (seconds < 10) {
s = "0" + s;
}
$("#countdown").html("Abmeldung in " + m + ":" + s + '<span class="fas fa-unlock-alt pl-1"></span>');
}, 1000);
}
calcPrependWidth();
} catch (error) {
showErrorPopup(error);
}
});
$(window).resize(function() {
logSize();
calcPrependWidth();
});
previousWidth = "";
function logSize() {
var width = $(document).width();
var val = widthToBootstrapVal(width);
if(previousWidth !== val) {
console.log("%c" + val, "font-size: 16px; font-weight: bold; color: #00F2FF;");
}
previousWidth = val;
}
function widthToBootstrapVal(width) {
try {
/*
Extra small <576px
Small ≥576px
Medium ≥768px
Large ≥992px
Extra large ≥1200px
*/
var result = "xs";
if(width < 567) {
result = "xs";
}
if(width >= 576) {
result = "sm";
}
if(width >= 768) {
result = "md";
}
if(width >= 992) {
result = "lg";
}
if(width >= 1200) {
result = "xl";
}
return result;
} catch(error) {
showErrorPopup(error);
}
}
function countdownClick() {
$("#countdown-tooltip").tooltip('show');
setTimeout(function() {
$("#countdown-tooltip").tooltip('hide');
}, 1500);
}
var initialVonWidth = 0;
function calcPrependWidth() {
try {
// Prepend-Elemente
if(initialVonWidth === 0 && $.isNumeric(getMaxWidth("sm-prepend-input-group-text"))) {
initialVonWidth = getMaxWidth("sm-prepend-input-group-text");
}
var smallPrependInputGroupTextWidth = getMaxWidth("sm-prepend-input-group-text");
var documentWidth = $(document).width();
$(".prepend-input-group-text").width(getMaxWidth("prepend-input-group-text"));
if(documentWidth < 768 && $.isNumeric(smallPrependInputGroupTextWidth)) {
$(".sm-prepend-input-group-text").width(getMaxWidth("prepend-input-group-text"));
} else if($.isNumeric(smallPrependInputGroupTextWidth)) {
$(".sm-prepend-input-group-text").width(initialVonWidth);
}
} catch(error) {
showErrorPopup(error);
}
}
function getMaxWidth(elementClassName) {
try {
return Math.max.apply(Math, $('.' + elementClassName).map(function () { return $(this).width(); }).get());
} catch (error) {
showErrorPopup(error);
}
}
</script>
</head>
<body>
@using(Html.BeginForm("LogOutAfterSessionTimeout", "Main", FormMethod.Post, new {id="logout-form", css="display:none;"}))
{
}
@if(Model != null)
{
<nav class="navbar navbar-expand-lg navbar-dark bg-dark sticky-top justify-content-end">
<div class="container-fluid">
<a href="#" class="navbar-brand">
@Model.LoggedInEmplyeeFirstNameLastName
</a>
<span class="d-inline-block" data-toggle="tooltip" title="Zeit bis zur automatischen Abmeldung" id="countdown-tooltip">
<span class="navbar-text" id="countdown" onclick="countdownClick()"></span>
</span>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
@*@if(Html.IsInDebugMode())
{
using(Html.BeginForm("RedirectToDevExpressScheduler", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-hand-middle-finger"></i>
Scheduler
</button>
</li>
}
}*@
@if(AbstractModel.IsAllowedToSeeCustomers)
{
using(Html.BeginForm("RedirectToCustomer", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-user text-bewo-customers"></i>
Klienten
</button>
</li>
}
}
@using(Html.BeginForm("RedirectToMain", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-clock text-bewo-service-records"></i>
Zeiterfassung
</button>
</li>
}
@if(AbstractModel.IsAllowedToSeeScheduler)
{
using(Html.BeginForm("RedirectToScheduler", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-calendar-alt text-bewo-calendar"></i>
Kalender
</button>
</li>
}
}
@if(AbstractModel.IsAllowedToSeeBills)
{
using(Html.BeginForm("RedirectToReportView", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-file-invoice text-bewo-report">
</i>
Quittierungsbelege
</button>
</li>
}
}
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showAboutPopup()">
<i class="fas fa-balance-scale text-primary"></i>
Über
</button>
</li>
<li class="nav-item">
@using(Html.BeginForm("Logout", "Main", FormMethod.Post))
{
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-sign-out-alt text-primary"></i>
Abmelden
</button>
}
</li>
</ul>
</div>
</div>
</nav>
}
<div class="modal" role="dialog" tabindex="-1" id="mySpinner">
<div class="modal-dialog modal-dialog-centered text-center" role="document">
<div class="modal-content bg-transparent border-0">
<div class="d-flex justify-content-center">
<div class="spinner-border text-primary" role="status" style="width: 5rem; height: 5rem;">
<span class="sr-only"></span>
</div>
</div>
</div>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="messagePopup">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="popupTitle"></h5>
<button class="close" type="button" data-dismiss="modal" aria-label="close" id="message-popup-esc-btn">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="modal-body">
<p id="popupMessage"></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" data-dismiss="modal" id="message-popup-ok-btn">OK</button>
<button class="btn btn-secondary" type="button" data-dismiss="modal" id="message-popup-close-btn">Schließen</button>
</div>
</div>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="error-message-popup">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title text-danger">Es ist ein Fehler aufgetreten</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>
Es ist leider ein unbekannter Fehler aufgetreten. Prüfen Sie Ihre Internetverbindung oder versuchen Sie es später erneut. Wir sind stets bemüht, das Programm zu verbessern, daher freuen wir uns auch, wenn Sie die Fehlerdetails unten in einer Mail an <a href="mailto:support@bewoplaner.de" id="error-popup-mailto">support@bewoplaner.de</a> senden.
</p>
<hr/>
<div class="form-group">
<label for="fehlerdetail-textarea">Fehlerdetails:</label>
<textarea class="form-control font-italic text-monospace" style="height: 20em;" id="fehlerdetail-textarea"></textarea>
</div>
</div>
<div class="modal-footer">
<div class="clearfix w-100">
<button class="btn btn-primary float-left" type="button" onclick="copyErrorToClipboard()">In die Zwischenablage kopieren</button>
<button class="btn btn-primary float-right" type="button" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
</div>
@RenderBody()
</body>
</html>

View File

@@ -32,6 +32,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@@ -42,6 +43,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="DakotaConfig.cs" />
<Compile Include="Logic\DakotaKTDReader.cs" />
<Compile Include="Logic\DakotaManager.cs" />
<Compile Include="Logic\DakotaUtils.cs" />
<Compile Include="Models\Auftragsdatei\Auftragsdatei.cs" />
@@ -82,12 +84,15 @@
<Compile Include="Models\Infos\InfoParameterInvoiceItem.cs" />
<Compile Include="Models\IRowable.cs" />
<Compile Include="Models\Nachrichten\Nachricht.cs" />
<Compile Include="Models\Nachrichten\NachrichtKTD.cs" />
<Compile Include="Models\Nachrichten\NachrichtSLGA.cs" />
<Compile Include="Models\Nachrichten\NachrichtSLLA.cs" />
<Compile Include="Models\Schlüssels\Schlüssel.cs" />
<Compile Include="Models\Schlüssels\SchlüsselAbrechnungscode.cs" />
<Compile Include="Models\Schlüssels\SchlüsselArtDerGenehmigung.cs" />
<Compile Include="Models\Schlüssels\SchlüsselArtDerVerknüpfung.cs" />
<Compile Include="Models\Schlüssels\SchlüsselBVG.cs" />
<Compile Include="Models\Schlüssels\SchlüsselKTDVerarbeitungskennzeichen.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosVergütungsart.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosBehandlungsart.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosArtDerEinrichtung.cs" />
@@ -104,6 +109,11 @@
<Compile Include="Models\Schlüssels\SchlüsselVerarbeitungskennzeichen.cs" />
<Compile Include="Models\Schlüssels\SchlüsselVerordnungsbesonderheiten.cs" />
<Compile Include="Models\Schlüssels\SchlüsselZuzahlung.cs" />
<Compile Include="Models\Segmente\KTD\SegmentKTD.cs" />
<Compile Include="Models\Segmente\KTD\SegmentKTDFKT.cs" />
<Compile Include="Models\Segmente\KTD\SegmentKTDIDK.cs" />
<Compile Include="Models\Segmente\KTD\SegmentKTDVDT.cs" />
<Compile Include="Models\Segmente\KTD\SegmentKTDVKG.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLABES.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLADIA.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAMWS.cs" />

View File

@@ -1,4 +1,5 @@
using BS.Shared.DataContracts;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.GkvAbrechnung;
using Dakota.Models;
using System;
@@ -20,9 +21,9 @@ namespace Dakota
}
/// <summary>
/// Validiert in erster Phase die Daten. Bei Fehler wird eine DakotaException geworfen.
/// Validiert in erster Phase den Mandator.
/// </summary>
public static void ValidateFirstStep(MandatorDC mandatordc)
public static void ValidateMandator(MandatorDC mandatordc)
{
if (mandatordc == null)
throw new DakotaException("Mandator ist null");
@@ -34,22 +35,12 @@ namespace Dakota
/// <summary>
/// Validiert in zweiter Phase die Daten. Bei Fehler wird eine DakotaException geworfen.
/// </summary>
public static void ValidateSecondStep(OrganisationDC orgadc, CustomerDC customerDC)
public static void ValidateCustomer(CustomerDC customerDC)
{
string error = null;
if (orgadc == null)
error = "Organisation ist null";
else if (customerDC == null)
if (customerDC == null)
error = "Customer ist null";
else if (!ValidateIKNumber(orgadc.IKDatenannahmestelle))
error = $"Die Organisation \"{orgadc.Name}\" hat keine gültige IK Nummer für die Datenannahmestelle.";
else if (!ValidateIKNumber(orgadc.IKKostentrager))
error = $"Die Organisation \"{orgadc.Name}\" hat keine gültige IK Nummer für die Kostenträger.";
else if (!ValidateIKNumber(orgadc.IKKrankenkasse))
error = $"Die Organisation \"{orgadc.Name}\" hat keine gültige IK Nummer für die Krankenkasse.";
else if (!ValidateLeistungserbringergruppe(orgadc.Leistungserbringergruppe))
error = $"Die Organisation \"{orgadc.Name}\" hat keine gültige Leistungserbringergruppe: \"{orgadc.Leistungserbringergruppe}\". Erwarten werden 5 Stellen für das Tarifkennzeichen alleine oder 7 Stellen für den Abrechnungscode und für das Tarifkennzeichen zusammen.";
else if (!ValidateVersichertenstatus(customerDC.VersichertenStatus))
error = $"Klient/in \"{customerDC.LastName}, {customerDC.FirstName}\" hat keinen gültigen Versichertenstatus";
@@ -57,6 +48,26 @@ namespace Dakota
throw new DakotaException(error);
}
public static void ValidateOrganisation(Organisation orga)
{
string error = null;
if (orga == null)
error = "Organisation ist null";
else if (!ValidateLeistungserbringergruppe(orga.Leistungserbringergruppe))
error = $"Die Organisation \"{orga.Name}\" hat keine gültige Leistungserbringergruppe: \"{orga.Leistungserbringergruppe}\". Erwarten werden 5 Stellen für das Tarifkennzeichen alleine oder 7 Stellen für den Abrechnungscode und für das Tarifkennzeichen zusammen.";
else if (!ValidateIKNumber(orga.IKKrankenkasse))
error = $"Die Organisation \"{orga.Name}\" hat kein gültiges IK Kennzeichen: \"{orga.IKKrankenkasse}\".";
if (error != null)
throw new DakotaException(error);
}
public static bool ValidateIKNumbers(Organisation orga)
=> ValidateIKNumbers(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse);
private static bool ValidateIKNumbers(params string[] iks)
=> iks?.All(ValidateIKNumber) ?? false;
private static bool ValidateIKNumber(string iknummer)
{
if (iknummer == null)

View File

@@ -250,24 +250,23 @@ namespace Dakota.Logic
{
var info = new InfoAbrechnungsposition();
var lesitungserbringergruppe = infoParameter.Organisation.Leistungserbringergruppe;
if(lesitungserbringergruppe.Length == 5)
var leistungserbringergruppe = infoParameter.Organisation.Leistungserbringergruppe;
if(leistungserbringergruppe.Length == 5)
{
info.Abrechnungscode = "69";
info.Tarifkennzeichen = lesitungserbringergruppe;
info.Tarifkennzeichen = leistungserbringergruppe;
}
else if (lesitungserbringergruppe.Length == 7)
else if (leistungserbringergruppe.Length == 7)
{
info.Abrechnungscode = lesitungserbringergruppe.Substring(0, 2);
info.Tarifkennzeichen = lesitungserbringergruppe.Substring(2, 5);
info.Abrechnungscode = leistungserbringergruppe.Substring(0, 2);
info.Tarifkennzeichen = leistungserbringergruppe.Substring(2, 5);
}
else
{
throw new ArgumentOutOfRangeException(nameof(infoParameter.Organisation.Leistungserbringergruppe), infoParameter.Organisation.Leistungserbringergruppe.Length, "Leistungserbringergruppe 7 Stellen oder 5 Stelle ohne Abrechnungscode");
}
info.AbrechnungspositionString = infoParameter.InvoiceItem.UnitDescription.Substring(6);
info.AbrechnungspositionString = infoParameter.Abrechnungsposition;
info.AnzahlMenge = infoParameter.InvoiceItem.UnitCount.Value;
info.EinzelbetragAbrechnungsposition = infoParameter.InvoiceItem.AmountPerUnit.Value;
info.DatumDerLeistungserbringung = infoParameter.InvoiceItem.ItemPeriodStart.Value;

View File

@@ -0,0 +1,151 @@
using Dakota.Models;
using Dakota.Models.Nachrichten;
using Dakota.Models.Segmente.KTD;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Logic
{
public class DakotaKTDReader
{
private static readonly string[] accept = new string[] { "UNH", "IDK", "FKT", "VKG", "UNT"};
internal Dictionary<string, Dictionary<string, NachrichtKTD>> FileDictionary { get; set; }
= new Dictionary<string, Dictionary<string, NachrichtKTD>>();
public DakotaKTDReader(string ktd_folder_path)
{
var dir = new DirectoryInfo(ktd_folder_path);
var files = dir.GetFiles();
foreach (var file in files)
{
var file_lines = File.ReadAllLines(file.FullName);
foo(file.Name, file_lines);
}
}
public int GetFileCount() => FileDictionary.Count();
public int GetAllFileEntryCount() => FileDictionary.Sum(x => x.Value.Count);
/// <summary>
///
/// </summary>
/// <param name="ikkrankenkasse"></param>
/// <param name="abrechnungscode"></param>
/// <param name="tarifkennzeichen"></param>
/// <returns>Item1:Datenannahmestelle -
/// Item2:Kostenträger -
/// Item3:Krankenkasse</returns>
public Tuple<string, string, string> Resolve(string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen)
{
foreach (var kv in FileDictionary)
{
var search = GetIKNummern(kv.Value, ikkrankenkasse, abrechnungscode, tarifkennzeichen);
if (search is object)
return search;
}
return null;
}
private Tuple<string, string, string> GetIKNummern(Dictionary<string, NachrichtKTD> dict, string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen, string kostentrager = null)
{
if (kostentrager is null)
kostentrager = ikkrankenkasse;
var search = dict.SingleOrDefault(kv => kv.Key == kostentrager).Value;
// Hat keinen Verweis auf eine KK gefunden
if (search is null)
return null;
var verweis = search.SegmentVKG.FirstOrDefault(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.Kostentrager);
// Hat Verweis auf weiteren Kostenträger gefunden
if (verweis is object && verweis.IKVerknüpfungspartners != kostentrager)
return GetIKNummern(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen, verweis.IKVerknüpfungspartners);
var datenannahmestellen = search.SegmentVKG.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.DatenannahmestelleMitEntschlusselungsbefugnis);
// Hat keinen Verweis auf Kostenträger oder Datenannahmestelle gefunden
if (datenannahmestellen is null || !datenannahmestellen.Any())
return null;
if (datenannahmestellen.Count() == 1)
return GetIKNummern(datenannahmestellen.First(), kostentrager, ikkrankenkasse);
var datenannahmestellen_2 = datenannahmestellen.Where(x => x.Abrechnungscode == abrechnungscode);
if (datenannahmestellen_2.Count() == 1)
return GetIKNummern(datenannahmestellen_2.First(), kostentrager, ikkrankenkasse);
var datenannahmestellen_3 = datenannahmestellen.Where(x => x.Tarifkennzeichen == tarifkennzeichen);
if (datenannahmestellen_3.Count() == 1)
return GetIKNummern(datenannahmestellen_3.First(), kostentrager, ikkrankenkasse);
throw new DakotaException($"Keine oder mehrere Datenannahmestellen für {ikkrankenkasse} gefunden.");
}
private Tuple<string, string, string> GetIKNummern(SegmentKTDVKG vkg, string kostentrager, string ikkrankenkasse)
{
return new Tuple<string, string, string>(vkg.IKVerknüpfungspartners, kostentrager, ikkrankenkasse);
}
private void foo(string filename, string[] lines)
{
var length = lines.Length;
var dict = new Dictionary<string, NachrichtKTD>();
FileDictionary.Add(filename, dict);
Queue<string> queue = new Queue<string>();
int first_line = 0;
for (int i = 0; i < length; i++)
{
var line = lines[i];
var type = GetType(line);
if (type is null)
continue;
if (type == "UNH")
{
first_line = i;
}
else if (type == "UNT")
{
var nachricht = NachrichtKTD.Parse(queue.ToArray(), filename, first_line);
if (dict.ContainsKey(nachricht.IKNummer))
throw new Exception($"Beinhaltet Key bereits: {nachricht.IKNummer} in {filename} - l {first_line}");
dict.Add(nachricht.IKNummer, nachricht);
queue.Clear();
}
else
{
queue.Enqueue(line);
}
}
}
private string GetType(string line)
{
var type = line.Substring(0, 3);
return accept.Contains(type) ? type : null;
}
}
}

View File

@@ -16,9 +16,6 @@ namespace Dakota.Logic
if (input.Length == length)
return input;
// inp.len < len
// <=> 0 < len - inp.len
var sb = new StringBuilder();
for (int i = 0; i < length - input.Length; i++)
{
@@ -37,9 +34,6 @@ namespace Dakota.Logic
if (input.Length == length)
return input;
// inp.len < len
// <=> 0 < len - inp.len
var sb = new StringBuilder();
sb.Append(input);
for (int i = 0; i < length - input.Length; i++)
@@ -49,5 +43,42 @@ namespace Dakota.Logic
return sb.ToString();
}
public static string GetAbrechnungscode(string leistungserbringergruppe)
{
var len = leistungserbringergruppe.Length;
if(len == 5)
{
return "69";
}
else if(len == 7)
{
return leistungserbringergruppe.Substring(0, 2);
}
else
{
throw new ArgumentException($"Leistungserbringergruppe \"{leistungserbringergruppe}\" hat ungültige Anzahl Stellen");
}
}
public static string GetTarifkennzeichen(string leistungserbringergruppe)
{
var len = leistungserbringergruppe.Length;
if (len == 5)
{
return leistungserbringergruppe;
}
else if (len == 7)
{
return leistungserbringergruppe.Substring(2);
// return leistungserbringergruppe.Substring(2, 5);
}
else
{
throw new ArgumentException($"Leistungserbringergruppe \"{leistungserbringergruppe}\" hat ungültige Anzahl Stellen");
}
}
}
}

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
internal class Auftragsdatei : IRow
internal class Auftragsdatei : IRowable
{
public DakotaFile Parent { get; set; }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
internal class AuftragssatzPart1 : IRow
internal class AuftragssatzPart1 : IRowable
{
public Auftragsdatei ParentAuftragsdatei { get; set; }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart2 : IRow
public class AuftragssatzPart2 : IRowable
{
public DatenelementAuftragsdatei Satzformat { get; private set; }
public DatenelementAuftragsdatei Satzlange { get; private set; }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart3 : IRow
public class AuftragssatzPart3 : IRowable
{
public DatenelementAuftragsdatei Status { get; private set; }
public DatenelementAuftragsdatei Wiederholung { get; private set; }

View File

@@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart4 : IRow
public class AuftragssatzPart4 : IRowable
{
public DatenelementAuftragsdatei EMailAdresseAbsender { get; private set; }
public DatenelementAuftragsdatei DateiBezeichnung { get; private set; }

View File

@@ -10,7 +10,7 @@ namespace Dakota.Models
public class DakotaException : ArgumentException
{
public string Title { get; set; }
public new string Message { get; set; }
public override string Message { get; }
public DakotaException(string message, string title) : this(message)
{

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Dakota.Models
{
internal interface IRow
internal interface IRowable
{
string GetRows();
}

View File

@@ -17,7 +17,8 @@ namespace Dakota.Models.Infos
public OrganisationDC Organisation { get; set; }
public MandatorDC Mandator { get; set; }
public string IKDatenannahmestelle => Organisation.IKDatenannahmestelle;
public string Abrechnungsposition { get; set; }
public string IKKostentrager => Organisation.IKKostentrager;
public string IKKrankenkasse => Organisation.IKKrankenkasse;
public string IKLeistungserbringer => Mandator.IKLeistungserbringer;
@@ -30,6 +31,9 @@ namespace Dakota.Models.Infos
Customer = customer;
Organisation = organisation;
Mandator = mandator;
// Todo: Valid prüfen
Abrechnungsposition = invoiceItem.UnitDescription?.Substring(6) ?? "TODO";
}
}
}

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace Dakota.Models.Nachrichten
{
internal abstract class Nachricht : IRow
internal abstract class Nachricht : IRowable
{
public abstract List<Segment> GetAllSegments();

View File

@@ -0,0 +1,71 @@
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.KTD;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Nachrichten
{
internal class NachrichtKTD : Nachricht
{
public string FileName { get; set; }
public int FirstLine { get; set; }
public SegmentKTDIDK SegmentIDK { get; set; }
public SegmentKTDFKT SegmentFKT { get; set; }
public List<SegmentKTDVKG> SegmentVKG { get; set; }
public NachrichtKTD()
{
SegmentVKG = new List<SegmentKTDVKG>();
}
public string IKNummer
{
get { return SegmentIDK.Institutionskennzeichen; }
}
public override List<Segment> GetAllSegments()
{
throw new NotImplementedException();
}
public static bool TryParse(string[] rows, string filename, int firstline, out NachrichtKTD nachricht)
{
try
{
nachricht = Parse(rows, filename, firstline);
return true;
}
catch(Exception e)
{
nachricht = null;
return false;
}
}
public static NachrichtKTD Parse(string[] rows, string filename, int firstline)
{
var nachricht = new NachrichtKTD();
nachricht.SegmentIDK = SegmentKTDIDK.Parse(rows[0]);
nachricht.SegmentFKT = SegmentKTDFKT.Parse(rows[1]);
var length = rows.Length;
for (int i = 2; i < length; i++)
{
nachricht.SegmentVKG.Add(SegmentKTDVKG.Parse(rows[i]));
}
nachricht.FileName = filename;
nachricht.FirstLine = firstline;
return nachricht;
}
}
}

View File

@@ -1,12 +1,14 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public abstract class Schlüssel
[DebuggerDisplay("{Value}")]
public abstract class Schlüssel : IEquatable<Schlüssel>
{
public string Value { get; set; }
@@ -14,5 +16,48 @@ namespace Dakota.Models.Schlüssels
{
Value = val;
}
public static T GetSchlüssel<T>(IEnumerable<T> list, string schlüssel) where T : Schlüssel
{
foreach (var t_schlüssel in list)
{
if (t_schlüssel.Value == schlüssel)
return t_schlüssel;
}
return null;
}
public static bool operator ==(Schlüssel obj1, Schlüssel obj2)
{
if (ReferenceEquals(obj1, obj2))
return true;
if (ReferenceEquals(obj1, null))
return false;
if (ReferenceEquals(obj2, null))
return false;
return obj1.Equals(obj2);
}
public static bool operator !=(Schlüssel obj1, Schlüssel obj2) => !(obj1 == obj2);
public bool Equals(Schlüssel other)
{
if (ReferenceEquals(other, null))
return false;
if (ReferenceEquals(this, other))
return true;
return Value.Equals(other.Value);
}
public override bool Equals(object obj) => Equals(obj as Schlüssel);
public override int GetHashCode()
{
unchecked
{
int hashCode = Value.GetHashCode();
return hashCode;
}
}
}
}

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
[DebuggerDisplay("{DisplayName} - {Value}")]
public class SchlüsselArtDerVerknüpfung : Schlüssel
{
public string DisplayName { get; set; }
public SchlüsselArtDerVerknüpfung(string val, string displayname) : base(val)
{
DisplayName = displayname;
}
public static SchlüsselArtDerVerknüpfung Kostentrager => new SchlüsselArtDerVerknüpfung("01", nameof(Kostentrager));
public static SchlüsselArtDerVerknüpfung DatenannahmestelleOhneEntschlusselungsbefugnis => new SchlüsselArtDerVerknüpfung("02", nameof(DatenannahmestelleOhneEntschlusselungsbefugnis));
public static SchlüsselArtDerVerknüpfung DatenannahmestelleMitEntschlusselungsbefugnis => new SchlüsselArtDerVerknüpfung("03", nameof(DatenannahmestelleMitEntschlusselungsbefugnis));
public static SchlüsselArtDerVerknüpfung PapierAnnahmestelle => new SchlüsselArtDerVerknüpfung("09", nameof(PapierAnnahmestelle));
public static SchlüsselArtDerVerknüpfung Parse(string str)
{
var list = new SchlüsselArtDerVerknüpfung[] {
Kostentrager ,
DatenannahmestelleOhneEntschlusselungsbefugnis ,
DatenannahmestelleMitEntschlusselungsbefugnis,
PapierAnnahmestelle};
var schlüssel = GetSchlüssel(list, str);
return schlüssel;
}
}
}

View File

@@ -0,0 +1,35 @@
using BS.Shared.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselKTDVerarbeitungskennzeichen : Schlüssel
{
public SchlüsselKTDVerarbeitungskennzeichen(string val) : base(val) { }
public static SchlüsselKTDVerarbeitungskennzeichen Neuanmeldung => new SchlüsselKTDVerarbeitungskennzeichen("01");
public static SchlüsselKTDVerarbeitungskennzeichen Änderung => new SchlüsselKTDVerarbeitungskennzeichen("02");
public static SchlüsselKTDVerarbeitungskennzeichen Stornierung => new SchlüsselKTDVerarbeitungskennzeichen("03");
public static SchlüsselKTDVerarbeitungskennzeichen Unverändert => new SchlüsselKTDVerarbeitungskennzeichen("04");
public static SchlüsselKTDVerarbeitungskennzeichen Parse(string str)
{
var list = new SchlüsselKTDVerarbeitungskennzeichen[] {
Neuanmeldung ,
Änderung ,
Stornierung,
Unverändert};
var schlüssel = GetSchlüssel(list, str);
if (schlüssel is null)
throw new DakotaException($"KTDVerarbeitungskennzeichen {str} nicht gefunden.");
return schlüssel;
}
}
}

View File

@@ -0,0 +1,15 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.KTD
{
internal abstract class SegmentKTD
{
public static char Trennzeichen => DakotaConfig.Trennzeichen[0];
public static char Segmentendezeichen => DakotaConfig.Segmentendezeichen[0];
}
}

View File

@@ -0,0 +1,23 @@
using Dakota.Models.Schlüssels;
using System;
using System.Diagnostics;
namespace Dakota.Models.Segmente.KTD
{
[DebuggerDisplay("FKT+{Verarbeitungskennzeichen.Value}'")]
internal class SegmentKTDFKT : SegmentKTD
{
public SchlüsselKTDVerarbeitungskennzeichen Verarbeitungskennzeichen { get; set; }
public static SegmentKTDFKT Parse(string row)
{
var segment = new SegmentKTDFKT();
var split = row.Trim(Segmentendezeichen).Split(Trennzeichen);
segment.Verarbeitungskennzeichen = SchlüsselKTDVerarbeitungskennzeichen.Parse(split[1]);
return segment;
}
}
}

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.KTD
{
[DebuggerDisplay("IDK+{Institutionskennzeichen}" +
"+{ArtDerInstitution}+{Kurzbezeichnung}+{VKNR}'")]
internal class SegmentKTDIDK : SegmentKTD
{
public string Institutionskennzeichen { get; set; }
public string ArtDerInstitution { get; set; }
public string Kurzbezeichnung { get; set; }
public string VKNR { get; set; }
public static SegmentKTDIDK Parse(string row)
{
var segment = new SegmentKTDIDK();
var split = row.Trim(Segmentendezeichen).Split(Trennzeichen);
segment.Institutionskennzeichen = split[1];
segment.ArtDerInstitution = split[2];
segment.Kurzbezeichnung = split[3];
if(split.Length > 4)
segment.VKNR = split[4];
return segment;
}
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.KTD
{
internal class SegmentKTDVDT : SegmentKTD
{
public static SegmentKTDVDT Parse(string row)
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,57 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.KTD
{
[DebuggerDisplay("VKG+{ArtDerVerknüpfung.Value}" +
"+{IKVerknüpfungspartners}+{Leistungserbringergruppe}+{IKAbrechnungsstelle}" +
"+{ArtDerDatenlieferung}+{ArtDesÜbermittlungsmediums}+{StandortDesLeistungserbringersNachBundesland}" +
"+{StandortDesLeistungserbringersNachKVBezirk}+{Abrechnungscode}+{Tarifkennzeichen}'")]
internal class SegmentKTDVKG : SegmentKTD
{
public SchlüsselArtDerVerknüpfung ArtDerVerknüpfung { get; set; }
public string IKVerknüpfungspartners { get; set; }
public string Leistungserbringergruppe { get; set; }
public string IKAbrechnungsstelle { get; set; }
public string ArtDerDatenlieferung { get; set; }
public string ArtDesÜbermittlungsmediums { get; set; }
public string StandortDesLeistungserbringersNachBundesland { get; set; }
public string StandortDesLeistungserbringersNachKVBezirk { get; set; }
public string Abrechnungscode { get; set; }
public string Tarifkennzeichen { get; set; }
public static SegmentKTDVKG Parse(string row)
{
var segment = new SegmentKTDVKG();
var split = row.Trim(Segmentendezeichen).Split(Trennzeichen);
segment.ArtDerVerknüpfung = SchlüsselArtDerVerknüpfung.Parse(split[1]);
segment.IKVerknüpfungspartners = split[2];
if (split.Length > 3)
segment.Leistungserbringergruppe = split[3];
if (split.Length > 4)
segment.IKAbrechnungsstelle = split[4];
if (split.Length > 5)
segment.ArtDerDatenlieferung = split[5];
if (split.Length > 6)
segment.ArtDesÜbermittlungsmediums = split[6];
if (split.Length > 7)
segment.StandortDesLeistungserbringersNachBundesland = split[7];
if (split.Length > 8)
segment.StandortDesLeistungserbringersNachKVBezirk = split[8];
if (split.Length > 9)
segment.Abrechnungscode = split[9];
if (split.Length > 10)
segment.Tarifkennzeichen = split[10];
return segment;
}
}
}

15
DakotaSender/App.config Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings>
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
<add key="GkvAbrechnungFailedFolderPath" value="C:\GkvAbrechnung\Failed\" />
<add key="DakotaExePath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
<add key="DakotaFolder" value="C:\dakotale\" />
<add key="ProcessWaitForExitMs" value="10000" />
<add key="LogPath" value="C:\GkvAbrechnung\Sender\log.txt" />
</appSettings>
</configuration>

View File

@@ -0,0 +1,57 @@
<?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>{A959FE9A-1647-4C02-B2EE-6A95EBF6DC9A}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>DakotaSender</RootNamespace>
<AssemblyName>DakotaSender</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<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="DakotaSystemFile.cs" />
<Compile Include="FehlerXml.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="XmlFileConverter.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DakotaSender
{
internal class DakotaSystemFile
{
public string Tenant { get; set; }
public long ProtokollOid { get; set; }
public string Datenannahmestelle { get; set; }
public string Transfername { get; set; }
public string TransfernameAuf => Transfername + ".auf";
public FileInfo SourceAuftragsdatei { get; set; }
public FileInfo SourceNutzdatendatei { get; set; }
}
}

30
DakotaSender/FehlerXml.cs Normal file
View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using System.Xml.Serialization;
namespace DakotaSender
{
[Serializable()]
[XmlRoot("Fehler")]
public class FehlerXml
{
[XmlAttribute("Oid")]
public long Oid { get; set; }
[XmlElement("Titel")]
public string Titel { get; set; }
[XmlElement("Datum")]
public DateTime? Datum { get; set; }
[XmlElement("Nachricht")]
public string Nachricht { get; set; }
[XmlElement("Level")]
public int Level { get; set; }
}
}

378
DakotaSender/Program.cs Normal file
View File

@@ -0,0 +1,378 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace DakotaSender
{
class Program
{
const int RC_DAKOTA_ALREADY_LOADED = 18;
static readonly string TEST_TENANT = "7375324044";
static int[] AcceptStatusCodes = new int[] { 0 };
static int[] AcceptSendCodes = new int[] { 0 };
static bool time_in_line = false;
static void Main(string[] args)
{
FileStream filestream = new FileStream(GetLogPath(), FileMode.Append);
var streamwriter = new StreamWriter(filestream);
streamwriter.AutoFlush = true;
Console.SetOut(streamwriter);
Console.SetError(streamwriter);
try
{
PrintTitle();
CheckDakotaStatus();
ProcessFiles();
}
catch (Exception e)
{
PrintLine(e.ToString());
}
PrintEnd();
}
static void PrintTitle()
{
PrintWithTime("\n", false);
PrintLine("-------------------");
PrintLine("Dakota Sender Modul");
PrintLine("-------------------");
}
static void PrintEnd()
{
PrintLine("Ende");
PrintLine("-------------------");
}
static void PrintLine(string line = null)
{
PrintWithTime(line + "\n", !time_in_line);
time_in_line = false;
}
static void Print(string line)
{
PrintWithTime(line, !time_in_line);
time_in_line = true;
}
static void PrintWithTime(string line, bool showTime)
{
if (showTime)
Console.Write($"[{DateTime.Now:dd.MM.yy HH:mm:ss.fff}] {line}");
else
Console.Write(line);
}
static void CheckDakotaStatus()
{
PrintLine("Überprüfe Dakota Status");
var code = ExecuteDakota("-s");
if (AcceptStatusCodes.Contains(code))
{
PrintLine("Ok");
}
else
{
throw new Exception($"Statuscode {code} wird nicht akzeptiert");
}
}
static void ProcessFiles()
{
PrintLine("Scanne Dakota Dateien");
var toCheck = ScanQueueFolder();
if (toCheck is null)
{
PrintLine("Keine Dakota Dateien gefunden.");
return;
}
var testCheck = toCheck.TryGetValue(TEST_TENANT, out var files);
if (!testCheck)
{
PrintLine($"Keine Dakota Dateien für {TEST_TENANT} gefunden.");
return;
}
foreach (var file in files)
{
TryProcessFile(file);
CheckDakotaStatus();
}
}
static Dictionary<string, List<DakotaSystemFile>> ScanQueueFolder()
{
var queue = GetQueueFolder();
var files = queue.GetFiles("*.auf", SearchOption.TopDirectoryOnly);
var toCheck = new Dictionary<string, List<DakotaSystemFile>>();
foreach (var auft in files)
{
var nutz_fullname = auft.FullName.Substring(0, auft.FullName.Length - 4);
var nutz = new FileInfo(nutz_fullname);
if (!nutz.Exists)
{
PrintLine($"{auft.FullName} wird ignoriert. {nutz.FullName} nicht vorhanden");
continue;
}
PrintLine($"{auft.FullName} gefunden.");
var split = nutz.Name.Split('_');
var tenant = split[0];
var p_oid = long.Parse(split[1]);
var datenannahmestelle = split[2];
var transfername = split[3];
if (tenant != TEST_TENANT && tenant != "demo")
{
PrintLine($"{auft.FullName} wird ignoriert. Tenant {tenant} nicht gültig.");
continue;
}
else
{
tenant = TEST_TENANT;
}
var file = new DakotaSystemFile()
{
SourceAuftragsdatei = auft,
SourceNutzdatendatei = nutz,
Tenant = tenant,
ProtokollOid = p_oid,
Datenannahmestelle = datenannahmestelle,
Transfername = transfername,
};
if (!toCheck.ContainsKey(tenant))
toCheck.Add(tenant, new List<DakotaSystemFile>());
toCheck[tenant].Add(file);
}
return toCheck.Any() ? toCheck : null;
}
static void TryProcessFile(DakotaSystemFile file)
{
bool copied = false;
try
{
var protokoll_oid = file.ProtokollOid;
PrintLine($"Verarbeite Datei: {file.SourceNutzdatendatei.Name}");
PrintLine($"- Tenant: {file.Tenant}");
PrintLine($"- Protokoll Oid: {protokoll_oid}");
PrintLine($"- Datenannahmestelle: {file.Datenannahmestelle}");
copied = true;
CopyFileToDestination(file);
Print("Sende via Dakota. ");
var code = ExecuteDakota("-x");
if (AcceptSendCodes.Contains(code))
{
PrintLine($"Ok.");
DeleteQueueFile(file);
}
else
{
if(code == RC_DAKOTA_ALREADY_LOADED)
{
PrintLine($"Verarbeitung fehlgeschlagen. Dakota läuft bereits.");
PrintLine("Ignoriere Verarbeitung aktuell. Versuche im nächsten Programm Aufruf erneut.");
DeleteDakotaFile(file);
}
else
{
var error = $"Verarbeitung fehlgeschlagen. Statuscode {code} wird nicht akzeptiert.";
PrintLine(error);
MoveQueueToFailed(file);
DeleteDakotaFile(file);
CreateResultXmlFile(file, error);
}
}
}
catch (Exception e)
{
PrintLine($"Verarbeitung fehlgeschlagen. Exception: {e}");
if (copied)
DeleteDakotaFile(file);
}
}
static void CreateResultXmlFile(DakotaSystemFile file, string error)
{
Print("Speichere Fehler als Xml. ");
var fehler = new FehlerXml();
fehler.Datum = DateTime.Now;
fehler.Titel = "Dakota Fehler";
fehler.Nachricht = error;
fehler.Level = 1;
fehler.Oid = file.ProtokollOid;
var folder = GetResultFolderTenant(file.Tenant).FullName;
var path = Path.Combine(folder, $"P{file.ProtokollOid}.xml");
Print($"Path: {path}");
XmlFileConverter.Save(fehler, path);
PrintLine("Ok.");
}
static void MoveQueueToFailed(DakotaSystemFile file)
{
CopyFileToFailed(file);
DeleteQueueFile(file);
}
static void CopyFileToFailed(DakotaSystemFile file)
{
var failed_folder = GetFailedFolder();
CopyFileTo(file.SourceAuftragsdatei, failed_folder.FullName);
CopyFileTo(file.SourceNutzdatendatei, failed_folder.FullName);
}
static void CopyFileToDestination(DakotaSystemFile file)
{
var folder = GetDakotaFolderDatenannahmestelle(file.Datenannahmestelle);
CopyFileTo(file.SourceAuftragsdatei, folder.FullName, file.TransfernameAuf);
CopyFileTo(file.SourceNutzdatendatei, folder.FullName, file.Transfername);
}
static void CopyFileTo(FileSystemInfo file, string destination_folder, string file_name = null)
{
if (file_name is null)
file_name = file.Name;
CopyFile(file.FullName, Path.Combine(destination_folder, file_name));
}
static void CopyFile(string source, string destination)
{
Print($"Kopiere \"{source}\" nach \"{destination}\". ");
File.Copy(source, destination);
PrintLine("Ok.");
}
static void DeleteQueueFile(DakotaSystemFile file)
{
DeleteFile(file.SourceAuftragsdatei.FullName);
DeleteFile(file.SourceNutzdatendatei.FullName);
}
static void DeleteDakotaFile(DakotaSystemFile file)
{
var folder = GetDakotaFolderDatenannahmestelle(file.Datenannahmestelle).FullName;
DeleteFile(Path.Combine(folder, file.TransfernameAuf));
DeleteFile(Path.Combine(folder, file.Transfername));
}
static void DeleteFile(string file)
{
Print($"Lösche {file}. ");
File.Delete(file);
PrintLine("Ok.");
}
static int ExecuteDakota(string arg)
{
var fileinfo = GetDakotaExe();
PrintLine($"{fileinfo.Name} {arg} wird ausgeführt");
var process = Process.Start(GetDakotaExe().FullName, arg);
var success = process.WaitForExit(GetProcessWaitForExitMs());
if (success)
{
var exitcode = process.ExitCode;
PrintLine($"Returncode {exitcode}");
return exitcode;
}
else
{
throw new Exception("Timeout");
}
}
static DirectoryInfo GetDakotaFolderDatenannahmestelle(string datenannahmestelle)
{
var folder = new DirectoryInfo(Path.Combine(GetDakotaFolder().FullName, "TP5Daten", datenannahmestelle));
if (!folder.Exists)
folder = new DirectoryInfo(Path.Combine(GetDakotaFolder().FullName, "TP5Daten", datenannahmestelle.Substring(0, datenannahmestelle.Length - 1)));
if (!folder.Exists)
throw new Exception($"Datenannahmestelle {datenannahmestelle} konnte nicht gefunden werden.");
return folder;
}
static DirectoryInfo GetResultFolderTenant(string tenant)
{
var dirinfo = new DirectoryInfo(Path.Combine(GetResultFolder().FullName, tenant));
if (!dirinfo.Exists)
dirinfo.Create();
return dirinfo;
}
static string GetLogPath()
=> ConfigurationManager.AppSettings.Get("LogPath") ?? @"C:\GkvAbrechnung\Sender\log.txt";
static int GetProcessWaitForExitMs()
=> int.Parse(ConfigurationManager.AppSettings.Get("ProcessWaitForExitMs") ?? "10000");
static FileInfo GetDakotaExe()
=> new FileInfo(ConfigurationManager.AppSettings.Get("DakotaExePath") ?? @"C:\Program Files (x86)\ITSG\dakotale\dakota30.exe");
static DirectoryInfo GetDakotaFolder()
=> new DirectoryInfo(ConfigurationManager.AppSettings.Get("DakotaFolder") ?? @"C:\dakotale\");
static DirectoryInfo GetQueueFolder()
=> new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath") ?? @"C:\GkvAbrechnung\Queue\");
static DirectoryInfo GetResultFolder()
=> new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath") ?? @"C:\GkvAbrechnung\Results\");
static DirectoryInfo GetFailedFolder()
=> new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungFailedFolderPath") ?? @"C:\GkvAbrechnung\Failed\");
}
}

View 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("DakotaSender")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DakotaSender")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[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("a959fe9a-1647-4c02-b2ee-6a95ebf6dc9a")]
// 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")]

View File

@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace DakotaSender
{
public static class XmlFileConverter
{
/// <summary>
/// Saves to an xml file
/// </summary>
/// <param name="FileName">File path of the new xml file</param>
public static void Save<T>(T obj, string FileName) where T : class
{
using (var writer = new System.IO.StreamWriter(FileName))
{
var serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(writer, obj);
writer.Flush();
}
}
/// <summary>
/// Load an object from an xml file
/// </summary>
/// <param name="FileName">Xml file name</param>
/// <returns>The object created from the xml file</returns>
public static T Load<T>(string FileName) where T : class
{
using (var stream = System.IO.File.OpenRead(FileName))
{
var serializer = new XmlSerializer(typeof(T));
return serializer.Deserialize(stream) as T;
}
}
}
}

View File

@@ -0,0 +1,72 @@
using Dakota.Logic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace DakotaUnitTest
{
[TestClass]
public class DakotaReaderUnitTest
{
public DakotaKTDReader Reader { get; set; }
[TestInitialize]
public void Initialize()
{
var path = @"C:\GkvAbrechnung\KTDatei";
var reader = new DakotaKTDReader(path);
Reader = reader;
}
[TestMethod]
public void ValidateReaderLoaded()
{
Assert.IsTrue(Reader is object);
}
[TestMethod]
public void ValidateFileCount()
{
var count = Reader.GetFileCount();
Assert.IsTrue(count == 6);
}
[TestMethod]
public void ValidateFileEntryCount()
{
var count = Reader.GetAllFileEntryCount();
Assert.IsTrue(count == 1105);
}
[TestMethod]
public void ValidateBkkGilletteOst()
{
var test = Reader.Resolve("105328415", "69", "00000");
Assert.IsNotNull(test);
Assert.IsTrue(test.Item1 == "661430035");
Assert.IsTrue(test.Item2 == "106492406");
Assert.IsTrue(test.Item3 == "105328415");
}
[TestMethod]
public void ValidateAOKRheinlandHamburgSoz()
{
var test = Reader.Resolve("104212505", "69", "00000");
Assert.IsNotNull(test);
Assert.IsTrue(test.Item1 == "104212516");
Assert.IsTrue(test.Item2 == "104212505");
Assert.IsTrue(test.Item3 == "104212505");
}
}
}

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" />
<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>{B1FF561D-1677-4B06-9168-E7B024084B69}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DakotaUnitTest</RootNamespace>
<AssemblyName>DakotaUnitTest</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</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>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="DakotaReaderUnitTest.cs" />
<Compile Include="GkvObjectUnitTest.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Dakota\Dakota.csproj">
<Project>{47331732-DD96-4075-869F-83AA9F3F9937}</Project>
<Name>Dakota</Name>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="fehler_example.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props'))" />
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets'))" />
</Target>
<Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" />
</Project>

View File

@@ -0,0 +1,29 @@
using BS.Shared.DataContracts.GkvAbrechnung;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DakotaUnitTest
{
[TestClass]
public class GkvObjectUnitTest
{
[TestInitialize]
public void Initialize()
{
}
[TestMethod]
public void ValidateXmlParse()
{
var convert = GkvApp8FehlerXml.GetFehlerXml("fehler_example.xml");
Assert.IsNotNull(convert);
}
}
}

View File

@@ -0,0 +1,20 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("DakotaUnitTest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DakotaUnitTest")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("b1ff561d-1677-4b06-9168-e7b024084b69")]
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Fehler Oid="31">
<Titel>31</Titel>
<Datum>2024-06-01T09:00:00</Datum>
<Nachricht>TestNach</Nachricht>
<Level>1</Level>
</Fehler>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MSTest.TestAdapter" version="2.1.2" targetFramework="net472" />
<package id="MSTest.TestFramework" version="2.1.2" targetFramework="net472" />
</packages>

View File

@@ -71,7 +71,16 @@ namespace BeWo.Data
private static bool ShouldConfigureHibernateSession(HttpApplication context)
{
return string.IsNullOrEmpty(context.Request.FilePath) || context.Request.FilePath.IndexOf("Admin.aspx") < 0 || context.Request.FilePath.IndexOf("GkvAbrechnungView.aspx") < 0;
if (string.IsNullOrEmpty(context.Request.FilePath))
return false;
if (context.Request.FilePath.IndexOf("GkvAbrechnungView.aspx") >= 0)
return false;
if (context.Request.FilePath.IndexOf("Admin.aspx") >= 0)
return false;
return true;
}
private static bool ConfigureHibernateSession(HttpApplication context)

View File

@@ -206,6 +206,7 @@
<Compile Include="Access\UserDAO.cs" />
<Compile Include="ASPHibernateSessionManager.cs" />
<Compile Include="DefaultHibernateSessionManager.cs" />
<Compile Include="Entities\TwoFactorCode.cs" />
<Compile Include="Entities\AbwesenheitsInformationPrint.cs" />
<Compile Include="Entities\AddressHistory.cs" />
<Compile Include="Entities\Bargeldtransaktionshistory.cs" />
@@ -759,6 +760,7 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\GkvTransferProtokoll.hbm.xml" />
<EmbeddedResource Include="Mappings\TwoFactorCode.hbm.xml" />
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -133,7 +133,7 @@ namespace BeWo.Data.Entities
{
using (var csEncrypt = new CryptoStream(msEncrypt, lEncryptor, CryptoStreamMode.Write))
{
byte[] toEncrypt = Encoding.UTF8.GetBytes(HashedPassword);
byte[] toEncrypt = Encoding.UTF8.GetBytes(BCryptPassword);
csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
csEncrypt.FlushFinalBlock();
@@ -188,18 +188,20 @@ namespace BeWo.Data.Entities
public virtual void ChangePassword(string pPassword)
{
if (String.IsNullOrEmpty(Salt))
{
InitSalt();
}
var lMD5 = new MD5CryptoServiceProvider();
string lHash = BitConverter.ToString(lMD5.ComputeHash(Encoding.UTF8.GetBytes(String.Format("{0}_{1}_{2}", Salt, pPassword, "o238rRndguK4Fh8dsfkhwon54H8n3qo4itv8nz3o4LvnzQs0npmwEp"))));
lHash = BitConverter.ToString(lMD5.ComputeHash(Encoding.UTF8.GetBytes(lHash)));
HashedPassword = lHash;
//if (String.IsNullOrEmpty(Salt))
//{
// InitSalt();
//}
//var lMD5 = new MD5CryptoServiceProvider();
//string lHash = BitConverter.ToString(lMD5.ComputeHash(Encoding.UTF8.GetBytes(String.Format("{0}_{1}_{2}", Salt, pPassword, "o238rRndguK4Fh8dsfkhwon54H8n3qo4itv8nz3o4LvnzQs0npmwEp"))));
//lHash = BitConverter.ToString(lMD5.ComputeHash(Encoding.UTF8.GetBytes(lHash)));
//HashedPassword = lHash;
//BCrypt
string salt = BCrypt.GenerateSalt();
BCryptPassword = BCrypt.HashPassword(pPassword, salt);
HashedPassword = "";
}
public virtual bool CheckRC2Password(string pRC2Hash)

View File

@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BS.Shared;
using BS.Shared.Extensions;
@@ -31,5 +31,10 @@ namespace BeWo.Data.Entities
(x) => x.Fehlerdatum,
(x) => x.Fehlerlevel,
(x) => x.ErstelltAm.Value);
public virtual Organisation GetOrganisation()
{
return InvoiceBases.First().CostBearer2SupportConcept.CostBearer.Organisation;
}
}
}

View File

@@ -0,0 +1,26 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class TwoFactorCode : BeWoEntityBase
{
public TwoFactorCode()
{
_Tid = TableID.TwoFactorCode;
}
public virtual string TFCode { get; set; }
public virtual string LoginName { get; set; }
public virtual string Password { get; set; }
public virtual string IPAddress { get; set; }
public virtual DateTime CreateDate { get; set; }
public virtual DateTime UsedDate { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.TwoFactorCode,BeWo.Data">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version column="Version" type="Int64" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="UpdTs" type="DateTime" name="UpdTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property name="TFCode" type="String" />
<property name="LoginName" type="String" />
<property name="Password" type="String" />
<property name="IPAddress" type="String" />
<property name="CreateDate" type="DateTime" />
<property name="UsedDate" type="DateTime" />
</class>
</hibernate-mapping>

View File

@@ -31,18 +31,21 @@ using Dakota.Models;
using System.Xml;
using System.Xml.Linq;
using System.Diagnostics;
using System.Xml.Serialization;
using Dakota.Logic;
namespace Host
{
public partial class GkvAbrechnungView : Page
{
public const int PROCESS_WAITFOREXIT_MS = 10 * 1000;
private string GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&t=0";
private string LOGINSERVER_URL = "{0}/Host/Login.aspx";
private string LOGINSERVER_URL = "{0}/Login.aspx";
private string GKVRESULT_FORMAT = "{0}/{1}/result.xml";
private string GkvAbrechnungResultFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath");
private string DakotaPath { get; set; } = ConfigurationManager.AppSettings.Get("DakotaPath");
private string ResultFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath");
private string QueueFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath");
private string KostentragerdateiFolderPath { get; set; } = ConfigurationManager.AppSettings.Get("GkvKostentragerdateiFolderPath");
public GkvApp8Request GkvRequest { get; set; }
@@ -50,7 +53,7 @@ namespace Host
{
try
{
//https://app8.bewoplaner.de/Host/GkvAbrechungview?k=12345&username=meier&password=test
//https://app8.bewoplaner.de/Host/GkvAbrechungview?tenant=12345
var str = new StreamReader(Request.InputStream).ReadToEnd();
@@ -133,25 +136,39 @@ namespace Host
private bool TryLogin() => TryLogin(GkvRequest);
private bool TryLogin(GkvApp8Request gkv_request)
{
if (gkv_request.Tenant == "demo" && gkv_request.Username == "demo" && gkv_request.DebugMode == "fozc4897b6ztvf978AFCRRG244fvFV2532fvf324AF")
{
gkv_request.Tenant = "7375324044";
return true;
}
var server = GetServerFromTenant(gkv_request.Tenant);
var loginurl = string.Format(LOGINSERVER_URL, server);
var loginurl = string.Format(LOGINSERVER_URL, $"https://{server}/service");
#if DEBUG
//loginurl = string.Format(LOGINSERVER_URL, "https://app4.bewoplaner.de");
loginurl = string.Format(LOGINSERVER_URL, "http://localhost:3777");
loginurl = string.Format(LOGINSERVER_URL, "http://localhost:3777/Host");
#endif
bool successful = false;
using (WebClient client = new WebClient())
try
{
var nvc = new NameValueCollection();
nvc.Add("password", gkv_request.Password);
nvc.Add("username", gkv_request.Username);
nvc.Add("tenant", gkv_request.Tenant);
using (WebClient client = new WebClient())
{
var nvc = new NameValueCollection();
nvc.Add("password", gkv_request.Password);
nvc.Add("username", gkv_request.Username);
nvc.Add("tenant", gkv_request.Tenant);
var loginresponse = client.UploadValues(loginurl, "POST", nvc);
var loginresponse = client.UploadValues(loginurl, "POST", nvc);
successful = BitConverter.ToBoolean(loginresponse, 0);
successful = BitConverter.ToBoolean(loginresponse, 0);
}
}
catch (Exception e)
{
throw new DakotaException($"loginurl: {loginurl} | " + e.ToString());
}
return successful;
@@ -159,34 +176,14 @@ namespace Host
private void SendNew(GkvApp8SendNewRequest req)
{
var debug_mode = false;
#if DEBUG
debug_mode = true;
#endif
// Response
var response = new GkvApp8SendNewResponse(false);
bool saved_in_filesystem = false;
bool send_success = false;
var protokoll = req.GkvTransferProtokoll;
string path = string.Empty;
try
{
// Check Dakota Status
CheckDakotaStatus();
// Save File
path = SaveFileInFileSystem(req, debug_mode);
saved_in_filesystem = true;
if (req.SendDirect)
{
// Dakota Send
SendViaDakota();
}
send_success = true;
SaveFileInFileSystem(req, true);
req.GkvTransferProtokoll.SentSuccess = true;
@@ -194,27 +191,24 @@ namespace Host
}
catch (DakotaException e)
{
req.GkvTransferProtokoll.Fehlerdatum = DateTime.Now;
req.GkvTransferProtokoll.Fehlerlevel = GkvTransferFehlerlevel.Soft;
req.GkvTransferProtokoll.Fehlertitel = "App8";
req.GkvTransferProtokoll.Fehlernachricht = e.Message;
protokoll.Fehlerdatum = DateTime.Now;
protokoll.Fehlerlevel = GkvTransferFehlerlevel.Soft;
protokoll.Fehlertitel = "App8";
protokoll.Fehlernachricht = e.Message;
response.Message = e.Message;
}
catch (Exception e)
{
req.GkvTransferProtokoll.Fehlerdatum = DateTime.Now;
req.GkvTransferProtokoll.Fehlerlevel = GkvTransferFehlerlevel.Fatal;
req.GkvTransferProtokoll.Fehlertitel = "App8";
req.GkvTransferProtokoll.Fehlernachricht = e.Message;
protokoll.Fehlerdatum = DateTime.Now;
protokoll.Fehlerlevel = GkvTransferFehlerlevel.Soft;
protokoll.Fehlertitel = "App8";
protokoll.Fehlernachricht = e.Message;
response.Message = e.Message;
}
if (!send_success && saved_in_filesystem)
DeleteFileInFileSystem(path);
response.GkvTransferProtokollDC = req.GkvTransferProtokoll;
response.GkvTransferProtokollDC = protokoll;
SendResponse(response);
}
@@ -229,17 +223,20 @@ namespace Host
try
{
// Load XML Info
var results = GetResultFile(req.Tenant);
var results = GetResultFile(GkvRequest.Tenant);
for (int i = 0; i < tuple_count; i++)
{
var gkv_transfer_oid = req.Oids[i];
if (results.TryGetValue(gkv_transfer_oid, out var fehlerDC))
if (results is object)
for (int i = 0; i < tuple_count; i++)
{
response.Fehler[i] = fehlerDC;
var gkv_transfer_oid = req.Oids[i];
if (results.TryGetValue(gkv_transfer_oid, out var fehlerDC))
{
response.Fehler[i] = fehlerDC;
}
}
}
ClearResultFolder(GkvRequest.Tenant, req.Oids);
response.Success = true;
}
@@ -258,53 +255,42 @@ namespace Host
}
private void GetIK(GkvApp8GetIKRequest req)
{
var input = req.KrankenkassenIK;
var ktd_reader = new DakotaKTDReader(KostentragerdateiFolderPath);
var resolved = ktd_reader.Resolve(req.IKKrankenkasse, req.Abrechnungscode, req.Tarifkennzeichen);
var response = new GkvApp8GetIKResponse();
response.Success = true;
response.IKVersichertenKarte = input;
response.IKDatenannahmestelle = "111222333";
response.IKKostenträger = "333444555";
response.Gefunden = resolved is object;
if (response.Gefunden)
{
response.IKDatenannahmestelle = resolved.Item1;
response.IKKostentrager = resolved.Item2;
response.IKKrankenkasse = resolved.Item3;
}
SendResponse(response);
}
private void CheckDakotaStatus() => ExecuteDakota("-s", 0);
private void SendViaDakota() => ExecuteDakota("-e", 0, 1);
private int ExecuteDakota(string arg, params int[] accepted_return_codes)
{
var path = DakotaPath;
var process = Process.Start(path, arg);
process.WaitForExit();
var returncode = process.ExitCode;
if (accepted_return_codes is object && accepted_return_codes.Length > 0)
if (accepted_return_codes.All(x => x != returncode))
throw new DakotaException($"Execute {arg} rc: " + returncode);
return returncode;
}
private string SaveFileInFileSystem(GkvApp8SendNewRequest req, bool debug_mode = false)
=> SaveFileInFileSystem(req.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername,
=> SaveFileInFileSystem(req.GkvTransferProtokoll.GkvTransferProtokollOid.Value, GkvRequest.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername,
req.GkvTransferProtokoll.Nutzdatendatei, req.GkvTransferProtokoll.Auftragsdatei, debug_mode);
private string SaveFileInFileSystem(string tenant, string datenannahmestelle, string transfername, string nutzdaten, string auftragsdatei, bool debug_mode = false)
private string SaveFileInFileSystem(long protokoll_oid, string tenant, string datenannahmestelle, string transfername, string nutzdaten, string auftragsdatei, bool debug_mode = false)
{
string root_path;
string file_path;
if (debug_mode)
{
root_path = $@"C:\GkvAbrechnung\";
file_path = $@"{tenant}-{datenannahmestelle}-{transfername}";
root_path = QueueFolderPath;
file_path = $@"{tenant}_{protokoll_oid}_{datenannahmestelle}_{transfername}";
}
else
{
root_path = $@"C:\GkvAbrechnung\{tenant}\{datenannahmestelle}\";
file_path = $@"{transfername}";
throw new DakotaException("No Debugmode impl");
//root_path = $@"C:\GkvAbrechnung\{tenant}\{datenannahmestelle}\";
//file_path = $@"{transfername}";
}
Directory.CreateDirectory(root_path);
@@ -324,12 +310,6 @@ namespace Host
return finalpath;
}
private void DeleteFileInFileSystem(string finalpath)
{
File.Delete(finalpath);
File.Delete(finalpath + ".auf");
}
private string GetServerFromTenant(string tenant)
{
try
@@ -352,41 +332,61 @@ namespace Host
}
}
private void ClearResultFolder(string tenant, long[] oids)
{
var folder = new DirectoryInfo(Path.Combine(ResultFolderPath, tenant));
if (!folder.Exists)
return;
foreach (var file in folder.GetFiles())
{
var xml_obj = GkvApp8FehlerXml.GetFehlerXml(file.FullName);
if (xml_obj is GkvApp8FehlerXml xml && oids.Contains(xml.Oid))
continue;
file.Delete();
}
}
private Dictionary<long, GkvApp8FehlerDC> GetResultFile(string tenant)
{
try
{
if (string.IsNullOrWhiteSpace(GkvAbrechnungResultFolderPath))
var path = ResultFolderPath;
if (string.IsNullOrWhiteSpace(path))
throw new DakotaException("Config GkvAbrechnungResultFolderPath is empty or whitespace");
if (string.IsNullOrWhiteSpace(tenant))
throw new DakotaException("Tenant is empty or whitespace");
var path = GkvAbrechnungResultFolderPath;
var folder = new DirectoryInfo(Path.Combine(path, tenant));
var folder = Path.Combine(path, tenant);
var location = Path.Combine(folder, "results.xml");
if (!File.Exists(location))
if (!folder.Exists)
{
Directory.CreateDirectory(folder);
using (File.Create(location)) { };
return null;
}
var dict = new Dictionary<long, GkvApp8FehlerDC>();
foreach (var file in folder.GetFiles("*.xml"))
{
var xml = GkvApp8FehlerXml.GetFehlerXml(file.FullName);
var doc = XDocument.Load(location);
if (xml is null)
continue;
var list = doc.Root.Elements("Fehler")
.Select(GkvApp8FehlerXml.Parse)
.Select(GkvApp8FehlerXml.ToDC)
.ToList();
return list.ToDictionary(dc => dc.Oid);
dict.Add(xml.Oid, GkvApp8FehlerXml.ToDC(xml));
}
return dict;
}
catch (DakotaException e)
{
throw e;
}
catch (Exception e)
{
throw new DakotaException("App8 Server Error: " + e.Message);
throw new DakotaException("App8 Server Error: " + e.ToString());
}
}
}

View File

@@ -20,10 +20,9 @@ namespace Host
var username = Request.Form["username"];
var password = Request.Form["password"];
var service = new UserServiceImp();
var user = DAOFactory.UserDAO.FindUserByLoginName(username);
var result_valid = service.IsUserValid(username, password);
var result = result_valid == BS.Shared.UserValidationResult.UserValid;
var result = user.BCryptPassword == password;
if (!result)
{

View File

@@ -237,6 +237,8 @@
<add key="OpenrouteServiceApiUrlGeocode" value="https://api.openrouteservice.org/geocode/search" />
<add key="OpenrouteServiceApiKey" value="5b3ce3597851110001cf62484b0917529e9a4008acda819dc06e47e8" />
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
<add key="GkvKostentragerdateiFolderPath" value="C:\GkvAbrechnung\KTDatei\" />
<add key="DakotaPath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
</appSettings>
<devExpress>

View File

@@ -0,0 +1,18 @@
CREATE TABLE `twofactorcode` (
Oid BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
InsTs DATETIME DEFAULT NULL,
UpdTs DATETIME DEFAULT NULL,
InsUser VARCHAR(256) DEFAULT NULL,
UdpUser VARCHAR(256) DEFAULT NULL,
Tid INT NOT NULL,
Notice VARCHAR(1024) DEFAULT NULL,
Version BIGINT DEFAULT NULL,
IsActive TINYINT DEFAULT NULL,
SystemEntryID INT DEFAULT NULL,
TFCode VARCHAR(16) DEFAULT NULL,
LoginName VARCHAR(256) DEFAULT NULL,
Password VARCHAR(1024) DEFAULT NULL,
IPAddress VARCHAR(256) DEFAULT NULL,
CreateDate DATETIME DEFAULT NULL,
UsedDate DATETIME DEFAULT NULL
) ENGINE=InnoDB;

View File

@@ -30,6 +30,7 @@
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
@@ -47,7 +48,6 @@
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
@@ -74,6 +74,15 @@
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "SignatureImage")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(407.5867F, 252F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(241.4133F, 35.50003F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel2
//
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 152.2917F);
@@ -219,7 +228,8 @@
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Titel")});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -229,14 +239,12 @@
//
// TopMargin
//
this.TopMargin.HeightF = 100F;
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// BottomMargin
//
this.BottomMargin.HeightF = 100F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -245,15 +253,6 @@
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.KassenbelegRO);
//
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "SignatureImage")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(407.5867F, 252F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(241.4133F, 35.50003F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// KassenbelegReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -261,8 +260,13 @@
this.TopMargin,
this.BottomMargin});
this.DataSource = this.bindingSource1;
this.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.Version = "17.1";
this.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.Margins = new DevExpress.Drawing.DXMargins(100F, 77F, 100F, 100F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();

View File

@@ -117,7 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -35,6 +35,7 @@
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
@@ -51,10 +52,9 @@
this.Einzahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.Auszahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -71,7 +71,8 @@
//
// xrTable1
//
this.xrTable1.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.xrTable1.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.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -133,6 +134,17 @@
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 0.46153846740722654D;
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "Belegnummer";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.46153844686654888D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
@@ -185,7 +197,8 @@
//
// xrLabel1
//
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 71.41666F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -305,6 +318,18 @@
this.Auszahlungstextsichtbarkeitsformatierungsregel.Formatting.ForeColor = System.Drawing.Color.Transparent;
this.Auszahlungstextsichtbarkeitsformatierungsregel.Name = "Auszahlungstextsichtbarkeitsformatierungsregel";
//
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Belegnummer")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 3, 2, 100F);
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell12.Weight = 0.46153848207913922D;
//
// xrTableCell8
//
this.xrTableCell8.Multiline = true;
@@ -331,29 +356,6 @@
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell6.Weight = 0.46153843806340167D;
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "Belegnummer";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.46153844686654888D;
//
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Belegnummer")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 3, 2, 100F);
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell12.Weight = 0.46153848207913922D;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -374,12 +376,16 @@
this.BottomMargin,
this.DetailReport});
this.DataSource = this.bindingSource1;
this.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.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.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.Einzahlungstextsichtbarkeitsformatierungsregel,
this.Auszahlungstextsichtbarkeitsformatierungsregel});
this.Margins = new DevExpress.Drawing.DXMargins(75, 75, 157, 74);
this.Version = "17.1";
this.Margins = new DevExpress.Drawing.DXMargins(75F, 51F, 156.6667F, 74F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

View File

@@ -117,7 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
using System;
using System.Linq;
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports
{
public partial class LwvKASpitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<LwvKASpitzabrechnungRO>
{
public LwvKASpitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(LwvKASpitzabrechnungRO pRO)
{
bindingSource1.DataSource = pRO;
}
}
}

View 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>

View File

@@ -136,6 +136,12 @@
<Compile Include="DefaultReports\AbwesenheitsPrintReport.Designer.cs">
<DependentUpon>AbwesenheitsPrintReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\LwvKASpitzabrechnung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\LwvKASpitzabrechnung.Designer.cs">
<DependentUpon>LwvKASpitzabrechnung.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\BudgetnachweisAnhang.cs">
<SubType>Component</SubType>
</Compile>
@@ -478,6 +484,7 @@
</Compile>
<Compile Include="DefaultReportCreator.cs" />
<Compile Include="ReportObjects\AbwesenheitsPrintRO.cs" />
<Compile Include="ReportObjects\LwvKASpitzabrechnungRO.cs" />
<Compile Include="ReportObjects\BudgetnachweisAnhangRO.cs" />
<Compile Include="ReportObjects\ServiceRecordChangesAfterInvoiceDateRO.cs" />
<Compile Include="ReportObjects\LwlPrueflisteRO.cs" />
@@ -539,6 +546,10 @@
<DependentUpon>AbwesenheitsPrintReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\LwvKASpitzabrechnung.resx">
<DependentUpon>LwvKASpitzabrechnung.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\BudgetnachweisAnhang.resx">
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -55,7 +55,7 @@ sr.SignatureOid,
sr.ServiceDescriptionOid,
(select CONCAT(emp1p.`FirstName`, ' ', emp1p.`LastName`) from employee emp1 join `person` emp1p on emp1p.`Oid` = emp1.`PersonOid` where emp1.`Oid` in (select employeeoid from `employee2customer` e2c1 join `valuelistentry2object` vl2o on e2c1.`Oid` = vl2o.`ObjectOid` join `valuelistentry` vle on vl2o.`ValueListEntryOid` = vle.`Oid` where e2c1.`CustomerOid` = sc.CustomerOid and vle.`SystemEntryID` = 3) LIMIT 1) as 'Bezugsbetreuung',
(select name from ServiceDescription sd where sd.Oid = sr.ServiceDescriptionOid),
(select zeitstempel from signature sig where sig.ServiceRecordOid = sr.Oid),
(select distinct zeitstempel from signature sig where sig.ServiceRecordOid = sr.Oid AND sig.IsActive = 1 order by zeitstempel desc limit 1),
(select emp2p.Abbreviation from employee emp2 join `person` emp2p on emp2p.`Oid` = emp2.`PersonOid` where emp2.`Oid` = sr.EmployeeOid),
(select cs.InsTs from confirmationreceiptsignature2servicerecord cs2s join confirmationreceiptsignature cs where cs.Oid = cs2s.ConfirmationReceiptSignatureOid and cs.IsActive = 1 and cs2s.ServiceRecordOid = sr.oid LIMIT 1)
FROM servicerecord sr

View File

@@ -0,0 +1,221 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace BeWo.Report.ReportObjects
{
public class LwvKASpitzabrechnungRO : AbstractBeWoReportObject<LwvKASpitzabrechnungRO>
{
public SupportConceptCostBearerRelDC Costbearer2SupportConceptDC { get; set; }
public CustomerDC CustomerDC { get; set; }
public DateTime BewilligtStart { get; set; }
public DateTime BewilligtEnde { get; set; }
public List<LwvKASpitzabrechnungsWochenZeile> WochenZeilen { get; set; }
public List<Preiszeitraum> Preiszeitraeume { get; set; }
public decimal SummeBewilligteStunden { get; set; }
public decimal SummeErbrachteStunden { get; set; }
public decimal SummeStundenDifferenz { get; set; }
public decimal SummeBetragPauschal { get; set; }
public decimal SummeBetragErbracht { get; set; }
public static LwvKASpitzabrechnungRO Create(long c2sOid, long? scapOid, long? catOid)
{
var ro = new LwvKASpitzabrechnungRO();
var c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(c2sOid);
ro.Costbearer2SupportConceptDC = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);
ro.CustomerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(c2s.SupportConcept.Customer);
ro.BewilligtStart = c2s.StartDate.Value;
ro.BewilligtEnde = c2s.EndDate.Value;
SupportConceptApprovalPeriodDC scap;
var calc = PluginLoader.FindClass<Calculations>();
// Für Aufruf aus Spitzabrechnung mit scapOid, ansonsten als Bericht mit Auswahl der Leistungskategorie für alle user bzw. ggf. im CustomReportCreator anpassen
if (!scapOid.HasValue)
{
if (catOid.HasValue)
{
scap = ro.Costbearer2SupportConceptDC.ApprovalPeriodList.FirstOrDefault(i => ro.BewilligtStart.InBetween(i.Span, true) && i.ServiceCategory.ServiceCategoryOid == catOid.Value);
if (scap == null || catOid.HasValue && scap.ServiceCategory.ServiceCategoryOid != catOid.Value)
{
return ro;
}
}
else
{
scap = ro.Costbearer2SupportConceptDC.ApprovalPeriodList.FirstOrDefault(i => ro.BewilligtStart.InBetween(i.Span, true));
//&& i.ServiceCategory != null && (i.ServiceCategory.Name.StartsWith("Kompensatorisch") || (i.ServiceCategory.Name.Contains("KA") && !i.ServiceCategory.Name.Contains("Fahrzeit"))));
}
}
else
{
scap = ro.Costbearer2SupportConceptDC.ApprovalPeriodList.FirstOrDefault(i => i.SupportConceptApprovalPeriodOid == scapOid.Value);
}
var bewilligtProWoche = scap.ApprovedBEPerInterval ?? 0;
ro.WochenZeilen = new List<LwvKASpitzabrechnungsWochenZeile>();
ro.Preiszeitraeume = new List<Preiszeitraum>();
var zeilenDict = new Dictionary<String, LwvKASpitzabrechnungsWochenZeile>();
int year = ro.BewilligtStart.Year;
int idx = 0;
//Erstelle über gesamten Bewilligungszeitraum eine leere Zeile pro Kalenderwoche und Jahr und fülle mit Bewilligungsdaten
DateTime dt = ro.BewilligtStart;
while (dt <= ro.BewilligtEnde)
{
String kwKey = String.Format("{0}_{1}", dt.Year, GetKW(dt));
if (!zeilenDict.ContainsKey(kwKey))
{
//Neue KW
var wz = new LwvKASpitzabrechnungsWochenZeile();
var days = 1;
wz.Kalenderwoche = GetKW(dt);
wz.kwStartDate = dt;
wz.kwEndDate = dt;
while (wz.kwEndDate.DayOfWeek != DayOfWeek.Sunday)
{
wz.kwEndDate = wz.kwEndDate.AddDays(1);
days += 1;
}
wz.bewilligteStunden = Math.Round(bewilligtProWoche/60, 2, MidpointRounding.AwayFromZero);
if (days != 7)
{
wz.bewilligteStunden = Math.Round(wz.bewilligteStunden / 7 * days, 2, MidpointRounding.AwayFromZero);
}
var data = calc.GetFixedBillingData(scap, wz.kwStartDate, wz.kwEndDate);
if (data != null && data.Count != 0)
{
wz.Stundensatz = data[0].AmountTotal;
}
// Der LWV hat für die Kompensatorische Assistenz sich vom Stundensatz auf einen
wz.BetragPauschal = Math.Round(bewilligtProWoche * (decimal)Math.Round((double)wz.Stundensatz / 60, 4, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero);
ro.SummeBewilligteStunden += wz.bewilligteStunden;
ro.SummeBetragPauschal += wz.BetragPauschal ?? 0;
ro.WochenZeilen.Add(wz);
zeilenDict.Add(kwKey, wz);
// setze Jahresdaten
if (idx == 0 || year != dt.Year)
{
idx++;
year = dt.Year;
var pz = new Preiszeitraum();
pz.Index = idx;
pz.Stundensatz = wz.BetragPauschal;
pz.SummeBewilligteStunden = wz.bewilligteStunden;
pz.SummeErbrachteStunden = 0;
pz.SummeStundenDifferenz = 0;
pz.SummeBetragPauschal = 0;
pz.SummeBetragErbracht = 0;
pz.SummeBetragDifferenz = 0;
ro.Preiszeitraeume.Add(pz);
}
else
{
var aktPz = ro.Preiszeitraeume.FirstOrDefault(i => i.Index == idx);
aktPz.SummeBewilligteStunden += wz.bewilligteStunden;
}
wz.Preiszeitraum = idx;
}
dt = dt.AddDays(1);
}
// ergänze jede Kalenderwoche mit erbrachten Leistungen und den darausfolgenden Daten
var srList = c2s.ServiceRecords;
foreach (var item in srList)
{
String kwKey = String.Format("{0}_{1}", item.Start.Value.Year, GetKW(item.Start.Value));
if (zeilenDict.ContainsKey(kwKey) && item.ServiceDescription.ServiceCategory.Oid == scap.ServiceCategory.ServiceCategoryOid)
{
var wz = zeilenDict[kwKey];
wz.erbrachteStunden += item.RoundedDuration / 60;
}
}
foreach (var wz in ro.WochenZeilen)
{
wz.erbrachteStunden = Math.Round(wz.erbrachteStunden, 2, MidpointRounding.AwayFromZero);
wz.StundenDifferenz = wz.erbrachteStunden - wz.bewilligteStunden;
if (wz.StundenDifferenz < 0)
{
wz.nichtErbrachteStunden = wz.bewilligteStunden - wz.erbrachteStunden;
}
if (wz.StundenDifferenz > 0)
{
wz.nachgeholteStunden = wz.erbrachteStunden - wz.bewilligteStunden;
}
wz.BetragErbracht = Math.Round(wz.erbrachteStunden * wz.Stundensatz.Value, 2, MidpointRounding.AwayFromZero);
wz.BetragPauschal = Math.Round(bewilligtProWoche * (decimal)Math.Round((double)wz.Stundensatz / 60, 4, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero);
ro.SummeStundenDifferenz += wz.StundenDifferenz ?? 0;
ro.SummeErbrachteStunden += wz.erbrachteStunden;
ro.SummeBetragErbracht += wz.BetragErbracht ?? 0;
// Fülle die Jahresdaten
var aktPz = ro.Preiszeitraeume.FirstOrDefault(i => i.Index == wz.Preiszeitraum);
aktPz.SummeErbrachteStunden += wz.erbrachteStunden;
aktPz.SummeStundenDifferenz += wz.StundenDifferenz;
aktPz.SummeBetragPauschal += wz.BetragPauschal;
aktPz.SummeBetragErbracht += wz.BetragErbracht;
}
foreach (var pz in ro.Preiszeitraeume)
{
//pz.SummeBetragDifferenz = pz.SummeBetragErbracht - pz.SummeBetragPauschal;
pz.SummeBetragDifferenz = Math.Round(pz.SummeStundenDifferenz.Value * pz.Stundensatz.Value, 2, MidpointRounding.AwayFromZero);
}
return ro;
}
private static int GetKW(DateTime actualDate)
{
Calendar objCal = CultureInfo.CurrentCulture.Calendar;
int weekofyear = objCal.GetWeekOfYear(actualDate, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
return weekofyear;
}
}
public class LwvKASpitzabrechnungsWochenZeile
{
public int Preiszeitraum { get; set; }
public List<ServiceRecordDC> ServiceRecords { get; set; }
public int Kalenderwoche { get; set; }
public DateTime kwStartDate { get; set; }
public DateTime kwEndDate { get; set; }
public decimal bewilligteStunden { get; set; }
public decimal erbrachteStunden { get; set; }
public decimal? nichtErbrachteStunden { get; set; }
public decimal? nachgeholteStunden { get; set; }
public decimal? StundenDifferenz { get; set; }
public decimal? Stundensatz { get; set; }
public decimal? BetragPauschal { get; set; }
public decimal? BetragErbracht { get; set; }
}
public class Preiszeitraum
{
public int Index { get; set; }
public decimal? Stundensatz { get; set; }
public decimal? SummeBewilligteStunden { get; set; }
public decimal? SummeErbrachteStunden { get; set; }
public decimal? SummeStundenDifferenz { get; set; }
public decimal? SummeBetragPauschal { get; set; }
public decimal? SummeBetragErbracht { get; set; }
public decimal? SummeBetragDifferenz { get; set; }
}
}

View File

@@ -984,19 +984,14 @@ namespace BeWo.Report.ReportObjects
decimal duration = GetDuration(item, empDetail);
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit")
{
arbeitszeit += duration;
}
else if (item.ServiceDescription.ServiceCategory.IsBillable)
{
flsGesamt += duration;
}
if (IstArbeitszeit(item))
{
arbeitszeit += duration;
}
else if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
flsGesamt += duration;
}
}
else if (AddServiceRecordToDuration(item))
{
@@ -2055,19 +2050,25 @@ namespace BeWo.Report.ReportObjects
{
if (Settings.ShowWorktime && Settings.EnableArbeitszeiterfassung)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit")
{
return true;
}
}
return false;
return IstArbeitszeit(item);
}
return true;
}
public virtual bool IstArbeitszeit(ServiceRecord item)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.Name.StartsWith("Arbeitszeit") || item.ServiceDescription.ServiceCategory.Name.StartsWith("Arbeitszeit")) //Arbeitszeit und Arbeitszeiterfassung etc.
{
return true;
}
}
return false;
}
public virtual decimal AddRateFactorToIst()
{
return 1;
@@ -2341,6 +2342,26 @@ namespace BeWo.Report.ReportObjects
return ueberstundenStd;
}
public virtual decimal BerechneSollAmTag(MitarbeiterstundenkontoRO.EmployeeDetail ed, DateTime date)
{
decimal soll = 0;
var c = ed.Employee.GetValidContractForDate(date);
if (c != null)
{
int arbeitstageProWoche = ANZ_WOCHENTAGE;
if (c.WeeklyDays.HasValue && c.WeeklyDays > 0)
{
arbeitstageProWoche = c.WeeklyDays.Value;
}
if (c.WeeklyTotalHours.HasValue)
{
return c.WeeklyTotalHours.Value / arbeitstageProWoche;
}
}
return soll;
}
public virtual decimal BerechneSollProWoche(Contract c, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
if (c != null)
@@ -2882,7 +2903,7 @@ namespace BeWo.Report.ReportObjects
}
}
private void AddAbsenceDaysFuerTag(AbsenceTimeDays atd, Employee emp, DateTime arbeitstagStart, DateTime arbeitstagEnde)
public virtual void AddAbsenceDaysFuerTag(AbsenceTimeDays atd, Employee emp, DateTime arbeitstagStart, DateTime arbeitstagEnde)
{
var hours = (decimal)arbeitstagEnde.Subtract(arbeitstagStart).TotalHours;

View File

@@ -30,10 +30,20 @@ namespace BeWo.Report.ReportObjects
{
var dd = base.CreateDayDetail(date, ed);
dd.MaxHoursUntilBreak = null;
dd.MaxHoursUntilBreak2 = null;
dd.BreakMinutes = null;
dd.BreakMinutes2 = null;
if (Settings.ShowWorktime && Settings.EnableArbeitszeiterfassung)
{
ConfigurePauseSettings(dd);
}
else
{
//Alter Default
dd.MaxHoursUntilBreak = null;
dd.MaxHoursUntilBreak2 = null;
dd.BreakMinutes = null;
dd.BreakMinutes2 = null;
}
return dd;
}
}

View File

@@ -109,6 +109,9 @@ namespace ABCBetreuungenReports
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.wennGruppeAnzPersonen = new DevExpress.XtraReports.UI.CalculatedField();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
@@ -154,7 +157,7 @@ namespace ABCBetreuungenReports
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(1089F, 20F);
this.xrTable3.SizeF = new System.Drawing.SizeF(1116.027F, 20F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -171,7 +174,8 @@ namespace ABCBetreuungenReports
this.xrTableCell34,
this.xrTableCell35,
this.xrTableCell16,
this.xrTableCell50});
this.xrTableCell50,
this.xrTableCell18});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -308,7 +312,7 @@ namespace ABCBetreuungenReports
this.xrTableCell50.StylePriority.UsePadding = false;
this.xrTableCell50.StylePriority.UseTextAlignment = false;
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell50.Weight = 0.18114777724738237D;
this.xrTableCell50.Weight = 0.10531422040756716D;
//
// GroupHeader1
//
@@ -327,7 +331,7 @@ namespace ABCBetreuungenReports
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(1089F, 136.1859F);
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(1118F, 136.1859F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
@@ -346,7 +350,8 @@ namespace ABCBetreuungenReports
this.columnWegepauschaleQuali,
this.xrTableCell11,
this.xrTableCell9,
this.xrTableCell32});
this.xrTableCell32,
this.xrTableCell17});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.StylePriority.UseTextAlignment = false;
@@ -555,7 +560,7 @@ namespace ABCBetreuungenReports
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "Mitarbeiter*in";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell32.Weight = 0.40075152404214204D;
this.xrTableCell32.Weight = 0.23825572445882487D;
//
// formattingRuleStartDate
//
@@ -766,7 +771,7 @@ namespace ABCBetreuungenReports
this.xrLabel28.BackColor = System.Drawing.Color.Transparent;
this.xrLabel28.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedStartDate", "{0:MMMM yyyy}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptCostBearer.ApprovedStartDate", "{0:MMMM yyyy}")});
this.xrLabel28.LocationFloat = new DevExpress.Utils.PointFloat(614.5723F, 115.909F);
this.xrLabel28.Name = "xrLabel28";
this.xrLabel28.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1246,6 +1251,50 @@ namespace ABCBetreuungenReports
this.wennGruppeAnzPersonen.Expression = "Iif([CustomerCount] > 1,[CustomerCount],\'\')";
this.wennGruppeAnzPersonen.Name = "wennGruppeAnzPersonen";
//
// xrTableCell17
//
this.xrTableCell17.BackColor = System.Drawing.Color.Transparent;
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Calibri", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell17.StylePriority.UseBackColor = false;
this.xrTableCell17.StylePriority.UseBorders = false;
this.xrTableCell17.StylePriority.UseFont = false;
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.Text = "Unterschrift";
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell17.Weight = 0.23825572445882487D;
//
// xrTableCell18
//
this.xrTableCell18.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.picSignature});
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell18.Weight = 0.10531422040756716D;
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(6.103516E-05F, 0F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(96.5495F, 20F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new DevExpress.XtraReports.UI.BeforePrintEventHandler(this.picSignature_BeforePrint);
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
@@ -1270,7 +1319,7 @@ namespace ABCBetreuungenReports
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(31F, 30F, 136.0417F, 30F);
this.Margins = new DevExpress.Drawing.DXMargins(31F, 20F, 136.0417F, 30F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
@@ -1362,5 +1411,8 @@ namespace ABCBetreuungenReports
private DevExpress.XtraReports.UI.XRLabel lblSummeAusfallstunden;
private DevExpress.XtraReports.UI.XRLabel lblSummeWegepauschalen;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
}
}

View File

@@ -114,6 +114,7 @@ namespace ABCBetreuungenReports
var dc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);
decimal gesamtBewilligtProWoche = 0;
decimal pauschalBewilligt = 0;
foreach (var scap in dc.ApprovalPeriodList)
{
if (scap.StartDate.Value >= pRO.StartDate && scap.StartDate.Value <= pRO.EndDate || scap.EndDate.Value >= pRO.StartDate && scap.EndDate.Value <= pRO.EndDate ||
@@ -134,13 +135,21 @@ namespace ABCBetreuungenReports
lblBewilligtFls.Text = String.Format("{0:0.00}", scap.ApprovedBEPerInterval.Value);
}
else
{
lblBewilligtFls.Text = string.Format("{0:0.00}", pRO.ApprovedFLSPerWeekTotal);
if (scap.ApprovedBETotal.HasValue)
pauschalBewilligt += scap.ApprovedBETotal.Value;
}
}
//if (scap.EndDate.HasValue && scap.StartDate.HasValue && scap.ApprovedBEPerInterval.HasValue && scap.ApprovedBEInterval.HasValue)
//pRO.ApprovedFLSTotal += Convert.ToDecimal((scap.EndDate.Value - scap.StartDate.Value).TotalDays / 7) * scap.ApprovedBEPerInterval.Value;
}
if (gesamtBewilligtProWoche != 0)
lblBewilligtFls.Text = string.Format("{0:0.00}", gesamtBewilligtProWoche);
var anzWochen = Math.Round(((Convert.ToDateTime(pRO.ApprovedEndDate) - Convert.ToDateTime(pRO.ApprovedStartDate)).Days / 7m), 2);
pRO.ApprovedFLSTotal = pRO.ApprovedFLSTotal / 50 * 60;
//pRO.ApprovedFLSTotal = anzWochen * gesamtBewilligtProWoche + pauschalBewilligt;
}
pRO.TotalFLMBillable = minuten;
@@ -249,7 +258,7 @@ namespace ABCBetreuungenReports
// }
//}
}

View File

@@ -50,6 +50,7 @@ namespace BeWo.ABCBetreuungenReports
this.lblUnterschriftKlient = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
@@ -80,7 +81,9 @@ namespace BeWo.ABCBetreuungenReports
this.fieldApprovedFLMPerMonth = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldUebertragVormonat = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTotalFree = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -90,7 +93,8 @@ namespace BeWo.ABCBetreuungenReports
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.Detail.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.Detail.HeightF = 20F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -106,7 +110,7 @@ namespace BeWo.ABCBetreuungenReports
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(500F, 20F);
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(677.0001F, 20F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
@@ -117,7 +121,8 @@ namespace BeWo.ABCBetreuungenReports
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell11});
this.xrTableCell11,
this.xrTableCell2});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -183,7 +188,8 @@ namespace BeWo.ABCBetreuungenReports
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable3});
this.Detail1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.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.Detail1.HeightF = 20F;
this.Detail1.Name = "Detail1";
this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -200,7 +206,7 @@ namespace BeWo.ABCBetreuungenReports
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(500F, 20F);
this.xrTable3.SizeF = new System.Drawing.SizeF(677F, 20F);
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow6
@@ -208,7 +214,8 @@ namespace BeWo.ABCBetreuungenReports
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13,
this.xrTableCell1,
this.xrTableCell15});
this.xrTableCell15,
this.xrTableCell5});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -267,7 +274,8 @@ namespace BeWo.ABCBetreuungenReports
this.lblUnterschriftKlient,
this.xrLabel10,
this.xrLabel11});
this.GroupFooter1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.GroupFooter1.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.GroupFooter1.HeightF = 104.7917F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
@@ -286,7 +294,7 @@ namespace BeWo.ABCBetreuungenReports
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")});
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "CustomerSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(137.3333F, 49.29164F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(199.3611F, 35.50002F);
@@ -295,7 +303,7 @@ namespace BeWo.ABCBetreuungenReports
// lblUnterschriftKlient
//
this.lblUnterschriftKlient.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftKlient.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftKlient.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(0F, 84.79166F);
this.lblUnterschriftKlient.Name = "lblUnterschriftKlient";
this.lblUnterschriftKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -312,7 +320,7 @@ namespace BeWo.ABCBetreuungenReports
//
this.xrLabel10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMBillable", "{0:0}")});
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(389.9999F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -324,7 +332,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel11
//
this.xrLabel11.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel11.Multiline = true;
this.xrLabel11.Name = "xrLabel11";
@@ -335,6 +343,10 @@ namespace BeWo.ABCBetreuungenReports
this.xrLabel11.Text = "geleistet";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -356,14 +368,15 @@ namespace BeWo.ABCBetreuungenReports
this.xrLabel8,
this.xrLabel2,
this.xrLabel1});
this.ReportHeader.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ReportHeader.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.ReportHeader.HeightF = 150F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 110F);
this.xrLabel9.Multiline = true;
this.xrLabel9.Name = "xrLabel9";
@@ -388,7 +401,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel6
//
this.xrLabel6.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 93.00003F);
this.xrLabel6.Multiline = true;
this.xrLabel6.Name = "xrLabel6";
@@ -403,7 +416,7 @@ namespace BeWo.ABCBetreuungenReports
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSTotal", "{0:0.##}")});
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(292.2918F, 76.00002F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -420,7 +433,7 @@ namespace BeWo.ABCBetreuungenReports
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek", "{0:0.##}")});
this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(217.0001F, 76.00002F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -437,7 +450,7 @@ namespace BeWo.ABCBetreuungenReports
//
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "fieldApprovedFLMPerMonth", "{0:0.##}")});
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(200F, 110F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -449,7 +462,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel16
//
this.xrLabel16.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(146.0416F, 59.00002F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -462,7 +475,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel15
//
this.xrLabel15.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(132.9999F, 25F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -475,7 +488,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel8
//
this.xrLabel8.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 76.00002F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
@@ -488,7 +501,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
@@ -501,7 +514,7 @@ namespace BeWo.ABCBetreuungenReports
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
@@ -568,12 +581,11 @@ namespace BeWo.ABCBetreuungenReports
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(336.1F, 39.99999F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(340.9F, 60F);
@@ -621,9 +633,49 @@ namespace BeWo.ABCBetreuungenReports
this.fieldTotalFree.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTotalFree.Name = "fieldTotalFree";
//
// bindingSource1
// xrTableCell2
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.Multiline = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(12, 12, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Unterschrift";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.49441357831049237D;
//
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.picSignature});
this.xrTableCell5.Multiline = true;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
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.MiddleCenter;
this.xrTableCell5.Weight = 0.22348484619915809D;
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(177F, 20F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new DevExpress.XtraReports.UI.BeforePrintEventHandler(this.picSignature_BeforePrint);
//
// Stundenzettel
//
@@ -651,11 +703,11 @@ namespace BeWo.ABCBetreuungenReports
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName,
this.formattingRuleAbrechenbar});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 100, 30);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 100F, 30F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
@@ -715,5 +767,8 @@ namespace BeWo.ABCBetreuungenReports
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
private DevExpress.XtraReports.UI.XRLabel lblUnterschriftKlient;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
}
}

View File

@@ -8,6 +8,9 @@ using BS.Shared.Core;
using BS.Shared.Services;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using DevExpress.XtraReports.UI;
using System.IO;
using System.Text.RegularExpressions;
namespace BeWo.ABCBetreuungenReports
{
@@ -133,7 +136,32 @@ namespace BeWo.ABCBetreuungenReports
}
}
}
private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
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);
}
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -18,11 +18,11 @@ namespace BeWo.ABCBetreuungenReports
public void SetReportDataSource(Settlement2RO pRO)
{
//if (pRO.RecipientOrganisation.ToLower().Contains("neu"))
//{
// var fls = pRO.ApprovedFLS.Split(' ')[0];
// pRO.ApprovedFLS = string.Format("{0:0.00} FLS", Convert.ToDecimal(fls) / 50 * 60);
//}
if (pRO.RecipientOrganisation.ToLower().Contains("neu"))
{
var fls = pRO.ApprovedFLS.Split(' ')[0];
pRO.ApprovedFLS = string.Format("{0:0.00} FLS", Convert.ToDecimal(fls) / 50 * 60);
}
foreach (var item in pRO.InvoiceItems)
{

View File

@@ -331,7 +331,7 @@ namespace AWOMuensterlandRecklinghausen
{
foreach (var item in ed.AllServiceRecords)
{
if (item.ServiceDescription != null && (item.ServiceDescription.Name.Contains("UT") || item.ServiceDescription.Name.Contains("Unterrichtsfrei")) && item.Start.Value.Date == date.Date)
if (item.ServiceDescription != null && (item.ServiceDescription.Name.Contains("UT") || item.ServiceDescription.Name.Contains("Unterrichtsfrei") || item.ServiceDescription.Name.Contains("Regeneration")) && item.Start.Value.Date == date.Date)
{
if (HatArbeitszeitImZeitraum(ed.Employee.Arbeitszeiten, date, date))
{
@@ -405,7 +405,7 @@ namespace AWOMuensterlandRecklinghausen
{
var duration = base.GetDuration(item, ed);
if (item.ServiceDescription != null && (item.ServiceDescription.Name.Contains("UT") || item.ServiceDescription.Name.Contains("Unterrichtsfrei")))
if (item.ServiceDescription != null && (item.ServiceDescription.Name.Contains("UT") || item.ServiceDescription.Name.Contains("Unterrichtsfrei") || item.ServiceDescription.Name.Contains("Regeneration")))
{
var c = ed.Employee.GetValidContractForDate(item.Start.Value.Date);
if (c != null)

View File

@@ -141,7 +141,8 @@ namespace AWOMuensterlandRecklinghausen
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable3.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.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -172,7 +173,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd/MM/yyyy}")});
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell13.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.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
@@ -186,7 +188,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateMinutes", "{0:HH:mm}")});
this.xrTableCell14.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell14.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.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
@@ -200,7 +203,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EndDateMinutes", "{0:HH:mm}")});
this.xrTableCell10.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell10.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.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
@@ -214,7 +218,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Notice5")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
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";
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
@@ -226,7 +231,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.CustomerCount", "{0:0}")});
this.xrTableCell15.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell15.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.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UseFont = false;
@@ -239,7 +245,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Notice4")});
this.xrTableCell16.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell16.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.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseFont = false;
this.xrTableCell16.StylePriority.UseTextAlignment = false;
@@ -250,7 +257,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.FLS", "{0:0.00}")});
this.xrTableCell12.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
@@ -296,7 +303,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableServiceRecords1.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableServiceRecords1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableServiceRecords1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -327,7 +335,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.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.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
@@ -342,7 +351,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell4.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.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
@@ -358,7 +368,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell11.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.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
this.xrTableCell11.StylePriority.UseBorders = false;
@@ -373,7 +384,8 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.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.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
@@ -389,7 +401,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell28.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell28.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell28.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
this.xrTableCell28.StylePriority.UseBorders = false;
@@ -404,7 +416,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell48.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell48.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell48.Multiline = true;
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 1, 0, 100F);
@@ -442,7 +454,8 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell8.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.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
@@ -456,7 +469,8 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.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.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
@@ -470,7 +484,8 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.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.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorders = false;
@@ -485,7 +500,8 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell7.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.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.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBackColor = false;
@@ -500,7 +516,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell43.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell43.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.StylePriority.UseBorders = false;
this.xrTableCell43.StylePriority.UseFont = false;
@@ -513,7 +529,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell49.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell49.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell49.Multiline = true;
this.xrTableCell49.Name = "xrTableCell49";
this.xrTableCell49.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -560,7 +576,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel24.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel24.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(0F, 108.1111F);
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -578,7 +594,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel25.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel25.CanGrow = false;
this.xrLabel25.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel25.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(120.6389F, 108.1111F);
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -597,7 +613,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel26.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel26.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel26.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(371.25F, 108.1111F);
this.xrLabel26.Name = "xrLabel26";
this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -615,7 +631,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel27.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel27.CanGrow = false;
this.xrLabel27.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel27.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel27.LocationFloat = new DevExpress.Utils.PointFloat(503.3473F, 108.1111F);
this.xrLabel27.Name = "xrLabel27";
this.xrLabel27.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -633,7 +649,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel14.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel14.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(371.2499F, 47.1111F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -651,7 +667,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel16.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek", "{0:0.##}")});
this.xrLabel16.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(550F, 47.1111F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -668,7 +684,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel7.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(371.25F, 77.6111F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -685,7 +701,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel8.CanGrow = false;
this.xrLabel8.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(503.3473F, 77.6111F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -702,7 +718,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel6.CanGrow = false;
this.xrLabel6.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(120.6389F, 77.6111F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -718,7 +734,7 @@ namespace AWOMuensterlandRecklinghausen
// xrLabel5
//
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(120.6389F, 47.1111F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -736,7 +752,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel4.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 77.6111F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -754,7 +770,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel3.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel3.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 47.1111F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -769,7 +785,8 @@ namespace AWOMuensterlandRecklinghausen
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
@@ -812,7 +829,7 @@ namespace AWOMuensterlandRecklinghausen
//
// xrPictureBox3
//
this.xrPictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox3.Image")));
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 25.5208F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(199.3611F, 76.87503F);
@@ -844,7 +861,7 @@ namespace AWOMuensterlandRecklinghausen
//
// xrLabel11
//
this.xrLabel11.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 40.00003F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -871,7 +888,7 @@ namespace AWOMuensterlandRecklinghausen
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")});
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "CustomerSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(186.6943F, 75.95831F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(199.3611F, 35.50002F);
@@ -880,7 +897,7 @@ namespace AWOMuensterlandRecklinghausen
// lblUnterschriftKlient
//
this.lblUnterschriftKlient.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftKlient.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftKlient.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(49.36116F, 111.4583F);
this.lblUnterschriftKlient.Name = "lblUnterschriftKlient";
this.lblUnterschriftKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -890,13 +907,13 @@ namespace AWOMuensterlandRecklinghausen
this.lblUnterschriftKlient.StylePriority.UseFont = false;
this.lblUnterschriftKlient.StylePriority.UsePadding = false;
this.lblUnterschriftKlient.StylePriority.UseTextAlignment = false;
this.lblUnterschriftKlient.Text = "Datum, Unterschrift Klient*in";
this.lblUnterschriftKlient.Text = "Datum, Unterschrift verantwortliche Lehrkraft";
this.lblUnterschriftKlient.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblUnterschriftMitarbeiter
//
this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftMitarbeiter.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftMitarbeiter.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(398.31F, 111.4583F);
this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter";
this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -911,7 +928,7 @@ namespace AWOMuensterlandRecklinghausen
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00004F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -926,7 +943,7 @@ namespace AWOMuensterlandRecklinghausen
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -943,7 +960,7 @@ namespace AWOMuensterlandRecklinghausen
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(447.4997F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -959,7 +976,7 @@ namespace AWOMuensterlandRecklinghausen
// xrLabel9
//
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(245F, 0F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -977,7 +994,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.FLS")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(371.2499F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -995,7 +1012,7 @@ namespace AWOMuensterlandRecklinghausen
// xrPictureBox1
//
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "EmployeeSignature")});
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 75.95831F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
@@ -1041,17 +1058,17 @@ namespace AWOMuensterlandRecklinghausen
this.fieldKontaktArt,
this.FLS});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 10F);
this.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(50, 29, 112, 30);
this.Margins = new DevExpress.Drawing.DXMargins(50F, 29F, 112F, 30F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

View File

@@ -27,6 +27,10 @@ namespace AWOMuensterlandRecklinghausen
pRO.ReferenceNumber = "";
pRO.MainAttendantCommaSeperated = GetSchule(pRO);
bool pausenabzug = CheckPausenabzug(pRO);
if (pRO.StartDate < new DateTime(2024,06,01))
{
lblUnterschriftKlient.Text = "Datum, Unterschrift Klient*in";
}
if (pRO.Services != null)
{

File diff suppressed because one or more lines are too long

View File

@@ -44,20 +44,30 @@ namespace AWOMuensterlandRecklinghausen
}
var invoices = DAOFactory.SearchDAO.GetServiceInvoices(scRo.Costbearer2Supportconcept.CostBearer2SupportConceptOid.Value, lastMonth);
var count = 0;
scRo.Leistungskategorie = "";
foreach (var ii in invoices)
{
if (ii.IsActive.Equals(ActivationTypeId.Active))
{
if (ii.InvoiceBase.IsReviewed)
{
scRo.Custom3 = "x";
}
if (ii.InvoiceBase.IsSent)
{
scRo.Leistungskategorie = "x";
}
count += 1;
if (count == 1)
{
scRo.Custom3 = String.Format("{0:dd.MM.yyyy}", ii.InvoiceBase.InvoiceDate);
scRo.Custom4 = String.Format("{0:dd.MM.yyyy}", ii.InvoiceBase.InvoiceDate);
}
if (count > 1)
{
scRo.Custom3 += String.Format(", {0:dd.MM.yyyy}", ii.InvoiceBase.InvoiceDate);
scRo.Custom4 += String.Format(", {0:dd.MM.yyyy}", ii.InvoiceBase.InvoiceDate);
}
scRo.Custom5 += String.Format("{0}", ii.InvoiceBase.Notice);
}
}
}

View File

@@ -59,6 +59,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
@@ -73,7 +74,8 @@ namespace AWOMuensterlandRecklinghausen
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.fieldBillableAmountYear = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -106,7 +108,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(1559F, 25F);
this.xrTable2.SizeF = new System.Drawing.SizeF(1569F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
@@ -122,6 +124,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell3,
this.xrTableCell29,
this.xrTableCell11,
this.xrTableCell15,
this.xrTableCell26,
this.xrTableCell13,
this.xrTableCell9});
@@ -182,7 +185,7 @@ namespace AWOMuensterlandRecklinghausen
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptFinanceList.Custom3", "{0:c}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptFinanceList.Custom4", "{0:c}")});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.StylePriority.UseTextAlignment = false;
this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
@@ -190,6 +193,8 @@ namespace AWOMuensterlandRecklinghausen
//
// xrTableCell13
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptFinanceList.Leistungskategorie")});
this.xrTableCell13.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseTextAlignment = false;
@@ -198,9 +203,11 @@ namespace AWOMuensterlandRecklinghausen
//
// xrTableCell9
//
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptFinanceList.Custom5")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 1.2584958013667649D;
//
// lblTitel
@@ -242,7 +249,7 @@ namespace AWOMuensterlandRecklinghausen
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(1559F, 50F);
this.xrTable1.SizeF = new System.Drawing.SizeF(1569F, 50F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
@@ -258,6 +265,7 @@ namespace AWOMuensterlandRecklinghausen
this.cellGeleistetImZeitraumHeader,
this.cellRateFactorHeader,
this.xrTableCell10,
this.xrTableCell14,
this.xrTableCell25,
this.xrTableCell12,
this.xrTableCell8});
@@ -335,6 +343,10 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 1.2584944495007986D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.FinanceRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -461,9 +473,24 @@ namespace AWOMuensterlandRecklinghausen
this.fieldBillableAmountYear.Expression = "[BillableAmountInReportTimeSpan]*12";
this.fieldBillableAmountYear.Name = "fieldBillableAmountYear";
//
// bindingSource1
// xrTableCell14
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.FinanceRO);
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Druckbereit";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell14.Weight = 0.44313145010736071D;
//
// xrTableCell15
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SupportConceptFinanceList.Custom3")});
this.xrTableCell15.Multiline = true;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell15.Weight = 0.44313115228486588D;
//
// Statuscheck
//
@@ -541,5 +568,7 @@ namespace AWOMuensterlandRecklinghausen
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
}
}

View File

@@ -56,6 +56,12 @@
</ItemGroup>
<ItemGroup>
<Compile Include="CustomReportCreator.cs" />
<Compile Include="RechnungEigenanteil.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RechnungEigenanteil.Designer.cs">
<DependentUpon>RechnungEigenanteil.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="CollectiveBillingInvoice.cs">
@@ -113,6 +119,10 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RechnungEigenanteil.resx">
<DependentUpon>RechnungEigenanteil.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="CollectiveBillingInvoice.resx">
<DependentUpon>CollectiveBillingInvoice.cs</DependentUpon>

View File

@@ -78,6 +78,7 @@ namespace AachenerLaienhelfer
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
@@ -126,7 +127,6 @@ namespace AachenerLaienhelfer
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
@@ -568,6 +568,7 @@ namespace AachenerLaienhelfer
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox3,
this.xrLabel14,
this.xrLabel16,
this.xrLabel7,
@@ -577,7 +578,7 @@ namespace AachenerLaienhelfer
this.xrLabel4,
this.xrLabel3,
this.xrLabel2});
this.ReportHeader.HeightF = 130F;
this.ReportHeader.HeightF = 217.3611F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel14
@@ -586,7 +587,7 @@ namespace AachenerLaienhelfer
this.xrLabel14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 47.1111F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 139.1111F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(178.7501F, 30.50001F);
@@ -604,10 +605,10 @@ namespace AachenerLaienhelfer
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek", "{0:0.##}")});
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(593.75F, 47.1111F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(593.75F, 139.1111F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(100.2502F, 30.50001F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(141.2499F, 30.50002F);
this.xrLabel16.StylePriority.UseBackColor = false;
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
@@ -622,7 +623,7 @@ namespace AachenerLaienhelfer
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(415F, 77.6111F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(415F, 169.6111F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
@@ -639,10 +640,10 @@ namespace AachenerLaienhelfer
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 77.6111F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 169.6111F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(158.3612F, 30.50001F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(199.361F, 30.50002F);
this.xrLabel8.StylePriority.UseBackColor = false;
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
@@ -656,7 +657,7 @@ namespace AachenerLaienhelfer
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(170F, 77.6111F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(120.6388F, 169.6111F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(209.3611F, 30.50001F);
@@ -672,7 +673,7 @@ namespace AachenerLaienhelfer
//
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(170F, 47.1111F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(120.6388F, 139.1111F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(209.3611F, 30.50001F);
@@ -691,7 +692,7 @@ namespace AachenerLaienhelfer
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(49.36111F, 77.6111F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 169.6111F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
@@ -709,7 +710,7 @@ namespace AachenerLaienhelfer
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 47.11109F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 139.1111F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
@@ -723,19 +724,18 @@ namespace AachenerLaienhelfer
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 13F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 101.25F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(734.9999F, 25F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(522.153F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Quittierungsbeleg [Mandator.Name]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// formattingRuleServiceDesc
//
@@ -760,11 +760,16 @@ namespace AachenerLaienhelfer
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox3});
this.topMarginBand1.HeightF = 126.25F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(522.1529F, 0F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(224.2916F, 126.25F);
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
@@ -940,7 +945,7 @@ namespace AachenerLaienhelfer
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(398.31F, 250F);
this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter";
this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6944F, 19.99998F);
this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6899F, 19.99997F);
this.lblUnterschriftMitarbeiter.StylePriority.UseBackColor = false;
this.lblUnterschriftMitarbeiter.StylePriority.UseBorders = false;
this.lblUnterschriftMitarbeiter.StylePriority.UseFont = false;
@@ -1217,7 +1222,7 @@ namespace AachenerLaienhelfer
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(474.4724F, 130F);
this.xrRichText2.Name = "xrRichText2";
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
this.xrRichText2.SizeF = new System.Drawing.SizeF(264.972F, 68.05556F);
this.xrRichText2.SizeF = new System.Drawing.SizeF(260.5274F, 68.05556F);
this.xrRichText2.StylePriority.UseFont = false;
//
// xrRichText1
@@ -1226,7 +1231,7 @@ namespace AachenerLaienhelfer
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(474.4724F, 80.00005F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(264.9721F, 50F);
this.xrRichText1.SizeF = new System.Drawing.SizeF(262.5276F, 50.00001F);
this.xrRichText1.StylePriority.UseFont = false;
//
// xrLabel15
@@ -1375,13 +1380,6 @@ namespace AachenerLaienhelfer
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(488.7085F, 0F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(224.2916F, 126.25F);
//
// Quittierungsbeleg
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -78,6 +78,7 @@ namespace AachenerLaienhelfer
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
@@ -102,7 +103,6 @@ namespace AachenerLaienhelfer
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
@@ -542,6 +542,7 @@ namespace AachenerLaienhelfer
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox3,
this.xrLabel14,
this.xrLabel16,
this.xrLabel7,
@@ -551,7 +552,7 @@ namespace AachenerLaienhelfer
this.xrLabel4,
this.xrLabel3,
this.xrLabel2});
this.ReportHeader.HeightF = 130F;
this.ReportHeader.HeightF = 221.1528F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel14
@@ -560,7 +561,7 @@ namespace AachenerLaienhelfer
this.xrLabel14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 47.1111F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(417.0001F, 137.9444F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(178.7501F, 30.50001F);
@@ -578,10 +579,10 @@ namespace AachenerLaienhelfer
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek", "{0:0.##}")});
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(593.75F, 47.1111F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(595.7502F, 137.9444F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(100.2502F, 30.50001F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(139.2497F, 30.50002F);
this.xrLabel16.StylePriority.UseBackColor = false;
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
@@ -596,10 +597,10 @@ namespace AachenerLaienhelfer
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(415F, 77.6111F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(417.0002F, 168.4444F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(105.0139F, 30.50002F);
this.xrLabel7.StylePriority.UseBackColor = false;
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
@@ -613,10 +614,10 @@ namespace AachenerLaienhelfer
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 77.6111F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(522.0141F, 168.4445F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(158.3612F, 30.50001F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(212.9858F, 30.50002F);
this.xrLabel8.StylePriority.UseBackColor = false;
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
@@ -630,7 +631,7 @@ namespace AachenerLaienhelfer
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(170F, 77.6111F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(122.639F, 168.4444F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(209.3611F, 30.50001F);
@@ -646,7 +647,7 @@ namespace AachenerLaienhelfer
//
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(170F, 47.1111F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(122.639F, 137.9444F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(209.3611F, 30.50001F);
@@ -665,7 +666,7 @@ namespace AachenerLaienhelfer
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(49.36111F, 77.6111F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(2.000173F, 168.4444F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
@@ -683,7 +684,7 @@ namespace AachenerLaienhelfer
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 47.11109F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(2.000173F, 137.9444F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(120.6389F, 30.50001F);
@@ -697,18 +698,18 @@ namespace AachenerLaienhelfer
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 13F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(2.000173F, 102F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(734.9999F, 25F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(520.1528F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Jugendamt-Quittierungsbeleg [Mandator.Name]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// formattingRuleServiceDesc
//
@@ -733,11 +734,16 @@ namespace AachenerLaienhelfer
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox3});
this.topMarginBand1.HeightF = 126.25F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(522.1529F, 0.7500013F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(224.2916F, 126.25F);
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
@@ -909,7 +915,7 @@ namespace AachenerLaienhelfer
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(398.31F, 182.8526F);
this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter";
this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6944F, 19.99998F);
this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6902F, 19.99998F);
this.lblUnterschriftMitarbeiter.StylePriority.UseBackColor = false;
this.lblUnterschriftMitarbeiter.StylePriority.UseBorders = false;
this.lblUnterschriftMitarbeiter.StylePriority.UseFont = false;
@@ -941,7 +947,7 @@ namespace AachenerLaienhelfer
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(474.4724F, 80.00005F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(264.9721F, 50F);
this.xrRichText1.SizeF = new System.Drawing.SizeF(260.5274F, 50.00001F);
this.xrRichText1.StylePriority.UseFont = false;
//
// xrLabel13
@@ -1074,13 +1080,6 @@ namespace AachenerLaienhelfer
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(488.7085F, 0F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(224.2916F, 126.25F);
//
// QuittierungsbelegJugendamt
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -0,0 +1,792 @@
using BeWo.Report.ReportObjects;
namespace AachenerLaienhelfer
{
partial class InvoiceCustomerReport
{
/// <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);
}
#region Designer generated code
/// <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(InvoiceCustomerReport));
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.lblKlient = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
this.lblAddress = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.lblRechnungsNr = new DevExpress.XtraReports.UI.XRLabel();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.lblNotice = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrRichText3 = new DevExpress.XtraReports.UI.XRRichText();
this.xrRichText4 = new DevExpress.XtraReports.UI.XRRichText();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).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;
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable1.SizeF = new System.Drawing.SizeF(671.4175F, 25F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell9,
this.xrTableCell14,
this.xrTableCell10,
this.xrTableCell12});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AccountingPeriodStart")});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 1D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AccountingPeriodEnd")});
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "xrTableCell7";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 1D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.ItemDescription")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "xrTableCell9";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 2.3350077713203072D;
//
// xrTableCell14
//
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitPrice")});
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell14";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 0.81217660612832132D;
//
// xrTableCell10
//
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitCount", "{0:0.##}")});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.6539656324947265D;
//
// xrTableCell12
//
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AmountSum")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 3, 0, 0, 100F);
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell12.Weight = 1.0152204985905673D;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel12,
this.xrLabel10,
this.xrLabel11,
this.lblKlient,
this.xrLabel16,
this.xrLabel13,
this.xrRichText2,
this.xrLabel7,
this.xrRichText1,
this.lblAddress,
this.xrTable3,
this.xrLabel6,
this.xrLabel5,
this.xrLabel4,
this.xrLabel3,
this.lblRechnungsNr});
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 518.6958F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel12
//
this.xrLabel12.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 344.4042F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(236.6675F, 23F);
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.Text = "Name, Vorname, Geb.-Datum: ";
//
// xrLabel10
//
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 390.4043F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(236.6676F, 23F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Bewilligungszeitraum:";
//
// xrLabel11
//
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(236.6676F, 390.4043F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel11.SizeF = new System.Drawing.SizeF(434.7499F, 23F);
this.xrLabel11.StylePriority.UseFont = false;
this.xrLabel11.Text = "[AccountingPeriod]";
//
// lblKlient
//
this.lblKlient.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.lblKlient.LocationFloat = new DevExpress.Utils.PointFloat(236.6676F, 344.4042F);
this.lblKlient.Name = "lblKlient";
this.lblKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblKlient.SizeF = new System.Drawing.SizeF(434.7498F, 23F);
this.lblKlient.StylePriority.UseFont = false;
this.lblKlient.Text = "[CustomerLastName], [CustomerFirstName], geb.: [CustomerBirthdate!dd.MM.yyyy]";
//
// xrLabel16
//
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerReferenceNumber")});
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(236.6676F, 367.4043F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(434.7499F, 23F);
this.xrLabel16.StylePriority.UseFont = false;
//
// xrLabel13
//
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 367.4043F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(236.6675F, 23F);
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.Text = "Aktenzeichen:";
//
// xrRichText2
//
this.xrRichText2.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.xrRichText2.Name = "xrRichText2";
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
this.xrRichText2.SizeF = new System.Drawing.SizeF(350F, 22.99998F);
//
// xrLabel7
//
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDateTime")});
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(497.6251F, 251.5F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(179.3749F, 23.00003F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrLabel7.TextFormatString = "Aachen, den {0:dd.MM.yyyy}";
//
// xrRichText1
//
this.xrRichText1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(497.6251F, 0F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(179.3749F, 251.5F);
this.xrRichText1.StylePriority.UsePadding = false;
//
// lblAddress
//
this.lblAddress.LocationFloat = new DevExpress.Utils.PointFloat(0F, 33F);
this.lblAddress.Multiline = true;
this.lblAddress.Name = "lblAddress";
this.lblAddress.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAddress.SizeF = new System.Drawing.SizeF(351.375F, 131F);
this.lblAddress.StylePriority.UseFont = false;
this.lblAddress.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientFirstName] [RecipientLast" +
"Name]\r\n[RecipientStreet]\r\n[RecipientPostCode] [RecipientTown]";
//
// xrTable3
//
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 493.6958F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable3.SizeF = new System.Drawing.SizeF(671.4175F, 25F);
this.xrTable3.StylePriority.UseFont = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell15,
this.xrTableCell16,
this.xrTableCell17,
this.xrTableCell18,
this.xrTableCell19,
this.xrTableCell20});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell15
//
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UsePadding = false;
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.Text = "Von";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseBorders = false;
this.xrTableCell16.StylePriority.UsePadding = false;
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "Bis";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 1D;
//
// xrTableCell17
//
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell17.StylePriority.UseBorders = false;
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.Text = "Posten";
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell17.Weight = 2.3350077713203934D;
//
// xrTableCell18
//
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.Text = "Satz in €";
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell18.Weight = 0.81217660612829246D;
//
// xrTableCell19
//
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell19.StylePriority.UseBorders = false;
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.Text = "Anzahl";
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell19.Weight = 0.6539656324946691D;
//
// xrTableCell20
//
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.StylePriority.UsePadding = false;
this.xrTableCell20.StylePriority.UseTextAlignment = false;
this.xrTableCell20.Text = "Betrag";
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell20.Weight = 1.0152204985905673D;
//
// xrLabel6
//
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 458.6959F);
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(666.9999F, 23.25F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "für den Betreuungszeitraum [AccountingPeriod] berechnen wir folgende Leistungen:";
//
// xrLabel5
//
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 428.6959F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(581.4177F, 17.00003F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "[RecipientSalutation]";
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 316.5F);
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(650F, 17F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "ambulanter Eingliederungshilfe zum selbstständigen Wohnen (BeWo)";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 299.5F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 16F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung Eigenanteil";
this.xrLabel3.WordWrap = false;
//
// lblRechnungsNr
//
this.lblRechnungsNr.BackColor = System.Drawing.Color.Transparent;
this.lblRechnungsNr.CanShrink = true;
this.lblRechnungsNr.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblRechnungsNr.LocationFloat = new DevExpress.Utils.PointFloat(0F, 274.5F);
this.lblRechnungsNr.Name = "lblRechnungsNr";
this.lblRechnungsNr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblRechnungsNr.SizeF = new System.Drawing.SizeF(650F, 17F);
this.lblRechnungsNr.StylePriority.UseBackColor = false;
this.lblRechnungsNr.StylePriority.UseFont = false;
this.lblRechnungsNr.Text = "Rechnung Nr. [InvoiceNumber]";
this.lblRechnungsNr.WordWrap = false;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel9,
this.xrLabel14,
this.xrLabel1,
this.xrLabel8,
this.lblNotice,
this.xrTable4});
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 278.5834F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
// xrLabel9
//
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0.1668294F, 84.37501F);
this.xrLabel9.Multiline = true;
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(676.8331F, 135.4167F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = resources.GetString("xrLabel9.Text");
//
// xrLabel14
//
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0.1668294F, 244.5833F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.Text = "i. A. [CreatorFirstName] [CreatorLastName]";
//
// xrLabel1
//
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0.1668294F, 261.5834F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "- Verwaltung -";
//
// xrLabel8
//
this.xrLabel8.CanShrink = true;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 56.25F);
this.xrLabel8.Multiline = true;
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(677F, 18.04168F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.Text = "[Notice]";
//
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 27.79166F);
this.lblNotice.Name = "lblNotice";
this.lblNotice.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblNotice.SizeF = new System.Drawing.SizeF(250F, 28.45834F);
this.lblNotice.StylePriority.UseFont = false;
this.lblNotice.Text = "Abschließende Bemerkungen:";
//
// xrTable4
//
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(570.5F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable4.SizeF = new System.Drawing.SizeF(101F, 25F);
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.Weight = 1D;
//
// xrTableCell23
//
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell23.BorderWidth = 2F;
this.xrTableCell23.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 3, 0, 0, 100F);
this.xrTableCell23.StylePriority.UseBorders = false;
this.xrTableCell23.StylePriority.UseBorderWidth = false;
this.xrTableCell23.StylePriority.UseFont = false;
this.xrTableCell23.StylePriority.UsePadding = false;
this.xrTableCell23.StylePriority.UseTextAlignment = false;
this.xrTableCell23.Text = "[TotalClaim]";
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell23.Weight = 3.4827586206896557D;
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.topMarginBand1.HeightF = 165.625F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(452.7084F, 39.375F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(224.2916F, 126.25F);
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox2,
this.xrPictureBox3,
this.xrRichText3,
this.xrRichText4});
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.DetailReport.DataMember = "InvoiceItems";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F);
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrPictureBox2
//
this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource"));
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 17.00001F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(317F, 58.41669F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(327.4167F, 29.50001F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(96.16675F, 45.91668F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrRichText3
//
this.xrRichText3.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrRichText3.LocationFloat = new DevExpress.Utils.PointFloat(424.0832F, 40.04669F);
this.xrRichText3.Name = "xrRichText3";
this.xrRichText3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrRichText3.SerializableRtfString = resources.GetString("xrRichText3.SerializableRtfString");
this.xrRichText3.SizeF = new System.Drawing.SizeF(252.9167F, 35.37F);
this.xrRichText3.StylePriority.UsePadding = false;
//
// xrRichText4
//
this.xrRichText4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrRichText4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrRichText4.Name = "xrRichText4";
this.xrRichText4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrRichText4.SerializableRtfString = resources.GetString("xrRichText4.SerializableRtfString");
this.xrRichText4.SizeF = new System.Drawing.SizeF(626.2502F, 16.99994F);
this.xrRichText4.StylePriority.UsePadding = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// InvoiceCustomerReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.ReportHeader,
this.ReportFooter,
this.topMarginBand1,
this.bottomMarginBand1,
this.DetailReport});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 165.625F, 100F);
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.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel lblRechnungsNr;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRLabel lblAddress;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRRichText xrRichText1;
private DevExpress.XtraReports.UI.XRRichText xrRichText2;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRLabel lblKlient;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox3;
private DevExpress.XtraReports.UI.XRRichText xrRichText3;
private DevExpress.XtraReports.UI.XRRichText xrRichText4;
}
}

View File

@@ -0,0 +1,58 @@
using System;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
namespace AachenerLaienhelfer
{
public partial class InvoiceCustomerReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<InvoiceCustomerRO>
{
public InvoiceCustomerReport()
{
InitializeComponent();
}
public void SetReportDataSource(InvoiceCustomerRO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && !String.IsNullOrEmpty(pRO.RecipientOrganisation.Trim()))
{
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientDivision.Trim()))
{
sb.AppendLine(pRO.RecipientDivision);
}
if ((!String.IsNullOrEmpty(pRO.RecipientFirstName) && !String.IsNullOrEmpty(pRO.RecipientFirstName.Trim()))
|| (!String.IsNullOrEmpty(pRO.RecipientLastName) && !String.IsNullOrEmpty(pRO.RecipientLastName.Trim())))
{
sb.AppendLine(String.Format("{0} {1}", pRO.RecipientFirstName, pRO.RecipientLastName).Trim());
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet) && !String.IsNullOrEmpty(pRO.RecipientStreet.Trim()))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCode) && !String.IsNullOrEmpty(pRO.RecipientPostCode.Trim()))
{
sb.Append(pRO.RecipientPostCode);
sb.Append(" ");
}
if (!String.IsNullOrEmpty(pRO.RecipientTown) && !String.IsNullOrEmpty(pRO.RecipientTown.Trim()))
{
sb.Append(pRO.RecipientTown);
}
lblAddress.Text = sb.ToString();
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,11 @@
using System;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
using DevExpress.XtraReports.UI;
namespace AachenerLaienhelfer
@@ -15,8 +19,24 @@ namespace AachenerLaienhelfer
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
SetzeAdresse(pRO);
SetzeAdresse(pRO);
if (pRO.CustomerOid != null)
{
Customer c = DAOFactory.GenericDAO.LoadByID<Customer>((long)pRO.CustomerOid);
if (c != null)
{
var hauptbetreuer = c.Employee2CustomerList.FirstOrDefault(
e2c => e2c.ValueList.Any(ve => ve.Entry.SystemEntryID.HasValue
&& ve.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant));
if (hauptbetreuer != null && hauptbetreuer.Employee.Person != null)
{
lblBetreuungskraft.Text = hauptbetreuer.Employee.Person.FirstNameLastName;
}
}
}
this.bindingSource1.DataSource = pRO;
}
@@ -27,17 +47,13 @@ namespace AachenerLaienhelfer
{
sb.AppendLine(pRO.RecipientOrganisation);
}
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
//{
// sb.AppendLine(pRO.RecipientAddressLine1);
//}
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
{
sb.AppendLine(pRO.RecipientDivision);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
sb.AppendLine("z. Hd. " + pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
@@ -46,7 +62,6 @@ namespace AachenerLaienhelfer
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
sb.AppendLine();
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
{

File diff suppressed because one or more lines are too long

View File

@@ -74,9 +74,6 @@ namespace AachenerLaienhelfer
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -154,7 +151,7 @@ namespace AachenerLaienhelfer
this.xrRichText1,
this.xrRichText2});
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 412.5418F;
this.ReportHeader.HeightF = 406.9585F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
@@ -234,16 +231,16 @@ namespace AachenerLaienhelfer
//
this.xrLabel8.CanGrow = false;
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "Aachen, den {0:d. MMMM yyyy}")});
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(522.6252F, 392.25F);
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Verdana", 9F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(522.6204F, 386.6667F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(179.3748F, 20.29181F);
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrLabel8.TextFormatString = "Aachen, den {0:dd.MM.yyyy}";
//
// xrRichText1
//
@@ -252,7 +249,7 @@ namespace AachenerLaienhelfer
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(179.37F, 257F);
this.xrRichText1.SizeF = new System.Drawing.SizeF(179.37F, 252F);
this.xrRichText1.StylePriority.UsePadding = false;
//
// xrRichText2
@@ -277,7 +274,7 @@ namespace AachenerLaienhelfer
this.xrLabel11,
this.xrTable3});
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportFooter.HeightF = 220.7916F;
this.ReportFooter.HeightF = 219.6954F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
@@ -296,11 +293,11 @@ namespace AachenerLaienhelfer
//
this.xrLabel10.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.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 120.8751F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 115.8751F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(650F, 41.20821F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(650F, 33.99666F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\nAachener Laienhelfer Initiative e.V.\r\n\r\n";
//
@@ -489,7 +486,7 @@ namespace AachenerLaienhelfer
// xrPictureBox3
//
this.xrPictureBox3.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox3.ImageSource"));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(326.9165F, 32.62507F);
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(322.9165F, 32.62507F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(96.16675F, 45.91668F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
@@ -507,7 +504,7 @@ namespace AachenerLaienhelfer
this.xrLabel16,
this.xrLabel13});
this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.GroupHeader1.HeightF = 186.5833F;
this.GroupHeader1.HeightF = 169.5833F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.StylePriority.UseFont = false;
//
@@ -517,9 +514,8 @@ namespace AachenerLaienhelfer
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1,
this.xrTableRow2,
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(650F, 51F);
this.xrTable2.SizeF = new System.Drawing.SizeF(650F, 34F);
this.xrTable2.StylePriority.UseBorderColor = false;
//
// xrTableRow1
@@ -534,7 +530,7 @@ namespace AachenerLaienhelfer
//
this.xrTableCell19.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -547,7 +543,9 @@ namespace AachenerLaienhelfer
// xrTableCell1
//
this.xrTableCell1.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -559,45 +557,6 @@ namespace AachenerLaienhelfer
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell1.Weight = 0.16397413987379808D;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20,
this.xrTableCell2});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.085D;
//
// xrTableCell20
//
this.xrTableCell20.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell20.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
this.xrTableCell20.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell20.StylePriority.UseBorderColor = false;
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "- zzgl. Faktor [RateFactorText2]:";
this.xrTableCell20.Weight = 0.83602567232572123D;
//
// xrTableCell2
//
this.xrTableCell2.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell2.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBorderColor = false;
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[ApprovedFLSWithFactor]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 0.16397432767427886D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
@@ -609,8 +568,7 @@ namespace AachenerLaienhelfer
// xrTableCell4
//
this.xrTableCell4.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -623,7 +581,8 @@ namespace AachenerLaienhelfer
// xrTableCell5
//
this.xrTableCell5.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -1228,9 +1187,6 @@ namespace AachenerLaienhelfer
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;

View File

@@ -1,11 +1,7 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Text.RegularExpressions;
using BS.Shared.Extensions;
namespace AachenerLaienhelfer
@@ -31,10 +27,6 @@ namespace AachenerLaienhelfer
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
{
Zwischensumme.Visible = true;
//if (!ii.ItemDescription.IsNullOrEmpty())
//{
//ii.AbrechnungsText = Regex.Replace(ii.DetailDescription, ii.ItemDescription, "Fehlkontakte");
//}
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
ii.ItemDescription = "Fehlkontakte";
}
@@ -47,6 +39,16 @@ namespace AachenerLaienhelfer
if (String.IsNullOrEmpty(pRO.AbsenceTimes))
{
pRO.AbsenceTimes = "Keine Krankenhausaufenthalte";
}
if (pRO.Claim > 0)
{
pRO.FinalSentence = "Wir bitten um Überweisung von " + string.Format("{0:0.00}", pRO.Claim) + " € auf unser Konto.";
}
else
{
xrTableCell59.Text = "Überzahlung";
pRO.FinalSentence = "Bitte teilen Sie uns ihr Kassenzeichen mit.";
}
this.bindingSource1.DataSource = pRO;

View File

@@ -143,6 +143,7 @@ namespace AlphaEv
ServicesOverviewRO flsRo = ServicesOverviewRO.CopyFromRO(ro);
ServicesOverviewRO assiRo = ServicesOverviewRO.CopyFromRO(ro);
ServicesOverviewRO tsRo = ServicesOverviewRO.CopyFromRO(ro); // derzeit nicht gebraucht, sollen aber nirgendwo auftauchen
if (ro.Services != null)
{
@@ -160,7 +161,11 @@ namespace AlphaEv
{
assiRo.Services.Add(s);
}
else
else if (s.ServiceCategory.ToLower().Contains("lt") || s.ServiceCategory.ToLower().Contains("tagesstätte") || s.ServiceCategory.ToLower().Contains("leistung stationär") )
{
tsRo.Services.Add(s);
}
else
{
flsRo.Services.Add(s);
}

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