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

This commit is contained in:
2023-09-27 17:48:38 +02:00
53 changed files with 17265 additions and 9037 deletions

1
.gitignore vendored
View File

@@ -650,3 +650,4 @@ obj
/ReportImp/Lazy/Properties/licenses.licx
/TestReportCustomization/Class1.cs
/TestReportCustomization/TestReportCustomization.csproj
/CustomerDlls

View File

@@ -936,36 +936,15 @@ namespace Host
}
String t = slicedToken["tenant"].ToString();
AbstractReportCreator creator = null;
#if DEBUG
SessionFacade.Tenant = t;
//Kundennummern zum Testen nur noch in PluginLoader eintragen:
t = PluginLoader.Tenant;
AbstractReportCreator creator = PluginLoader.FindClass<DefaultReportCreator>();
String customerDllPath = HttpContext.Current.Server.MapPath(@"bin\" + t + "_reports.dll");
#else
String customerDllPath = HttpContext.Current.Server.MapPath(@"Customer\" + t + "_reports.dll");
#endif
if (File.Exists(customerDllPath))
{
var allTypes = Assembly.LoadFrom(customerDllPath).GetTypes();
var reportCreator = allTypes.FirstOrDefault(i => typeof(AbstractReportCreator).IsAssignableFrom(i));
if (reportCreator != null)
{
creator = Activator.CreateInstance(reportCreator) as AbstractReportCreator;
}
}
if (creator == null)
creator = new DefaultReportCreator();
creator.TemplateOid = templateOid;
creator.Tenant = t;
creator.ReportPath = customerDllPath;
#if DEBUG
creator.TempPath = BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, @"demo\temp");
#else

View File

@@ -219,6 +219,10 @@
<add key="LicenseOrderUrl" value="https://support.bewoplaner.de/lizenzbestellung/?k=[TENANT]" />
<add key="LicenseCancellationUrl" value="https://support.bewoplaner.de/api/licencecancellation.php?k=[TENANT]" />
<add key="ContractStateUrl" value="https://support.bewoplaner.de/api/getcontractstate.php?CustomerID=[TENANT]" />
<add key="PluginBasePath" value="..\CustomerDlls" />
<add key="PluginPath" value="..\CustomerDlls" />
<!--<add key="MaxDocumentSize" value="20971520" />-->
<add key="MaxDocumentSize" value="20971520" />
<add key="ICD10File" value="ICD10\icd10.xml" />

View File

@@ -9,10 +9,6 @@ namespace BeWo.Report
{
public abstract class AbstractReportCreator
{
public String Tenant { get; set; }
public string ReportPath { get; set; }
public string TempPath { get; set; }
public long? TemplateOid { get; set; }

View File

@@ -51,13 +51,10 @@ namespace BeWo.Report
}
}
Type[] lAllReportTypes = null;
var fullPath = Path.GetFullPath(ReportPath);
if (Tenant != null && File.Exists(ReportPath))
{
lAllReportTypes = Assembly.LoadFrom(ReportPath).GetTypes();
result = FindReportImp<T>(lAllReportTypes, specificReportId, typename, true);
}
lAllReportTypes = PluginLoader.GetAllCustomerTypes();
result = FindReportImp<T>(lAllReportTypes, specificReportId, typename, true);
if (result == null)
{
@@ -1291,7 +1288,7 @@ namespace BeWo.Report
//}
#endregion
var helper = new ExportAndPrintHelper();
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
string[] lHeaderCaption = helper.PrepareHeaderArrayForUserExport();
string[][] lContent = helper.PrepareContentArrayForUserExport(oids.ToArray());
@@ -1332,7 +1329,7 @@ namespace BeWo.Report
public override XtraReport CreateUserGroupListReport(List<long> oids)
{
var queryReport = FindReportImp<QueryRO>(null, "Benutzergruppen");
var helper = new ExportAndPrintHelper();
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
//var lUserGroups = DAOFactory.GenericDAO.LoadByIDs<UserGroup>(oids);

View File

@@ -17,7 +17,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -25,7 +25,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>

View File

@@ -17,7 +17,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -25,7 +25,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -50,6 +50,13 @@
<ItemGroup>
<Compile Include="Export\CustomDataExporter.cs" />
<Compile Include="Export\AddisonExporter.cs" />
<Compile Include="Export\CustomExportAndPrintHelper.cs" />
<Compile Include="InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\DefaultInvoiceCreation.cs" />
<Compile Include="Invoicing\PauschalenHelper.cs" />
@@ -62,6 +69,18 @@
</Compile>
<Compile Include="Service\CustomAccountingService.cs" />
<Compile Include="Service\CustomSaveInterceptor.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
<Compile Include="StundenzettelBi2.cs">
<SubType>Component</SubType>
</Compile>
@@ -107,11 +126,23 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="InvoiceCustomerReport.resx">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="RechnungPa.resx">
<DependentUpon>RechnungPa.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="StundenzettelBi2.resx">
<DependentUpon>StundenzettelBi2.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -19,7 +19,10 @@ namespace AlzeyTeilhabe.Export
{
DateTime dt = DateTime.Now;
DateTime.TryParse(query.Parameter[0].Value.ToString(), out dt);
long? scOid = query.Parameter[1].Value as long?;
long? scOid = null;
if (query.Parameter.Count >= 2)
scOid = query.Parameter[1].Value as long?;
ServiceCategory serviceCategory = scOid != null ? DAOFactory.GenericDAO.GetByID<ServiceCategory>(scOid.Value) : null;

View File

@@ -0,0 +1,167 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Reporting;
using BeWo.Service.ServiceUtils;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AlzeyTeilhabe.Export
{
public class CustomExportAndPrintHelper : ExportAndPrintHelper
{
// Hier ist der Code, der die StringArrays für den Excel-Export und die Print-Versionen des Exports erstellt
public override string[] PrepareHeaderArrayForCustomerExport()
{
string[] lHeaderCaption = {
"Nachname", // 0
"Vorname", // 1
"Geburtsdatum", // 3
"Beruf", // 4
"Geschlecht", // 5
"Familienstand", // 6
"Telefon", // 7
"Mobil", // 8
"Mail", // 9
"Fax", // 10
"Strasse", // 11
"PLZ", // 12
"Ort", // 13
"Bemerkung", // 14
"Erstbetreuung", // 15
"Betreuung begonnen", // 16
"Betreuung beendet", // 17
"Grund für Beendigung", // 18
"Teams" // 19 NUR ALZEY
};
return lHeaderCaption;
}
public override string[][] PrepareContentArrayForCustomerExport(long[] pSortedOids)
{
#region Standard
var lCustomers = DAOFactory.GenericDAO.LoadByIDs<Customer>(pSortedOids);
var lHeaderCaption = PrepareHeaderArrayForCustomerExport();
var lContent = new string[lCustomers.Count][];
for (int iRowCount = 0; iRowCount < lCustomers.Count; iRowCount++)
{
lContent[iRowCount] = new string[lHeaderCaption.Count()];
lContent[iRowCount][0] = lCustomers[iRowCount].Person.LastName;
lContent[iRowCount][1] = lCustomers[iRowCount].Person.FirstName;
//lContent[iRowCount][2] = lCustomers[iRowCount].ReferenceNumber;
if (lCustomers[iRowCount].Person.DateOfBirth.HasValue)
{
lContent[iRowCount][2] = lCustomers[iRowCount].Person.DateOfBirth.Value.ToShortDateString();
}
lContent[iRowCount][3] = lCustomers[iRowCount].Person.Profession;
lContent[iRowCount][4] = lCustomers[iRowCount].Person.Sex == Sex.Male
? "männlich"
: "weiblich";
if (lCustomers[iRowCount].Person.FamilyStatus != null)
{
switch (lCustomers[iRowCount].Person.FamilyStatus.Value)
{
case FamilyStatus.Divorced:
lContent[iRowCount][5] = "geschieden";
break;
case FamilyStatus.Married:
lContent[iRowCount][5] = "verheiratet";
break;
case FamilyStatus.Single:
lContent[iRowCount][5] = "ledig";
break;
case FamilyStatus.Widowed:
lContent[iRowCount][5] = "verwitwet";
break;
case FamilyStatus.Partner:
lContent[iRowCount][5] = "in Partnerschaft";
break;
case FamilyStatus.PartnerDivorced:
lContent[iRowCount][5] = "getrennt lebend";
break;
case FamilyStatus.PartnerDead:
lContent[iRowCount][5] = "partnerhinterblieben";
break;
case FamilyStatus.PartnerMarried:
lContent[iRowCount][5] = "verpartnert";
break;
case FamilyStatus.Entpartnert:
lContent[iRowCount][5] = "entpartnert";
break;
}
}
foreach (var iContact in lCustomers[iRowCount].Person.Contacts)
{
switch (iContact.Type)
{
case ContactType.business_Phone:
lContent[iRowCount][6] = iContact.Value;
break;
case ContactType.business_MobilePhone:
lContent[iRowCount][7] = iContact.Value;
break;
case ContactType.business_Mail:
lContent[iRowCount][8] = iContact.Value;
break;
case ContactType.business_Fax:
lContent[iRowCount][9] = iContact.Value;
break;
}
}
if (lCustomers[iRowCount].Person.Address != null)
{
lContent[iRowCount][10] = lCustomers[iRowCount].Person.Address.Street;
lContent[iRowCount][11] = lCustomers[iRowCount].Person.Address.PostalCode;
lContent[iRowCount][12] = lCustomers[iRowCount].Person.Address.Town;
}
lContent[iRowCount][13] = lCustomers[iRowCount].Notice;
if (lCustomers[iRowCount].Employee2CustomerList == null)
continue;
foreach (var e2c in lCustomers[iRowCount].Employee2CustomerList)
{
foreach (var vle in e2c.ValueList.Select(vle2o => vle2o.Entry).Where(vle => vle.SystemEntryID != null && vle.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant))
{
lHeaderCaption[14] = vle.Value;
lContent[iRowCount][14] = e2c.Employee.Person.FirstName + " " + e2c.Employee.Person.LastName;
}
}
lContent[iRowCount][15] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].AssistanceBegin);
lContent[iRowCount][16] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].TerminationDate);
if (lCustomers[iRowCount].TerminationReason != null)
{
lContent[iRowCount][17] = lCustomers[iRowCount].TerminationReason.Value;
}
else
{
lContent[iRowCount][17] = "";
}
#endregion
lContent[iRowCount][18] = string.Join(", ", lCustomers[iRowCount].Team2CustomerList.Select(t => t.Team.Name));
}
return lContent;
}
}
}

View File

@@ -0,0 +1,758 @@
using BeWo.Report.ReportObjects;
namespace AlzeyTeilhabe
{
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));
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.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
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.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = 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.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).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.xrPictureBox1,
this.xrLabel1,
this.lblAddress,
this.xrTable3,
this.xrLabel6,
this.xrLabel5,
this.xrLabel4,
this.xrLabel3,
this.xrLabel2,
this.xrTable2});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.HeightF = 518.875F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(448.9583F, 297.9167F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(201.0417F, 23.95834F);
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// lblAddress
//
this.lblAddress.LocationFloat = new DevExpress.Utils.PointFloat(0F, 129.875F);
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.8749F);
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";
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, 446.875F);
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, 413.875F);
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 System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 363.875F);
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 = "[CustomerReferenceNumber]";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 346.875F);
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 über Betreuungsleistungen";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 321.875F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 17F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// xrTable2
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(367.0001F, 129.875F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow4,
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow8});
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 114F);
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.13245033112582783D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.13245033112582783D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderFirstName] [SenderLastName]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.13245033112582783D;
//
// xrTableCell11
//
this.xrTableCell11.CanShrink = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "[SenderDivision]";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell11.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.13245033112582783D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = " [SenderPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.11258278145695365D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 1D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.11258278145695365D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell5.Weight = 1D;
//
// 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.xrLabel8,
this.xrLabel10,
this.xrLabel12,
this.lblNotice,
this.xrTable4});
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportFooter.HeightF = 247.5417F;
this.ReportFooter.KeepTogether = true;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
// xrLabel8
//
this.xrLabel8.CanShrink = true;
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 75F);
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]";
//
// xrLabel10
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 155.5417F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen";
//
// xrLabel12
//
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 230.5417F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(292F, 17.00002F);
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.Text = "[CreatorFirstName] [CreatorLastName]";
//
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 46.54166F);
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 System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.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.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 100F;
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 System.Drawing.Font("Verdana", 9.75F);
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(396.9593F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(253.0407F, 107.25F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// 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 System.Drawing.Printing.Margins(75, 75, 100, 100);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).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 xrLabel2;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
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.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
}
}

View File

@@ -0,0 +1,58 @@
using System;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace AlzeyTeilhabe
{
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 it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -65,7 +65,6 @@ namespace AlzeyTeilhabe
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.lblAbrechnungstext = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
@@ -91,6 +90,7 @@ namespace AlzeyTeilhabe
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -446,14 +446,6 @@ namespace AlzeyTeilhabe
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "Verein für Integration und Teilhabe am Leben e.V. • Kästrich 6 • 55232 Alzey";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(0.001097379F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(626.39F, 107.25F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// lblAbrechnungstext
//
this.lblAbrechnungstext.Font = new System.Drawing.Font("Arial", 10F);
@@ -751,6 +743,14 @@ namespace AlzeyTeilhabe
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(462.6025F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(253.0407F, 107.25F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// RechnungPa
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -812,7 +812,6 @@ namespace AlzeyTeilhabe
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungstext;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
@@ -842,5 +841,6 @@ namespace AlzeyTeilhabe
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,222 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.DataContracts;
namespace AlzeyTeilhabe.Alt
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
bool isDefaultSpitzabrechnung = false;
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
if (pRO.InvoiceItems != null && pRO.InvoiceItems.Count == 1)
{
var ii = pRO.InvoiceItems[0];
if ((ii.ItemDescription == "Spitzabrechung" || ii.ItemDescription == "Spitzabrechnung") && ii.GrossAmountTotal == null && ii.RateFactor == null)
{
isDefaultSpitzabrechnung = true;
}
}
if (!isDefaultSpitzabrechnung)
{
if (pRO.DifferentHourlyRateCount > 0 && pRO.HourlyRateNew.HasValue)
{
isDefaultSpitzabrechnung = true;
}
}
if (isDefaultSpitzabrechnung)
{
//UpdateAbrechnungsFelder(pRO);
pRO.InvoiceItems = CreateDefaultSpitzabrechnungInvoiceItems(pRO);
}
else
{
var id = GetCustomerId(pRO);
if (id == "LWLNEU")
{
pRO.RateFactorText = null;
pRO.RateFactorText2 = null;
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS x {3:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
}
}
}
else
{
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS {3}x {4:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd,
ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ",
ii.AmountPerUnit);
}
}
}
}
this.bindingSource1.DataSource = pRO;
}
private String GetCustomerId(SettlementRO pRO)
{
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
return cb2sc.CostBearer.ID;
}
private IList<InvoiceItemDC> CreateDefaultSpitzabrechnungInvoiceItems(SettlementRO pRO)
{
IList<InvoiceItemDC> itemList = new List<InvoiceItemDC>();
if (pRO.DifferentHourlyRateCount == 3)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString,
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatz3 * pRO.RateFactor * pRO.HourlyRate3
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else if (pRO.DifferentHourlyRateCount == 2)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
return itemList;
}
private void UpdateAbrechnungsFelder(SettlementRO pRO)
{
if (pRO.DifferentHourlyRateCount == 3)
{
//Erbrachte Leistungen (FLS) - bis [HourlyRateOldEndDateString] à [HourlyRateOldString] €
pRO.Abrechnungstext1 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString);
pRO.Abrechnungstext1 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3);
//[AccountingStartDateString] - [HourlyRate3EndDateString] sind [RecordedFLSWithHourlyRate3String] Std. x [HourlyRate3String] € =";
pRO.Betrag1 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatz3 * (decimal)pRO.RateFactor * pRO.HourlyRate3);
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else if (pRO.DifferentHourlyRateCount == 2)
{
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else
{
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
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 AlzeyTeilhabe
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(Settlement2RO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
decimal rateFactor = 1;
foreach (var ii in pRO.InvoiceItems)
{
if (ii.RateFactor.HasValue)
{
rateFactor = (100 + ii.RateFactor.Value) / 100;
}
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";
}
else if (ii.ItemDescription.IsNullOrEmpty())
{
ii.ItemDescription = "Fachleistungsstunden";
}
}
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -306,7 +306,6 @@ namespace BeWoDarmstadt
{
AddValueToCell(zs.MinutenNachtSo21_6, datum, table1.Rows[7], nachtSo2Minuten);
}
}
private void AddValueToTableLeistungen(ServiceRecord sr)
@@ -470,6 +469,10 @@ namespace BeWoDarmstadt
private double CheckUhrzeiten(DateTime start, int startStunde, int endStunde, double minuten)
{
if (startStunde > 0 && start.Hour == 0 && start.Minute == 0 && start.Second > 0)
{
return 0;
}
if (startStunde > endStunde) //Nachts
{
DateTime nachtStartDt = start.Date.AddHours(startStunde);
@@ -485,7 +488,7 @@ namespace BeWoDarmstadt
return minutes;
}
else
{
{
DateTime tagsStartDt = start.Date.AddHours(startStunde);
DateTime tagsEndDt = start.Date.AddHours(endStunde);
DateTime dtEnd = start.AddMinutes(minuten);

View File

@@ -17,7 +17,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -25,7 +25,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MobileEV.Invoicing
{
public class BetreuungsaufwandHelper
{
public static decimal GetBetreuungsaufwand(ServiceRecordDC sr)
{
decimal amount = 0;
if (sr != null && !sr.Notice3.IsNullOrEmpty())
{
sr.Notice3 = sr.Notice3.Trim();
if (sr.Notice3.Contains("."))
sr.Notice3 = sr.Notice3.Replace('.', ',');
if (sr.Notice3.Contains("€"))
{
if (Decimal.TryParse(sr.Notice3.Replace("€", ""), out amount))
{
return amount;
}
}
else if (Decimal.TryParse(sr.Notice3, out amount))
{
return amount;
}
}
return 0;
}
}
}

View File

@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
@@ -29,36 +30,20 @@ namespace MobileEV.Invoicing
{
var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc);
var betreuungsaufwand = GetBetreuungsaufwand(invoiceItem);
if (betreuungsaufwand != null && betreuungsaufwand != 0)
{
invoiceItem.AmountTotal += betreuungsaufwand;
invoiceItem.GrossAmountTotal += betreuungsaufwand;
}
invoiceItem.UnitCount = Convert.ToDecimal(Math.Round(Convert.ToDouble(invoiceItem.UnitCount), 2));
invoiceItem.AmountTotal = invoiceItem.UnitCount * invoiceItem.AmountPerUnit;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
if (invoiceItem.ServiceRecord != null)
{
var betreuungsaufwand = BetreuungsaufwandHelper.GetBetreuungsaufwand(MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(invoiceItem.ServiceRecord));
if (betreuungsaufwand != null && betreuungsaufwand != 0)
{
invoiceItem.AmountTotal += betreuungsaufwand;
invoiceItem.GrossAmountTotal += betreuungsaufwand;
}
}
return invoiceItem;
}
private decimal GetBetreuungsaufwand(InvoiceItem ii)
{
decimal amount = 0;
if (ii.ServiceRecord != null && !ii.ServiceRecord.Notice3.IsNullOrEmpty())
{
ii.ServiceRecord.Notice3 = ii.ServiceRecord.Notice3.Trim();
if (ii.ServiceRecord.Notice3.Contains("€"))
{
if (Decimal.TryParse(ii.ServiceRecord.Notice3.Replace("€", ""), out amount))
{
return amount;
}
}
else if (Decimal.TryParse(ii.ServiceRecord.Notice3, out amount))
{
return amount;
}
}
return 0;
}
}
}

View File

@@ -49,6 +49,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="CustomReportCreator.cs" />
<Compile Include="Invoicing\BetreuungsaufwandHelper.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

View File

@@ -40,6 +40,8 @@ namespace MobileEV
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -64,6 +66,7 @@ namespace MobileEV
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.lblPage = new DevExpress.XtraReports.UI.XRLabel();
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
@@ -133,8 +136,7 @@ namespace MobileEV
this.lblSumme4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.Zwischensumme = new DevExpress.XtraReports.UI.FormattingRule();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
@@ -253,6 +255,23 @@ namespace MobileEV
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell7.Weight = 1D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell27});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 0.13245033112582783D;
//
// xrTableCell27
//
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell27.StylePriority.UsePadding = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
this.xrTableCell27.Text = "Tel.: 0231 / 98 12 83 53";
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell27.Weight = 1D;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
@@ -459,10 +478,26 @@ namespace MobileEV
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblPage,
this.xrRichText1});
this.bottomMarginBand1.HeightF = 95F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// lblPage
//
this.lblPage.Font = new System.Drawing.Font("Arial", 10F);
this.lblPage.LocationFloat = new DevExpress.Utils.PointFloat(602.2362F, 9.999974F);
this.lblPage.Name = "lblPage";
this.lblPage.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblPage.SizeF = new System.Drawing.SizeF(74.76379F, 24.04162F);
this.lblPage.StylePriority.UseBackColor = false;
this.lblPage.StylePriority.UseBorders = false;
this.lblPage.StylePriority.UseFont = false;
this.lblPage.StylePriority.UsePadding = false;
this.lblPage.StylePriority.UseTextAlignment = false;
this.lblPage.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblPage.PrintOnPage += new DevExpress.XtraReports.UI.PrintOnPageEventHandler(this.lblPage_PrintOnPage);
//
// xrRichText1
//
this.xrRichText1.Font = new System.Drawing.Font("Arial", 11F);
@@ -659,7 +694,7 @@ namespace MobileEV
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "Art";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell36.Weight = 0.31317867897807589D;
this.xrTableCell36.Weight = 0.3520152834238407D;
//
// xrTableCell38
//
@@ -679,7 +714,7 @@ namespace MobileEV
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.Text = "Geleistete\r\nFLS";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell38.Weight = 0.31317868879546573D;
this.xrTableCell38.Weight = 0.27434208434970092D;
//
// xrTableCell34
//
@@ -741,6 +776,7 @@ namespace MobileEV
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.FormattingRules.Add(this.Zwischensumme);
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -769,6 +805,7 @@ namespace MobileEV
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart", "{0:dd.MM.yyyy}")});
this.xrTableCell40.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell40.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell40.StylePriority.UseBorderColor = false;
@@ -787,6 +824,7 @@ namespace MobileEV
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.SupportConceptApprovalPeriod.CostBearer2SupportConcept.Supp" +
"ortConcept.StartDate", "{0:dd.MM.yyyy}")});
this.xrTableCell16.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell16.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell16.StylePriority.UseBorderColor = false;
@@ -805,6 +843,7 @@ namespace MobileEV
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.SupportConceptApprovalPeriod.CostBearer2SupportConcept.Supp" +
"ortConcept.EndDate", "{0:dd.MM.yyyy}")});
this.xrTableCell17.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell17.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell17.StylePriority.UseBorderColor = false;
@@ -822,6 +861,7 @@ namespace MobileEV
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceRecord.Notice3")});
this.xrTableCell18.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell18.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell18.StylePriority.UseBorderColor = false;
@@ -840,6 +880,7 @@ namespace MobileEV
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceRecord.ServiceDescription.Catego" +
"ryName")});
this.xrTableCell19.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell19.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell19.StylePriority.UseBorderColor = false;
@@ -848,7 +889,7 @@ namespace MobileEV
this.xrTableCell19.StylePriority.UsePadding = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell19.Weight = 2.9999999999999996D;
this.xrTableCell19.Weight = 3.3720192576764627D;
//
// xrTableCell20
//
@@ -857,6 +898,7 @@ namespace MobileEV
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCount", "{0:0.00}")});
this.xrTableCell20.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell20.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell20.StylePriority.UseBorderColor = false;
@@ -865,7 +907,7 @@ namespace MobileEV
this.xrTableCell20.StylePriority.UsePadding = false;
this.xrTableCell20.StylePriority.UseTextAlignment = false;
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell20.Weight = 2.9999999999999996D;
this.xrTableCell20.Weight = 2.6279807423235364D;
//
// xrTableCell21
//
@@ -874,6 +916,7 @@ namespace MobileEV
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AmountPerUnit", "{0:c}")});
this.xrTableCell21.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell21.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell21.StylePriority.UseBorderColor = false;
@@ -892,6 +935,7 @@ namespace MobileEV
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
this.xrTableCell22.Font = new System.Drawing.Font("Calibri", 10.5F);
this.xrTableCell22.FormattingRules.Add(this.Zwischensumme);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell22.StylePriority.UseBorderColor = false;
@@ -908,6 +952,7 @@ namespace MobileEV
this.xrTable3,
this.xrLabel5});
this.GroupFooter1.HeightF = 161.7917F;
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable3
@@ -948,7 +993,7 @@ namespace MobileEV
//
this.lblKategorie1.BorderColor = System.Drawing.Color.DarkGray;
this.lblKategorie1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblKategorie1.Font = new System.Drawing.Font("Calibri", 10.5F);
this.lblKategorie1.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblKategorie1.Name = "lblKategorie1";
this.lblKategorie1.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.lblKategorie1.StylePriority.UseBorderColor = false;
@@ -1019,7 +1064,7 @@ namespace MobileEV
this.wrfwergr.StylePriority.UsePadding = false;
this.wrfwergr.StylePriority.UseTextAlignment = false;
this.wrfwergr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.wrfwergr.Weight = 0.076656524108514215D;
this.wrfwergr.Weight = 0.086162472856183517D;
//
// lblSummeGelFLS1
//
@@ -1034,7 +1079,7 @@ namespace MobileEV
this.lblSummeGelFLS1.StylePriority.UsePadding = false;
this.lblSummeGelFLS1.StylePriority.UseTextAlignment = false;
this.lblSummeGelFLS1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.lblSummeGelFLS1.Weight = 0.076656524108514215D;
this.lblSummeGelFLS1.Weight = 0.067150575360844914D;
//
// xrTableCell41
//
@@ -1154,7 +1199,7 @@ namespace MobileEV
this.trhtzjt.StylePriority.UsePadding = false;
this.trhtzjt.StylePriority.UseTextAlignment = false;
this.trhtzjt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.trhtzjt.Weight = 0.076656524108514271D;
this.trhtzjt.Weight = 0.086162472856183572D;
//
// lblSummeGelFLS2
//
@@ -1169,7 +1214,7 @@ namespace MobileEV
this.lblSummeGelFLS2.StylePriority.UsePadding = false;
this.lblSummeGelFLS2.StylePriority.UseTextAlignment = false;
this.lblSummeGelFLS2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.lblSummeGelFLS2.Weight = 0.076656524108514271D;
this.lblSummeGelFLS2.Weight = 0.067150575360844969D;
//
// xrTableCell42
//
@@ -1220,7 +1265,7 @@ namespace MobileEV
//
this.lblKategorie3.BorderColor = System.Drawing.Color.DarkGray;
this.lblKategorie3.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblKategorie3.Font = new System.Drawing.Font("Arial", 10F);
this.lblKategorie3.Font = new System.Drawing.Font("Calibri", 10.5F);
this.lblKategorie3.Name = "lblKategorie3";
this.lblKategorie3.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.lblKategorie3.StylePriority.UseBorderColor = false;
@@ -1289,7 +1334,7 @@ namespace MobileEV
this.regtrhzr.StylePriority.UsePadding = false;
this.regtrhzr.StylePriority.UseTextAlignment = false;
this.regtrhzr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.regtrhzr.Weight = 0.076656524108514271D;
this.regtrhzr.Weight = 0.086162472856183572D;
//
// lblSummeGelFLS3
//
@@ -1304,7 +1349,7 @@ namespace MobileEV
this.lblSummeGelFLS3.StylePriority.UsePadding = false;
this.lblSummeGelFLS3.StylePriority.UseTextAlignment = false;
this.lblSummeGelFLS3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.lblSummeGelFLS3.Weight = 0.076656524108514271D;
this.lblSummeGelFLS3.Weight = 0.067150575360844969D;
//
// xrTableCell43
//
@@ -1425,7 +1470,7 @@ namespace MobileEV
this.xrTableCell39.StylePriority.UsePadding = false;
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.076656524108514271D;
this.xrTableCell39.Weight = 0.086162472856183572D;
//
// lblSummeGelFLS4
//
@@ -1440,7 +1485,7 @@ namespace MobileEV
this.lblSummeGelFLS4.StylePriority.UsePadding = false;
this.lblSummeGelFLS4.StylePriority.UseTextAlignment = false;
this.lblSummeGelFLS4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.lblSummeGelFLS4.Weight = 0.076656524108514271D;
this.lblSummeGelFLS4.Weight = 0.067150575360844969D;
//
// xrTableCell48
//
@@ -1492,22 +1537,12 @@ namespace MobileEV
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrTableRow17
// Zwischensumme
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell27});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 0.13245033112582783D;
//
// xrTableCell27
//
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell27.StylePriority.UsePadding = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
this.xrTableCell27.Text = "Tel.: 0231 / 98 12 83 53";
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell27.Weight = 1D;
this.Zwischensumme.Condition = "StartsWith([ServiceInvoicePeriods.ServiceInvoiceItems.ServiceRecord.ServiceDescri" +
"ption.CategoryName], \'Summe\')";
this.Zwischensumme.Formatting.Font = new System.Drawing.Font("Calibri", 10.5F, System.Drawing.FontStyle.Bold);
this.Zwischensumme.Name = "Zwischensumme";
//
// Sammelrechnung
//
@@ -1522,7 +1557,8 @@ namespace MobileEV
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.ruleRateFactorNull,
this.Zwischensumme});
this.Margins = new System.Drawing.Printing.Margins(96, 54, 28, 95);
this.PageHeight = 1169;
this.PageWidth = 827;
@@ -1644,5 +1680,7 @@ namespace MobileEV
private DevExpress.XtraReports.UI.XRTableCell lblSumme4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.XRLabel lblPage;
private DevExpress.XtraReports.UI.FormattingRule Zwischensumme;
}
}

View File

@@ -6,6 +6,8 @@ using BS.Shared.Core;
using System.Collections.Generic;
using System.Linq;
using BS.Shared.Extensions;
using BS.Shared.DataContracts;
using MobileEV.Invoicing;
namespace MobileEV
{
@@ -21,6 +23,7 @@ namespace MobileEV
{
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
//if (start.Month == end.Month && start.Year == end.Year)
//{
// lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start);
@@ -37,12 +40,45 @@ namespace MobileEV
decimal betrag = 0;
decimal bAufwand = 0;
int zwischensummeIndex = 0;
ServiceInvoiceItemRO zwischensummeItem = null;
foreach (var ip in pRO.ServiceInvoicePeriods)
{
ip.ServiceInvoiceItems = ip.ServiceInvoiceItems.OrderBy(sii => sii.ServiceRecord.ServiceDescription.CategoryName).ToList();
string kat = "";
decimal stundenZwischensumme = 0;
decimal betragZwischensumme = 0;
foreach (var item in ip.ServiceInvoiceItems)
{
stundenZwischensumme += item.Hours.Value;
betragZwischensumme += betrag != 0 ? GetGrossAmount(item) : 0;
if (kat != "" && kat != item.ServiceRecord.ServiceDescription.CategoryName)
{
zwischensummeIndex = ip.ServiceInvoiceItems.IndexOf(item);
zwischensummeItem = new ServiceInvoiceItemRO()
{
GrossAmount = string.Format("{0:c}", betragZwischensumme),
Hours = stundenZwischensumme,
ServiceRecord = new BS.Shared.DataContracts.ServiceRecordDC()
{
ServiceDescription = new BS.Shared.DataContracts.ServiceDescriptionDC()
{
CategoryName = "Summe"
}
}
};
kat = item.ServiceRecord.ServiceDescription.CategoryName;
}
else
{
kat = item.ServiceRecord.ServiceDescription.CategoryName;
}
if (!kategorieZuStunden.ContainsKey(item.ServiceRecord.ServiceDescription.CategoryName))
kategorieZuStunden.Add(item.ServiceRecord.ServiceDescription.CategoryName, 0m);
if (!kategorieZuKosten.ContainsKey(item.ServiceRecord.ServiceDescription.CategoryName))
@@ -52,7 +88,12 @@ namespace MobileEV
betrag = GetGrossAmount(item);
if (betrag != 0)
{
kategorieZuKosten[item.ServiceRecord.ServiceDescription.CategoryName] += betrag;
var betragOhneBetreuungsAufwand = betrag - BetreuungsaufwandHelper.GetBetreuungsaufwand(item.ServiceRecord);
item.GrossAmount = string.Format("{0:c}", betragOhneBetreuungsAufwand);
kategorieZuKosten[item.ServiceRecord.ServiceDescription.CategoryName] += betragOhneBetreuungsAufwand;
// In Endsumme muss Betreuungsaufwand rein
betragGeamt += betrag;
}
else
@@ -60,32 +101,41 @@ namespace MobileEV
kategorieZuKosten[item.ServiceRecord.ServiceDescription.CategoryName] += Math.Round(item.AmountPerUnit.Value * item.UnitCount.Value, 2, MidpointRounding.AwayFromZero);
betrag += Math.Round(item.AmountPerUnit.Value * item.UnitCount.Value, 2, MidpointRounding.AwayFromZero);
}
stundenGesamt += item.Hours.Value;
bAufwand += GetBetreuungsaufwand(item);
bAufwand += BetreuungsaufwandHelper.GetBetreuungsaufwand(item.ServiceRecord);
}
if (zwischensummeItem != null)
{
ip.ServiceInvoiceItems.Insert(zwischensummeIndex, zwischensummeItem);
}
}
lblSumme4.Text = string.Format("{0:c}", betragGeamt);
lblSummeGelFLS4.Text = string.Format("{0:0.00}", stundenGesamt);
lblSumBAufwand.Text = string.Format("{0:c}", bAufwand);
lblKategorie1.Text = "Summen";
if (kategorieZuStunden.Count >= 1)
{
lblKategorie1.Text = kategorieZuStunden.ElementAt(0).Key;
lblSummeGelFLS1.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(0).Value);
lblSumme1.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(0).Value);
lblKategorie2.Text = kategorieZuStunden.ElementAt(0).Key;
lblSummeGelFLS2.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(0).Value);
lblSumme2.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(0).Value);
}
if (kategorieZuStunden.Count >= 2)
{
lblKategorie2.Text = kategorieZuStunden.ElementAt(1).Key;
lblSummeGelFLS2.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(1).Value);
lblSumme2.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(1).Value);
}
if (kategorieZuStunden.Count >= 3)
{
lblKategorie3.Text = kategorieZuStunden.ElementAt(2).Key;
lblSummeGelFLS3.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(2).Value);
lblSumme3.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(2).Value);
lblKategorie3.Text = kategorieZuStunden.ElementAt(1).Key;
lblSummeGelFLS3.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(1).Value);
lblSumme3.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(1).Value);
}
//if (kategorieZuStunden.Count >= 3)
//{
// lblKategorie3.Text = kategorieZuStunden.ElementAt(2).Key;
// lblSummeGelFLS3.Text = string.Format("{0:0.00}", kategorieZuStunden.ElementAt(2).Value);
// lblSumme3.Text = string.Format("{0:c}", kategorieZuKosten.ElementAt(2).Value);
//}
this.bindingSource1.DataSource = pRO;
@@ -103,26 +153,10 @@ namespace MobileEV
return 0;
}
private decimal GetBetreuungsaufwand(ServiceInvoiceItemRO ii)
{
decimal amount = 0;
if (ii.ServiceRecord != null && !ii.ServiceRecord.Notice3.IsNullOrEmpty())
{
ii.ServiceRecord.Notice3 = ii.ServiceRecord.Notice3.Trim();
if (ii.ServiceRecord.Notice3.Contains("€"))
{
if (Decimal.TryParse(ii.ServiceRecord.Notice3.Replace("€", ""), out amount))
{
return amount;
}
}
else if (Decimal.TryParse(ii.ServiceRecord.Notice3, out amount))
{
return amount;
}
}
return 0;
private void lblPage_PrintOnPage(object sender, PrintOnPageEventArgs e)
{
lblPage.Text = String.Format("{0} von {1}", e.PageIndex + 1, e.PageCount);
}
}
}

View File

@@ -17,7 +17,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -25,7 +25,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>

View File

@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.Design;
using DevExpress.XtraReports.UI;
namespace SKFMMonheim
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay);
if (lROs.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
rootReport.CreateDocument();
for (int i = 1; i < lROs.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
lNext.CreateDocument();
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
}
public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
{
var roList = new List<ServicesOverviewRO>();
foreach (var coid in customerOids)
{
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
if (ro != null)
{
roList.Add(ro);
}
}
if (roList.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
rootReport.CreateDocument();
for (int i = 1; i < roList.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
lNext.CreateDocument();
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
IBeWoReport<ServicesOverviewRO> report = null;
String kt = "";
if (!String.IsNullOrWhiteSpace(ro.Costbearer))
kt = ro.Costbearer.Trim();
//String function = "";
//if (ro.CostBearer2SupportConceptList != null)
//{
// foreach (var c2s in ro.CostBearer2SupportConceptList)
// {
// if (c2s.CostBearer.Organisation.Function != null && !String.IsNullOrWhiteSpace(ro.Costbearer) && c2s.CostBearer.Organisation.Name == ro.Costbearer)
// function = c2s.CostBearer.Organisation.Function.Value;
// }
//}
if (kt.ToLower().Contains("lvr"))
report = new QuittierungsbelegLVR();
else
report = new BeWo.Report.DefaultReports.Quittierungsbeleg();
report.SetReportDataSource(ro);
return report as XtraReport;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,149 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace SKFMMonheim
{
public partial class QuittierungsbelegLVR : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public QuittierungsbelegLVR()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
// Get calling method name
//StackTrace stackTrace = new StackTrace();
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
bool hatGruppen = false;
//if (pRO == null)
// return;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
{
ServicesOverviewRO.CreateSignatureString(sd);
sd.Notice5 = "E";
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
sd.Notice5 = "GR";
hatGruppen = true;
}
if (sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
{
sd.Notice5 = "F";
}
servicesBillable.Add(sd);
}
sd.Minutes *= 1.5;
}
pRO.TotalFLMoFehlkontakte *= 1.5;
pRO.Services = servicesBillable;
}
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
{
lblHatAbwesenheiten.Text = "X";
}
if (!hatGruppen)
{
lblHatGruppen.Text = "X";
}
ErstelleAbwesenheitenTabelle(pRO);
bindingSource1.DataSource = pRO;
}
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
{
if (pRo.Abwesenheiten != null)
{
int newRows = 0;
int index = 1;
foreach (var at in pRo.Abwesenheiten)
{
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index < xrTableAbwesenheiten.Rows.Count)
{
row = xrTableAbwesenheiten.Rows[index];
}
else
{
row = xrTableAbwesenheiten.InsertRowBelow(xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
newRows++;
}
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
int? days = null;
if (at.End.HasValue)
{
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
days = (int)at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
}
else
{
row.Cells[1].Text = "unbekannt";
}
row.Cells[2].Text = String.Format("{0:0}", days);
index++;
}
if (newRows > 0)
{
lblUnterschriftKlient.Top += newRows * 20;
lblUnterschriftMitarbeiter.Top += newRows * 20;
}
}
}
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs 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);
Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
else
{
xrBox.Image = null;
}
}
public Image ByteArrayToImage(byte[] byteArrayIn)
{
using(var memoryStream = new MemoryStream(byteArrayIn))
{
return Image.FromStream(memoryStream);
}
}
}
}

View File

@@ -0,0 +1,129 @@
<?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>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXAB1AGwAXABmADIAXABmAHMAMgAwAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
</data>
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEcAcgB1AHAAcABlAG4AYQBuAGcAZQBiAG8AdABlAH0AewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
</data>
</root>

View File

@@ -48,9 +48,16 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CustomReportCreator.cs" />
<Compile Include="Invoicing\CustomBeWo67InvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuittierungsbelegLVR.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QuittierungsbelegLVR.Designer.cs">
<DependentUpon>QuittierungsbelegLVR.cs</DependentUpon>
</Compile>
<Compile Include="RechnungBeWo67.cs">
<SubType>Component</SubType>
</Compile>
@@ -90,6 +97,10 @@
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="QuittierungsbelegLVR.resx">
<DependentUpon>QuittierungsbelegLVR.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="RechnungBeWo67.resx">
<DependentUpon>RechnungBeWo67.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,22 @@
using BeWo.Service.Plugins;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionReports
{
public class CustomCustomerService : CustomerService
{
protected override string GetBrushForNearlyExpiredSupportConcept()
{
return "#FFFFFF";
}
protected override string GetBrushForExpiredSupportConcept()
{
return "#FAF200";
}
}
}

View File

@@ -95,7 +95,9 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Presentation" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@@ -106,6 +108,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CustomCustomerService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServicesOverviewReport.cs">
<SubType>Component</SubType>
@@ -134,6 +137,14 @@
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">

View File

@@ -9,7 +9,12 @@ using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
namespace Wichernhaus
{
{
// ============================================================================
// Wird seit Ende September 2023 nicht mehr erzeugt (nur noch Budgetnachweis2).
// Bleibt noch ne Weile im Projekt um alte Spitzabrechungen öffenen zu können.
// ============================================================================
public partial class Budgetnachweis : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Budgetnachweis()

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,6 @@ using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
namespace Wichernhaus.Neu
@@ -66,20 +64,13 @@ namespace Wichernhaus.Neu
}
}
ErstelleRechnungspositionen(pRO, terminationDate);
bindingSource1.DataSource = pRO;
}
private void ErstelleRechnungspositionen(Settlement2RO pRO, DateTime? terminationDate)
{
if (pRO.InvoiceItems != null && pRO.InvoiceItems.Count > 0)
{
int rowIndex = 0;
@@ -90,9 +81,7 @@ namespace Wichernhaus.Neu
AddRechnungsposition(ii, rowIndex++);
}
}
}
}
@@ -109,9 +98,11 @@ namespace Wichernhaus.Neu
}
newRow.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", ii.PeriodStartDate);
newRow.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", ii.PeriodEndDate);
newRow.Cells[2].Text = String.Format("{0:0.00}", ii.AmountPerUnit);
newRow.Cells[3].Text = String.Format("{0:0.00}", ii.UnitCount);
newRow.Cells[2].Text = ii.ItemDescription;
newRow.Cells[3].Text = String.Format("{0:0.00}", ii.AmountPerUnit);
newRow.Cells[4].Text = String.Format("{0:0.00}", ii.UnitCount);
}
private string CorrectPossibleTerminationEndDate(string dateString, DateTime? terminationDate)
{
if (terminationDate.HasValue)
@@ -124,7 +115,6 @@ namespace Wichernhaus.Neu
return String.Format("{0:dd.MM.yyyy}", terminationDate);
}
}
}
return dateString;

View File

@@ -1,131 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrLabel12.Text" xml:space="preserve">
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrLabel12.Text" xml:space="preserve">
<value>Hiermit wird erklärt, dass die Verpflichtungen aus der Leistungs-, Prüfungs- und Vergütungsvereinbarung nach §§ 75 ff. SGB X II eingehalten wurden und alle hier gemachten Angaben anhand der vorgehaltenen Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können.
Mit freundlichen Grüßen</value>
</data>
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGIAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABXAGkAYwBoAGUAcgBuAGgAYQB1AHMAIABnAEcAbQBiAEgAfQBcAGYAMQBcAGYAcwAyADQAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGIAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABBAG0AYgB1AGwAYQBuAHQAIABCAGUAdAByAGUAdQB0AGUAcwAgAFcAbwBoAG4AZQBuAH0AXABiAFwAZgAxAFwAZgBzADIANABcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbABcAGgAeQBwAGgAcABhAHIAMABcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgAFcAYQByAGUAbgBkAG8AcgBmAGUAcgAgAFMAdAByAC4AIAAxADQAfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgADQANQA4ADkAMgAgAEcAZQBsAHMAZQBuAGsAaQByAGMAaABlAG4AfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgAFQAZQBsAGUAZgBvAG4AOgAgADAAMgAwADkALwA5ADcANgAxADcAMQA0AH0AXABmADEAXABmAHMAMQA4AFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAFwAaAB5AHAAaABwAGEAcgAwAHsAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABGAGEAeAA6ACAAMAAyADAAOQAvADkANwA2ADEANwA5ADkAfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAaQBlAGwAZAB7AFwAKgBcAGYAbABkAGkAbgBzAHQAewBcAGYAMQBcAGYAcwAyADQAXABjAGYAMAAgAEgAWQBQAEUAUgBMAEkATgBLACAAIgBtAGEAaQBsAHQAbwA6AGIAZQB0AHIAZQB1AHQAZQBzAHcAbwBoAG4AZQBuAEAAdwBpAGMAaABlAHIAbgBoAGEAdQBzAC4AYwBvAG0AIgAgAH0AfQB7AFwAZgBsAGQAcgBzAGwAdAB7AFwAdQBsAFwAZgAxAFwAZgBzADEAOABcAGMAZgAyACAAYgBlAHQAcgBlAHUAdABlAHMAdwBvAGgAbgBlAG4AQAB3AGkAYwBoAGUAcgBuAGgAYQB1AHMALgBjAG8AbQB9AH0AfQBcAGYAMQBcAGYAcwAyADQAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABzAGwAMgA3ADUAXABzAGwAbQB1AGwAdAAxAFwAcwBhADIAMAAwAHsAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABBAG4AcwBwAHIAZQBjAGgAcABhAHIAdABuAGUAcgA6ACAARgAuACAAQwBvAGwAbABlAHQAfQBcAGwAYQBuAGcANwBcAGwAYQBuAGcAZgBlADcAXABmAHMAMgAyAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
Mit freundlichen Grüßen</value>
</data>
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGIAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABXAGkAYwBoAGUAcgBuAGgAYQB1AHMAIABnAEcAbQBiAEgAfQBcAGYAMQBcAGYAcwAyADQAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGIAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABBAG0AYgB1AGwAYQBuAHQAIABCAGUAdAByAGUAdQB0AGUAcwAgAFcAbwBoAG4AZQBuAH0AXABiAFwAZgAxAFwAZgBzADIANABcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbABcAGgAeQBwAGgAcABhAHIAMABcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgAFcAYQByAGUAbgBkAG8AcgBmAGUAcgAgAFMAdAByAC4AIAAxADQAfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgADQANQA4ADkAMgAgAEcAZQBsAHMAZQBuAGsAaQByAGMAaABlAG4AfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAMQBcAGYAcwAxADgAXABjAGYAMAAgAFQAZQBsAGUAZgBvAG4AOgAgADAAMgAwADkALwA5ADcANgAxADcAMQA0AH0AXABmADEAXABmAHMAMQA4AFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAFwAaAB5AHAAaABwAGEAcgAwAHsAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABGAGEAeAA6ACAAMAAyADAAOQAvADkANwA2ADEANwA5ADkAfQBcAGYAMQBcAGYAcwAxADgAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABoAHkAcABoAHAAYQByADAAewBcAGYAaQBlAGwAZAB7AFwAKgBcAGYAbABkAGkAbgBzAHQAewBcAGYAMQBcAGYAcwAyADQAXABjAGYAMAAgAEgAWQBQAEUAUgBMAEkATgBLACAAIgBtAGEAaQBsAHQAbwA6AGIAZQB0AHIAZQB1AHQAZQBzAHcAbwBoAG4AZQBuAEAAdwBpAGMAaABlAHIAbgBoAGEAdQBzAC4AYwBvAG0AIgAgAH0AfQB7AFwAZgBsAGQAcgBzAGwAdAB7AFwAdQBsAFwAZgAxAFwAZgBzADEAOABcAGMAZgAyACAAYgBlAHQAcgBlAHUAdABlAHMAdwBvAGgAbgBlAG4AQAB3AGkAYwBoAGUAcgBuAGgAYQB1AHMALgBjAG8AbQB9AH0AfQBcAGYAMQBcAGYAcwAyADQAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABzAGwAMgA3ADUAXABzAGwAbQB1AGwAdAAxAFwAcwBhADIAMAAwAHsAXABmADEAXABmAHMAMQA4AFwAYwBmADAAIABBAG4AcwBwAHIAZQBjAGgAcABhAHIAdABuAGUAcgA6ACAARgAuACAAQwBvAGwAbABlAHQAfQBcAGwAYQBuAGcANwBcAGwAYQBuAGcAZgBlADcAXABmAHMAMgAyAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
</data>
<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

@@ -20,6 +20,11 @@ namespace Wichernhaus.Invoicing
public override bool CheckMaxApprovedHours()
{
return false;
}
public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
{
return false;
}
}
}

View File

@@ -56,13 +56,7 @@ namespace ReportingService.Plugins
private static DefaultReportCreator CreateReportCreator()
{
var reportCreator = PluginLoader.FindClass<DefaultReportCreator>();
reportCreator.Tenant = PluginLoader.Tenant;
#if DEBUG
reportCreator.ReportPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + PluginLoader.Tenant + "_reports.dll");
#else
reportCreator.ReportPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + PluginLoader.Tenant + "_reports.dll");
#endif
return reportCreator;
}
}

View File

@@ -175,92 +175,19 @@ namespace ReportingService.ServiceImplementations
private static AbstractReportCreator GetReportCreator()
{
var derTenant = MultitenancyOperationContextExt.Current.Tenant;
AbstractReportCreator creator = null;
#if DEBUG
//Kundennummern zum Testen nur noch in PluginLoader eintragen:
derTenant = PluginLoader.Tenant;
var customerDllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + derTenant + "_reports.dll");
#else
var customerDllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + derTenant + "_reports.dll");
#endif
if (File.Exists(customerDllPath))
{
var allTypes = Assembly.LoadFrom(customerDllPath).GetTypes();
var reportCreator = allTypes.FirstOrDefault(i => typeof(AbstractReportCreator).IsAssignableFrom(i));
if (reportCreator != null)
{
creator = Activator.CreateInstance(reportCreator) as AbstractReportCreator;
}
}
if (creator == null)
creator = new DefaultReportCreator();
creator.Tenant = derTenant;
creator.ReportPath = customerDllPath;
AbstractReportCreator creator = PluginLoader.FindClass<DefaultReportCreator>();
#if DEBUG
creator.TempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"demo\temp");
#else
creator.TempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, derTenant + @"\temp");
creator.TempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, PluginLoader.Tenant + @"\temp");
#endif
return creator;
}
private static AbstractReportCreator GetReportCreator(string tenant)
{
AbstractReportCreator creator = null;
#if DEBUG
//Kundennummern zum Testen nur noch in PluginLoader eintragen:
tenant = PluginLoader.Tenant;
// Ist "C:\Users\lyndo\BeWo\BeWoPlanerMobil\bin\2387527289_reports.dll"
// statt "C:\Users\lyndo\BeWo\Host\bin\2387527289_reports.dll"
var path = @"..\Host\";
var customerDllPath = Path.Combine(path, @"bin\" + tenant + "_reports.dll");// Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + tenant + "_reports.dll");
#else
var customerDllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + tenant + "_reports.dll");
#endif
if (File.Exists(customerDllPath))
{
var allTypes = Assembly.LoadFrom(customerDllPath).GetTypes();
var reportCreator = allTypes.FirstOrDefault(i => typeof(AbstractReportCreator).IsAssignableFrom(i));
if (reportCreator != null)
{
creator = Activator.CreateInstance(reportCreator) as AbstractReportCreator;
}
}
if (creator == null)
{
creator = new DefaultReportCreator();
}
creator.Tenant = tenant;
creator.ReportPath = customerDllPath;
#if DEBUG
creator.TempPath = Path.Combine(path, @"demo\temp");
#else
creator.TempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, tenant + @"\temp");
#endif
return creator;
}
private static BeWoEntityBase LoadToBargeldkasseRelatedObject(TableID pObjectTid, long pObjectOid)
{
switch (pObjectTid)
@@ -316,7 +243,7 @@ namespace ReportingService.ServiceImplementations
// Zum Test im MoK
public MemoryStream CreateKilometerauswertungForAllCustomersForWebVersion(List<long> customerOids, DateTime rangeDate, string tenant)
{
var reportCreator = GetReportCreator(tenant);
var reportCreator = GetReportCreator();
var report = reportCreator.CreateKilometerauswertungForAllCustomers(customerOids, null, new DateTime(rangeDate.Year, rangeDate.Month, 1), new DateTime(rangeDate.Year, rangeDate.Month, 1).AddMonths(1).AddDays(-1));
@@ -325,7 +252,7 @@ namespace ReportingService.ServiceImplementations
public MemoryStream CreateMedikamentenlistenReport(long mvlOid, string tenant)
{
var reportCreator = GetReportCreator(tenant);
var reportCreator = GetReportCreator();
var report = reportCreator.CreateMediVerordListenReport(mvlOid);

View File

@@ -26,78 +26,6 @@ namespace BeWo.Service.Core
return true;
}
//public static ICostBearerCalc GetCalcualtionsObjectForCostBearer(long pCostBearerOid)
//{
// var cb = DAOFactory.GenericDAO.LoadByID<CostBearer>(pCostBearerOid);
// if (!string.IsNullOrEmpty(cb.CalculationsDllName))
// {
// Type[] calcTypes = new Type[0];
// string customReportDllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + cb.CalculationsDllName);
// if (File.Exists(customReportDllPath))
// {
// calcTypes = Assembly.LoadFrom(customReportDllPath).GetTypes();
// foreach (var iType in calcTypes)
// {
// if (typeof(ICostBearerCalc).IsAssignableFrom(iType))
// {
// return Activator.CreateInstance(iType) as ICostBearerCalc;
// }
// }
// }
// }
// return new InvoiceCreation();
//}
//public static List<CostRate> GetCostRateListForCostBearer(CostBearer costBearer)
//{
// List<CostRate> list = new List<CostRate>();
// if (costBearer != null && costBearer.CostRatePeriods != null)
// {
// foreach (CostRatePeriod crp in costBearer.CostRatePeriods)
// {
// CostRate cr = new CostRate();
// cr.Amount = crp.CostRateValue;
// switch (crp.CostRateType)
// {
// case CostRatePeriodType.HourlyRate:
// cr.CostRateType = CostRateType.HourlyRate;
// break;
// case CostRatePeriodType.MinutesIntervall:
// cr.CostRateType = CostRateType.MinutesIntervall;
// break;
// case CostRatePeriodType.RateFactor:
// cr.CostRateType = CostRateType.RateFactor;
// break;
// }
// cr.StartDate = crp.StartDate;
// cr.EndDate = crp.EndDate;
// list.Add(cr);
// }
// }
// return list;
//}
//public static string GetNextInvoiceNumber(int increment, InvoiceBase invoiceBase)
//{
// string next = String.Empty;
// InvoiceNumberDC invoiceNumber = new AccountingServiceImp().LoadInvoiceNumber();
// if (invoiceNumber != null && invoiceNumber.Use)
// {
// next = ApplyPattern(invoiceNumber.Pattern, invoiceNumber.CurrentNumber + increment, invoiceBase);
// }
// return next;
//}
public static void SetActivationType<T>(Dictionary<long, long> pOid2Version, ActivationTypeId activationType)
where T : BeWoEntityBase, new()

View File

@@ -483,6 +483,9 @@ namespace BeWo.Service.Plugins
dc.SupportConceptOid = pEntity.Oid.Value;
dc.SupportConceptVersion = pEntity.Version.Value;
dc.NearlyExpiredBrush = GetBrushForNearlyExpiredSupportConcept();
dc.ExpiredBrush = GetBrushForExpiredSupportConcept();
Customer cust = pEntity.Customer;
var customerDC = new CompactCustomerDC();
@@ -560,6 +563,15 @@ namespace BeWo.Service.Plugins
return dc;
}
protected virtual string GetBrushForNearlyExpiredSupportConcept()
{
return System.Windows.Media.Brushes.Yellow.ToString();
}
protected virtual string GetBrushForExpiredSupportConcept()
{
return System.Windows.Media.Brushes.Red.ToString();
}
private Dictionary<long, long> CreateTeamOidDict(long employeeOid)
{
var teamOids = new Dictionary<long, long>();
@@ -712,6 +724,8 @@ namespace BeWo.Service.Plugins
dc.ConferenceDate = sc.ConferenceDate;
dc.IsApproved = cb2sc.Status == CostBearer2SupportConceptStatus.Approved;
dc.NearlyExpiredBrush = GetBrushForNearlyExpiredSupportConcept();
dc.ExpiredBrush = GetBrushForExpiredSupportConcept();
var costBearer = new CompactCostBearerDC();

View File

@@ -3,6 +3,7 @@ using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading;
using BeWo.Data;
using BS.Shared.Core;
@@ -10,7 +11,9 @@ namespace BeWo.Service.Plugins
{
public class PluginLoader
{
public static String Tenant
private static object _Lock = string.Empty;
public static String Tenant
{
get
{
@@ -372,34 +375,112 @@ namespace BeWo.Service.Plugins
}
}
public static String CustomerPluginPath()
{
var pluginPath = ConfigurationManager.AppSettings.Get("PluginPath");
#if DEBUG
if(!(pluginPath is null))
{
var alt = Path.Combine(pluginPath, Tenant + "_Reports.dll");
pluginPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, alt);
return pluginPath;
}
#endif
var pluginPath = ConfigurationManager.AppSettings.Get("PluginPath");
if (pluginPath != null)
{
return Path.Combine(pluginPath, Tenant + "_Reports.dll");
var dllName = Tenant + "_Reports.dll";
if (!String.IsNullOrEmpty(pluginPath))
{
if (pluginPath.StartsWith(".."))
{
pluginPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, pluginPath);
}
}
else
{
#if DEBUG
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + Tenant + "_Reports.dll");
pluginPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin");
#else
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + Tenant + "_Reports.dll");
pluginPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Customer");
#endif
}
}
public static T FindClass<T>() where T : new()
return Path.Combine(pluginPath, dllName);
}
private static void CheckAndUpdateCustomerAssembly()
{
var customerdll = CustomerPluginPath();
var dllName = Path.GetFileName(customerdll);
var pluginBasePath = ConfigurationManager.AppSettings.Get("PluginBasePath");
if (!String.IsNullOrEmpty(pluginBasePath))
{
if (pluginBasePath.StartsWith(".."))
{
pluginBasePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, pluginBasePath);
}
}
bool aktualisiereAssembly = false;
if (!String.IsNullOrEmpty(pluginBasePath))
{
//Prüfe, ob eine neuere Version der dll im Base Path existiert
var baseDll = Path.Combine(pluginBasePath, dllName);
try
{
if (File.Exists(baseDll))
{
if (!File.Exists(customerdll))
{
aktualisiereAssembly = true;
}
else
{
if (File.GetLastWriteTime(baseDll) > File.GetLastWriteTime(customerdll))
{
aktualisiereAssembly = true;
}
else if (File.GetLastWriteTime(baseDll) == File.GetLastWriteTime(customerdll))
{
var fibase = new FileInfo(baseDll);
var fiwork = new FileInfo(customerdll);
if (fibase.Length != fiwork.Length)
{
aktualisiereAssembly = true;
}
}
}
if (aktualisiereAssembly)
{
try
{
Monitor.Enter(_Lock);
File.Copy(baseDll, customerdll, true);
}
catch
{
}
finally
{
Monitor.Exit(_Lock);
}
}
if (aktualisiereAssembly || GetAssembliyForDll(dllName) == null)
{
Assembly.Load(File.ReadAllBytes(customerdll));
}
}
}
catch
{
//do nothing
}
}
}
public static T FindClass<T>() where T : new()
{
var t = FindClass<T>(null, null);
if (t == null)
@@ -422,9 +503,8 @@ namespace BeWo.Service.Plugins
if (Tenant != null)
{
if (File.Exists(CustomerPluginPath()))
lAllTypes = Assembly.LoadFrom(CustomerPluginPath()).GetTypes();
}
lAllTypes = PluginLoader.GetAllCustomerTypes();
}
T result = default(T);
if (lAllTypes != null)
@@ -433,7 +513,40 @@ namespace BeWo.Service.Plugins
return result;
}
public static T FindClass<T>(Type[] lAllTypes, string specificId, string typename)
public static Type[] GetAllCustomerTypes()
{
var path = CustomerPluginPath();
var dllName = Path.GetFileName(path);
CheckAndUpdateCustomerAssembly();
var a = GetAssembliyForDll(dllName);
if (a != null)
{
return a.GetTypes();
}
return null;
}
private static Assembly GetAssembliyForDll(String dllName)
{
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
for (int i = assemblies.Length - 1; i >= 0; i--)
{
var a = assemblies[i];
if (a.FullName.StartsWith(dllName.Replace(".dll", "")))
{
return a;
}
}
return null;
}
public static T FindClass<T>(Type[] lAllTypes, string specificId, string typename)
{
T result = default(T);

View File

@@ -15,6 +15,149 @@ namespace BeWo.Service.Reporting
public class ExportAndPrintHelper
{
// Hier ist der Code, der die StringArrays für den Excel-Export und die Print-Versionen des Exports erstellt
public virtual string[] PrepareHeaderArrayForCustomerExport()
{
string[] lHeaderCaption = {
"Nachname", // 0
"Vorname", // 1
"Geburtsdatum", // 3
"Beruf", // 4
"Geschlecht", // 5
"Familienstand", // 6
"Telefon", // 7
"Mobil", // 8
"Mail", // 9
"Fax", // 10
"Strasse", // 11
"PLZ", // 12
"Ort", // 13
"Bemerkung", // 14
"Erstbetreuung", // 15
"Betreuung begonnen", // 16
"Betreuung beendet", // 17
"Grund für Beendigung" // 18
};
return lHeaderCaption;
}
public virtual string[][] PrepareContentArrayForCustomerExport(long[] pSortedOids)
{
var lCustomers = DAOFactory.GenericDAO.LoadByIDs<Customer>(pSortedOids);
var lHeaderCaption = PrepareHeaderArrayForCustomerExport();
var lContent = new string[lCustomers.Count][];
for (int iRowCount = 0; iRowCount < lCustomers.Count; iRowCount++)
{
lContent[iRowCount] = new string[lHeaderCaption.Count()];
lContent[iRowCount][0] = lCustomers[iRowCount].Person.LastName;
lContent[iRowCount][1] = lCustomers[iRowCount].Person.FirstName;
//lContent[iRowCount][2] = lCustomers[iRowCount].ReferenceNumber;
if (lCustomers[iRowCount].Person.DateOfBirth.HasValue)
{
lContent[iRowCount][2] = lCustomers[iRowCount].Person.DateOfBirth.Value.ToShortDateString();
}
lContent[iRowCount][3] = lCustomers[iRowCount].Person.Profession;
lContent[iRowCount][4] = lCustomers[iRowCount].Person.Sex == Sex.Male
? "männlich"
: "weiblich";
if (lCustomers[iRowCount].Person.FamilyStatus != null)
{
switch (lCustomers[iRowCount].Person.FamilyStatus.Value)
{
case FamilyStatus.Divorced:
lContent[iRowCount][5] = "geschieden";
break;
case FamilyStatus.Married:
lContent[iRowCount][5] = "verheiratet";
break;
case FamilyStatus.Single:
lContent[iRowCount][5] = "ledig";
break;
case FamilyStatus.Widowed:
lContent[iRowCount][5] = "verwitwet";
break;
case FamilyStatus.Partner:
lContent[iRowCount][5] = "in Partnerschaft";
break;
case FamilyStatus.PartnerDivorced:
lContent[iRowCount][5] = "getrennt lebend";
break;
case FamilyStatus.PartnerDead:
lContent[iRowCount][5] = "partnerhinterblieben";
break;
case FamilyStatus.PartnerMarried:
lContent[iRowCount][5] = "verpartnert";
break;
case FamilyStatus.Entpartnert:
lContent[iRowCount][5] = "entpartnert";
break;
}
}
foreach (var iContact in lCustomers[iRowCount].Person.Contacts)
{
switch (iContact.Type)
{
case ContactType.business_Phone:
lContent[iRowCount][6] = iContact.Value;
break;
case ContactType.business_MobilePhone:
lContent[iRowCount][7] = iContact.Value;
break;
case ContactType.business_Mail:
lContent[iRowCount][8] = iContact.Value;
break;
case ContactType.business_Fax:
lContent[iRowCount][9] = iContact.Value;
break;
}
}
if (lCustomers[iRowCount].Person.Address != null)
{
lContent[iRowCount][10] = lCustomers[iRowCount].Person.Address.Street;
lContent[iRowCount][11] = lCustomers[iRowCount].Person.Address.PostalCode;
lContent[iRowCount][12] = lCustomers[iRowCount].Person.Address.Town;
}
lContent[iRowCount][13] = lCustomers[iRowCount].Notice;
if (lCustomers[iRowCount].Employee2CustomerList == null)
continue;
foreach (var e2c in lCustomers[iRowCount].Employee2CustomerList)
{
foreach (var vle in e2c.ValueList.Select(vle2o => vle2o.Entry).Where(vle => vle.SystemEntryID != null && vle.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant))
{
lHeaderCaption[14] = vle.Value;
lContent[iRowCount][14] = e2c.Employee.Person.FirstName + " " + e2c.Employee.Person.LastName;
}
}
lContent[iRowCount][15] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].AssistanceBegin);
lContent[iRowCount][16] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].TerminationDate);
if (lCustomers[iRowCount].TerminationReason != null)
{
lContent[iRowCount][17] = lCustomers[iRowCount].TerminationReason.Value;
}
else
{
lContent[iRowCount][17] = "";
}
}
return lContent;
}
public virtual string[] PrepareHeaderArrayForPersonExport()
{
return new string[] {

View File

@@ -51,137 +51,142 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
var lCustomers = DAOFactory.GenericDAO.LoadByIDs<Customer>(pSortedOids);
#region alt
// var lCustomers = DAOFactory.GenericDAO.LoadByIDs<Customer>(pSortedOids);
string[] lHeaderCaption = {
"Nachname", // 0
"Vorname", // 1
"Geburtsdatum", // 3
"Beruf", // 4
"Geschlecht", // 5
"Familienstand", // 6
"Telefon", // 7
"Mobil", // 8
"Mail", // 9
"Fax", // 10
"Strasse", // 11
"PLZ", // 12
"Ort", // 13
"Bemerkung", // 14
"Erstbetreuung", // 15
"Betreuung begonnen", // 16
"Betreuung beendet", // 17
"Grund für Beendigung" // 18
};
var lContent = new string[lCustomers.Count][];
// string[] lHeaderCaption = {
// "Nachname", // 0
// "Vorname", // 1
// "Geburtsdatum", // 3
// "Beruf", // 4
// "Geschlecht", // 5
// "Familienstand", // 6
// "Telefon", // 7
// "Mobil", // 8
// "Mail", // 9
// "Fax", // 10
// "Strasse", // 11
// "PLZ", // 12
// "Ort", // 13
// "Bemerkung", // 14
// "Erstbetreuung", // 15
// "Betreuung begonnen", // 16
// "Betreuung beendet", // 17
// "Grund für Beendigung" // 18
// };
// var lContent = new string[lCustomers.Count][];
for (int iRowCount = 0; iRowCount < lCustomers.Count; iRowCount++)
{
lContent[iRowCount] = new string[lHeaderCaption.Count()];
// for (int iRowCount = 0; iRowCount < lCustomers.Count; iRowCount++)
// {
// lContent[iRowCount] = new string[lHeaderCaption.Count()];
lContent[iRowCount][0] = lCustomers[iRowCount].Person.LastName;
lContent[iRowCount][1] = lCustomers[iRowCount].Person.FirstName;
//lContent[iRowCount][2] = lCustomers[iRowCount].ReferenceNumber;
// lContent[iRowCount][0] = lCustomers[iRowCount].Person.LastName;
// lContent[iRowCount][1] = lCustomers[iRowCount].Person.FirstName;
// //lContent[iRowCount][2] = lCustomers[iRowCount].ReferenceNumber;
if (lCustomers[iRowCount].Person.DateOfBirth.HasValue)
{
lContent[iRowCount][2] = lCustomers[iRowCount].Person.DateOfBirth.Value.ToShortDateString();
}
// if (lCustomers[iRowCount].Person.DateOfBirth.HasValue)
// {
// lContent[iRowCount][2] = lCustomers[iRowCount].Person.DateOfBirth.Value.ToShortDateString();
// }
lContent[iRowCount][3] = lCustomers[iRowCount].Person.Profession;
// lContent[iRowCount][3] = lCustomers[iRowCount].Person.Profession;
lContent[iRowCount][4] = lCustomers[iRowCount].Person.Sex == Sex.Male
? "männlich"
: "weiblich";
// lContent[iRowCount][4] = lCustomers[iRowCount].Person.Sex == Sex.Male
// ? "männlich"
// : "weiblich";
if (lCustomers[iRowCount].Person.FamilyStatus != null)
{
switch (lCustomers[iRowCount].Person.FamilyStatus.Value)
{
case FamilyStatus.Divorced:
lContent[iRowCount][5] = "geschieden";
break;
case FamilyStatus.Married:
lContent[iRowCount][5] = "verheiratet";
break;
case FamilyStatus.Single:
lContent[iRowCount][5] = "ledig";
break;
case FamilyStatus.Widowed:
lContent[iRowCount][5] = "verwitwet";
break;
case FamilyStatus.Partner:
lContent[iRowCount][5] = "in Partnerschaft";
break;
case FamilyStatus.PartnerDivorced:
lContent[iRowCount][5] = "getrennt lebend";
break;
case FamilyStatus.PartnerDead:
lContent[iRowCount][5] = "partnerhinterblieben";
break;
case FamilyStatus.PartnerMarried:
lContent[iRowCount][5] = "verpartnert";
break;
case FamilyStatus.Entpartnert:
lContent[iRowCount][5] = "entpartnert";
break;
}
}
// if (lCustomers[iRowCount].Person.FamilyStatus != null)
// {
// switch (lCustomers[iRowCount].Person.FamilyStatus.Value)
// {
// case FamilyStatus.Divorced:
// lContent[iRowCount][5] = "geschieden";
// break;
// case FamilyStatus.Married:
// lContent[iRowCount][5] = "verheiratet";
// break;
// case FamilyStatus.Single:
// lContent[iRowCount][5] = "ledig";
// break;
// case FamilyStatus.Widowed:
// lContent[iRowCount][5] = "verwitwet";
// break;
// case FamilyStatus.Partner:
// lContent[iRowCount][5] = "in Partnerschaft";
// break;
// case FamilyStatus.PartnerDivorced:
// lContent[iRowCount][5] = "getrennt lebend";
// break;
// case FamilyStatus.PartnerDead:
// lContent[iRowCount][5] = "partnerhinterblieben";
// break;
//case FamilyStatus.PartnerMarried:
// lContent[iRowCount][5] = "verpartnert";
// break;
//case FamilyStatus.Entpartnert:
// lContent[iRowCount][5] = "entpartnert";
// break;
// }
// }
foreach (var iContact in lCustomers[iRowCount].Person.Contacts)
{
switch (iContact.Type)
{
case ContactType.business_Phone:
lContent[iRowCount][6] = iContact.Value;
break;
case ContactType.business_MobilePhone:
lContent[iRowCount][7] = iContact.Value;
break;
case ContactType.business_Mail:
lContent[iRowCount][8] = iContact.Value;
break;
case ContactType.business_Fax:
lContent[iRowCount][9] = iContact.Value;
break;
}
}
// foreach (var iContact in lCustomers[iRowCount].Person.Contacts)
// {
// switch (iContact.Type)
// {
// case ContactType.business_Phone:
// lContent[iRowCount][6] = iContact.Value;
// break;
// case ContactType.business_MobilePhone:
// lContent[iRowCount][7] = iContact.Value;
// break;
// case ContactType.business_Mail:
// lContent[iRowCount][8] = iContact.Value;
// break;
// case ContactType.business_Fax:
// lContent[iRowCount][9] = iContact.Value;
// break;
// }
// }
if (lCustomers[iRowCount].Person.Address != null)
{
lContent[iRowCount][10] = lCustomers[iRowCount].Person.Address.Street;
lContent[iRowCount][11] = lCustomers[iRowCount].Person.Address.PostalCode;
lContent[iRowCount][12] = lCustomers[iRowCount].Person.Address.Town;
}
// if (lCustomers[iRowCount].Person.Address != null)
// {
// lContent[iRowCount][10] = lCustomers[iRowCount].Person.Address.Street;
// lContent[iRowCount][11] = lCustomers[iRowCount].Person.Address.PostalCode;
// lContent[iRowCount][12] = lCustomers[iRowCount].Person.Address.Town;
// }
lContent[iRowCount][13] = lCustomers[iRowCount].Notice;
// lContent[iRowCount][13] = lCustomers[iRowCount].Notice;
if (lCustomers[iRowCount].Employee2CustomerList == null)
continue;
// if (lCustomers[iRowCount].Employee2CustomerList == null)
// continue;
foreach (var e2c in lCustomers[iRowCount].Employee2CustomerList)
{
foreach (var vle in e2c.ValueList.Select(vle2o => vle2o.Entry).Where(vle => vle.SystemEntryID != null && vle.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant))
{
lHeaderCaption[14] = vle.Value;
lContent[iRowCount][14] = e2c.Employee.Person.FirstName + " " + e2c.Employee.Person.LastName;
}
}
// foreach (var e2c in lCustomers[iRowCount].Employee2CustomerList)
// {
// foreach (var vle in e2c.ValueList.Select(vle2o => vle2o.Entry).Where(vle => vle.SystemEntryID != null && vle.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant))
// {
// lHeaderCaption[14] = vle.Value;
// lContent[iRowCount][14] = e2c.Employee.Person.FirstName + " " + e2c.Employee.Person.LastName;
// }
// }
lContent[iRowCount][15] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].AssistanceBegin);
lContent[iRowCount][16] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].TerminationDate);
if (lCustomers[iRowCount].TerminationReason != null)
{
lContent[iRowCount][17] = lCustomers[iRowCount].TerminationReason.Value;
}
else
{
lContent[iRowCount][17] = "";
}
}
// lContent[iRowCount][15] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].AssistanceBegin);
// lContent[iRowCount][16] = String.Format("{0:dd.MM.yyyy}", lCustomers[iRowCount].TerminationDate);
// if (lCustomers[iRowCount].TerminationReason != null)
// {
// lContent[iRowCount][17] = lCustomers[iRowCount].TerminationReason.Value;
// }
// else
// {
// lContent[iRowCount][17] = "";
// }
// }
#endregion
//WriteExcelFile(pFileID, lHeaderCaption, lContent, pPath);
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
var lHeaderCaption = helper.PrepareHeaderArrayForCustomerExport();
var lContent = helper.PrepareContentArrayForCustomerExport(pSortedOids);
return WriteHtmlFile(lHeaderCaption, lContent);
}
catch (Exception e)
@@ -612,7 +617,7 @@ namespace BeWo.Service.ServiceImplementations
{
string lPath = BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, pFileID + ".tmp");
var helper = new ExportAndPrintHelper();
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
var lHeaderCaption = helper.PrepareHeaderArrayForPersonExport();
var lContent = helper.PrepareContentArrayForPersonExport(pSortedOids);
@@ -796,7 +801,7 @@ namespace BeWo.Service.ServiceImplementations
//}
#endregion
var helper = new ExportAndPrintHelper();
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
var lHeaderCaption = helper.PrepareHeaderArrayForUserExport();
var lContent = helper.PrepareContentArrayForUserExport(pSortedOids);
@@ -813,7 +818,7 @@ namespace BeWo.Service.ServiceImplementations
try
{
var helper = new ExportAndPrintHelper();
var helper = PluginLoader.FindClass<ExportAndPrintHelper>();
var lHeaderCaption = helper.PrepareHeaderArrayForUserGroupExport();
var lContent = helper.PrepareContentArrayForUserGroupExport(pSortedOids);

View File

@@ -199,11 +199,13 @@ namespace BS.Shared.DataContracts.Compact
{
if (this.IsAboutToExpire)
{
return Brushes.Red;
Color color = (Color)ColorConverter.ConvertFromString(this.ExpiredBrush);
return new SolidColorBrush(color);
}
else if (this.ExpiresIn3MonthOrLess)
{
return Brushes.Yellow;
Color color = (Color)ColorConverter.ConvertFromString(this.NearlyExpiredBrush);
return new SolidColorBrush(color);
}
else
{

View File

@@ -70,5 +70,11 @@ namespace BS.Shared.DataContracts.Compact
[DataMember]
public long SupportConceptVersion { get; set; }
[DataMember]
public string NearlyExpiredBrush { get; set; }
[DataMember]
public string ExpiredBrush { get; set; }
}
}

View File

@@ -189,8 +189,11 @@ namespace BS.Shared.Services
ratefactor = (100 + factor.Value) / 100;
}
return (this.GetApprovedAmountTotal(relDC) / this.GetMonthCount(relDC.ApprovedStartDate.Value, relDC.ApprovedEndDate.Value)) / ratefactor;
var monate = this.GetMonthCount(relDC.ApprovedStartDate.Value, relDC.ApprovedEndDate.Value);
if (monate != 0)
{
return (this.GetApprovedAmountTotal(relDC) / monate) / ratefactor;
}
}
}
return 0;