Diverse Bugfixes, VacationService, Arbeitszeitmodul im Stundenkonto, Spitzabrechnung BfpDus

This commit is contained in:
Christian
2024-07-09 01:04:49 +02:00
parent 69b0f0553f
commit df68d4622b
21 changed files with 901 additions and 1002 deletions

View File

@@ -43,12 +43,12 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.243</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.247</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>244</ApplicationRevision>
<ApplicationRevision>248</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>

View File

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

View File

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

View File

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

View File

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

View File

@@ -984,19 +984,14 @@ namespace BeWo.Report.ReportObjects
decimal duration = GetDuration(item, empDetail);
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit")
{
arbeitszeit += duration;
}
else if (item.ServiceDescription.ServiceCategory.IsBillable)
{
flsGesamt += duration;
}
if (IstArbeitszeit(item))
{
arbeitszeit += duration;
}
else if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
flsGesamt += duration;
}
}
else if (AddServiceRecordToDuration(item))
{
@@ -2055,19 +2050,25 @@ namespace BeWo.Report.ReportObjects
{
if (Settings.ShowWorktime && Settings.EnableArbeitszeiterfassung)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit")
{
return true;
}
}
return false;
return IstArbeitszeit(item);
}
return true;
}
public virtual bool IstArbeitszeit(ServiceRecord item)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.Name.StartsWith("Arbeitszeit") || item.ServiceDescription.ServiceCategory.Name.StartsWith("Arbeitszeit")) //Arbeitszeit und Arbeitszeiterfassung etc.
{
return true;
}
}
return false;
}
public virtual decimal AddRateFactorToIst()
{
return 1;

View File

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

View File

@@ -47,7 +47,7 @@ namespace AsbRheinErftDuerenSBD.Invoicing
decimal anzHK = 0;
var preiseHK = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool-Nichtfachkraft (HK)").CostRatePeriods.ToList();
decimal anzHKTeilzeit = 0;
var preiseHKTeilzeit = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool-Nichtfachkraft(HK)").CostRatePeriods.ToList();
//var preiseHKTeilzeit = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool-Nichtfachkraft(HK)").CostRatePeriods.ToList();
var employee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(team.Member.Select(m => m.EmployeeOid).ToList()));
@@ -120,7 +120,7 @@ namespace AsbRheinErftDuerenSBD.Invoicing
// Rechnungsposition für Teilzeit
if (anzHKTeilzeit > 0)
{
preis = GetPreis(serviceInvoicePeriod.Start.Value, preiseHKTeilzeit);
preis = 0; // GetPreis(serviceInvoicePeriod.Start.Value, preiseHKTeilzeit);
serviceInvoicePeriod.InvoiceItemList.Add(new InvoiceItem
{
AmountTotal = anzHKTeilzeit * preis,

View File

@@ -70,6 +70,7 @@
<Compile Include="InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>

View File

@@ -32,6 +32,10 @@ namespace BfpDus
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Briefkopf));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblAnschrift = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnsprechpartnerUndDatum = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
this.xrSubreport1 = new DevExpress.XtraReports.UI.XRSubreport();
@@ -41,10 +45,6 @@ namespace BfpDus
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnsprechpartnerUndDatum = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnschrift = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
@@ -75,9 +75,61 @@ namespace BfpDus
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// lblAnschrift
//
this.lblAnschrift.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblAnschrift.LocationFloat = new DevExpress.Utils.PointFloat(0F, 167.7917F);
this.lblAnschrift.Multiline = true;
this.lblAnschrift.Name = "lblAnschrift";
this.lblAnschrift.SizeF = new System.Drawing.SizeF(422.625F, 142.1874F);
this.lblAnschrift.StylePriority.UseFont = false;
this.lblAnschrift.StylePriority.UseTextAlignment = false;
this.lblAnschrift.Text = "Frau\r\nMaria Mustermann\r\nMusterstr. 1\r\n\r\n40212 Düsseldorf\r\n";
this.lblAnschrift.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// lblAnsprechpartnerUndDatum
//
this.lblAnsprechpartnerUndDatum.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblAnsprechpartnerUndDatum.LocationFloat = new DevExpress.Utils.PointFloat(504.792F, 248.5209F);
this.lblAnsprechpartnerUndDatum.Multiline = true;
this.lblAnsprechpartnerUndDatum.Name = "lblAnsprechpartnerUndDatum";
this.lblAnsprechpartnerUndDatum.SizeF = new System.Drawing.SizeF(187.208F, 115.1041F);
this.lblAnsprechpartnerUndDatum.StylePriority.UseFont = false;
this.lblAnsprechpartnerUndDatum.StylePriority.UseTextAlignment = false;
this.lblAnsprechpartnerUndDatum.Text = "21.02.2020\r\n\r\nFrau Jondral\r\nTel.: 0211/962 90 200\r\nFax.: 0211/962 90 207\r\njondra" +
"l@bfp-dus.de\r\n";
this.lblAnsprechpartnerUndDatum.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Tahoma", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 100.5207F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.SizeF = new System.Drawing.SizeF(701.9999F, 25F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Selbstbestimmt Leben mit Unterstützung in Einzelwohnungen und Wohngemeinschaften";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Tahoma", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(268F, 55F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.SizeF = new System.Drawing.SizeF(337.2131F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "für Psychotherapie e.V.";
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Tahoma", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Tahoma", 16F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(265.3559F, 25F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
@@ -87,7 +139,8 @@ namespace BfpDus
//
// lblMonat
//
this.lblMonat.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblMonat.Font = new DevExpress.Drawing.DXFont("Tahoma", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblMonat.LocationFloat = new DevExpress.Utils.PointFloat(268F, 0F);
this.lblMonat.Multiline = true;
this.lblMonat.Name = "lblMonat";
@@ -105,7 +158,7 @@ namespace BfpDus
//
// xrPictureBox2
//
this.xrPictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox2.Image")));
this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource"));
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(210F, 3F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(52.75116F, 78.00001F);
@@ -120,7 +173,8 @@ namespace BfpDus
//
// xrRichText2
//
this.xrRichText2.Font = new System.Drawing.Font("Arial", 6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrRichText2.Font = new DevExpress.Drawing.DXFont("Arial", 6F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 142.9792F);
this.xrRichText2.Name = "xrRichText2";
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
@@ -143,53 +197,6 @@ namespace BfpDus
this.bottomMarginBand1.HeightF = 20F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(268F, 55F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.SizeF = new System.Drawing.SizeF(337.2131F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "für Psychotherapie e.V.";
//
// xrLabel3
//
this.xrLabel3.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 100.5207F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.SizeF = new System.Drawing.SizeF(701.9999F, 25F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Selbstbestimmt Leben mit Unterstützung in Einzelwohnungen und Wohngemeinschaften";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// lblAnsprechpartnerUndDatum
//
this.lblAnsprechpartnerUndDatum.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAnsprechpartnerUndDatum.LocationFloat = new DevExpress.Utils.PointFloat(504.792F, 248.5209F);
this.lblAnsprechpartnerUndDatum.Multiline = true;
this.lblAnsprechpartnerUndDatum.Name = "lblAnsprechpartnerUndDatum";
this.lblAnsprechpartnerUndDatum.SizeF = new System.Drawing.SizeF(187.208F, 115.1041F);
this.lblAnsprechpartnerUndDatum.StylePriority.UseFont = false;
this.lblAnsprechpartnerUndDatum.StylePriority.UseTextAlignment = false;
this.lblAnsprechpartnerUndDatum.Text = "21.02.2020\r\n\r\nFrau Aust\r\nTel.: 0211/88 000 99\r\nFax.: 0211/88 000 97\r\naust@bfp-du" +
"s.de\r\n";
this.lblAnsprechpartnerUndDatum.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// lblAnschrift
//
this.lblAnschrift.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAnschrift.LocationFloat = new DevExpress.Utils.PointFloat(0F, 167.7917F);
this.lblAnschrift.Multiline = true;
this.lblAnschrift.Name = "lblAnschrift";
this.lblAnschrift.SizeF = new System.Drawing.SizeF(422.625F, 142.1874F);
this.lblAnschrift.StylePriority.UseFont = false;
this.lblAnschrift.StylePriority.UseTextAlignment = false;
this.lblAnschrift.Text = "Frau\r\nMaria Mustermann\r\nMusterstr. 1\r\n\r\n40212 Düsseldorf\r\n";
this.lblAnschrift.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
@@ -203,14 +210,13 @@ namespace BfpDus
this.bottomMarginBand1});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(95, 30, 50, 20);
this.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.Margins = new DevExpress.Drawing.DXMargins(95F, 30F, 50F, 20F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -35,10 +35,6 @@ namespace BfpDus
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -48,14 +44,6 @@ namespace BfpDus
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
@@ -67,11 +55,11 @@ namespace BfpDus
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
@@ -85,7 +73,7 @@ namespace BfpDus
//
// ReportHeader
//
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.ReportHeader.HeightF = 0F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
@@ -109,76 +97,21 @@ namespace BfpDus
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel4,
this.xrLabel3,
this.xrLabel2,
this.xrLabel5,
this.lblAbrechnungszeitraum});
this.Page1.HeightF = 159.0833F;
this.Page1.HeightF = 107.4166F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.99998F);
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(536.0416F, 20F);
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("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00003F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(536.0416F, 20F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [CustomerSalutation] [CustomerName]";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(536.0416F, 20F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// xrLabel5
//
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 102.5F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(317F, 17F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Sehr geehrte Damen und Herren,";
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 127.5F);
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.33333F);
this.lblAbrechnungszeitraum.Multiline = true;
this.lblAbrechnungszeitraum.Name = "lblAbrechnungszeitraum";
this.lblAbrechnungszeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbrechnungszeitraum.SizeF = new System.Drawing.SizeF(536.0416F, 31.58334F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
this.lblAbrechnungszeitraum.Text = "hiermit berechnen wir für den ... folgende erbrachte Tätigkeiten:";
this.lblAbrechnungszeitraum.Text = "Für die von uns geleistete Betreuungsarbeit berechnen wir:";
//
// xrTable4
//
@@ -221,7 +154,8 @@ namespace BfpDus
//
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Italic, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.75F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -241,139 +175,9 @@ namespace BfpDus
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
//
// xrTable5
//
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow23});
this.xrTable5.SizeF = new System.Drawing.SizeF(536.0416F, 25F);
//
// xrTableRow23
//
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell37,
this.xrTableCell35,
this.xrTableCell33,
this.xrTableCell36,
this.xrTableCell38,
this.xrTableCell34});
this.xrTableRow23.Name = "xrTableRow23";
this.xrTableRow23.Weight = 1D;
//
// xrTableCell37
//
this.xrTableCell37.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell37.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell37.StylePriority.UseBackColor = false;
this.xrTableCell37.StylePriority.UseBorderColor = false;
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.Text = "Leistung";
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.85081236260328186D;
//
// xrTableCell35
//
this.xrTableCell35.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell35.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell35.StylePriority.UseBackColor = false;
this.xrTableCell35.StylePriority.UseBorderColor = false;
this.xrTableCell35.StylePriority.UseBorders = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Satz";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.23245943032832414D;
//
// xrTableCell33
//
this.xrTableCell33.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell33.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell33.StylePriority.UseBackColor = false;
this.xrTableCell33.StylePriority.UseBorderColor = false;
this.xrTableCell33.StylePriority.UseBorders = false;
this.xrTableCell33.StylePriority.UsePadding = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Stunden";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell33.Weight = 0.2893277257020575D;
//
// xrTableCell36
//
this.xrTableCell36.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell36.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell36.StylePriority.UseBackColor = false;
this.xrTableCell36.StylePriority.UseBorderColor = false;
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "Betrag";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell36.Weight = 0.26310971709438763D;
//
// xrTableCell38
//
this.xrTableCell38.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell38.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell38.StylePriority.UseBackColor = false;
this.xrTableCell38.StylePriority.UseBorderColor = false;
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UsePadding = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.Text = "pausch Fakt.";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell38.Weight = 0.42042083402151886D;
//
// xrTableCell34
//
this.xrTableCell34.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell34.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell34.StylePriority.UseBackColor = false;
this.xrTableCell34.StylePriority.UseBorderColor = false;
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UsePadding = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "Gesamt";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell34.Weight = 0.31923915575667006D;
//
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -393,7 +197,8 @@ namespace BfpDus
//
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(1.059638E-05F, 0F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -522,11 +327,22 @@ namespace BfpDus
this.GroupFooter1.HeightF = 218.0417F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel10
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.9306F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(262.5F, 103.1111F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\n\r\nChristine Aust\r\nSozialpädagogin M.A.\r\n";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
this.xrLabel1.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(280.2083F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
@@ -541,15 +357,20 @@ namespace BfpDus
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrLabel10
// xrLabel2
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.9306F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(262.5F, 103.1111F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\n\r\nChristine Aust\r\nSozialpädagogin M.A.\r\n";
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(536.0416F, 20F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung";
this.xrLabel2.WordWrap = false;
//
// ServiceInvoiceReport
//
@@ -562,16 +383,16 @@ namespace BfpDus
this.DetailReport});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 158, 50);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 157.5F, 50F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
@@ -586,10 +407,6 @@ namespace BfpDus
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
@@ -599,14 +416,6 @@ namespace BfpDus
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRTable xrTable5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.XRTable xrTable6;
@@ -620,5 +429,6 @@ namespace BfpDus
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
}
}

View File

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

View File

@@ -44,10 +44,9 @@ namespace BfpDus.Alt
this.rowErbrachteLeistung = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel6 = 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.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow20 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -69,6 +68,7 @@ namespace BfpDus.Alt
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow30 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -89,13 +89,11 @@ namespace BfpDus.Alt
this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -144,7 +142,8 @@ namespace BfpDus.Alt
this.xrTableCell6.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell6.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBorderColor = false;
@@ -187,7 +186,8 @@ namespace BfpDus.Alt
//
this.xrTableCell7.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell7.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell7.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -247,49 +247,21 @@ namespace BfpDus.Alt
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = resources.GetString("xrLabel6.Text");
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 32.99999F);
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(539.0416F, 17F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "[CustomerReferenceNumberAndDate]";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 17.00001F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(539.0416F, 16F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [Salutation2] [CustomerName]";
this.xrLabel3.Text = "Leistungsabrechnung";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(539.0416F, 17F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -301,6 +273,16 @@ namespace BfpDus.Alt
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
// xrLabel10
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 119.6111F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(262.5F, 103.1111F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\n\r\nChristine Aust\r\nSozialpädagogin M.A.\r\n";
//
// xrTable3
//
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 33F);
@@ -395,7 +377,8 @@ namespace BfpDus.Alt
// lblNotice
//
this.lblNotice.CanShrink = true;
this.lblNotice.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblNotice.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Italic, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.lblNotice.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999992F);
this.lblNotice.Name = "lblNotice";
this.lblNotice.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -405,7 +388,6 @@ namespace BfpDus.Alt
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
@@ -416,9 +398,7 @@ namespace BfpDus.Alt
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel3,
this.xrLabel4,
this.xrLabel6,
this.xrTable1});
this.GroupHeader1.HeightF = 264.5277F;
@@ -494,6 +474,10 @@ namespace BfpDus.Alt
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell23.Weight = 0.16775635356019697D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -697,7 +681,8 @@ namespace BfpDus.Alt
this.xrTableCell58.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell58.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell58.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell58.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell58.Name = "xrTableCell58";
this.xrTableCell58.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell58.StylePriority.UseBorderColor = false;
@@ -708,20 +693,6 @@ namespace BfpDus.Alt
this.xrTableCell58.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell58.Weight = 0.16775385546425872D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
//
// xrLabel10
//
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 119.6111F);
this.xrLabel10.Multiline = true;
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(262.5F, 103.1111F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\n\r\nChristine Aust\r\nSozialpädagogin M.A.\r\n";
//
// Spitzabrechnung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -734,19 +705,20 @@ namespace BfpDus.Alt
this.GroupFooter1});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Font = new DevExpress.Drawing.DXFont("Tahoma", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(75, 74, 100, 33);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 74F, 100F, 32.66669F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -756,9 +728,7 @@ namespace BfpDus.Alt
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblNotice;
private DevExpress.XtraReports.UI.XRTable xrTable1;

View File

@@ -118,12 +118,9 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrLabel6.Text" xml:space="preserve">
<value>Sehr geehrte Damen und Herren,
<value>[Salutation]
anbei sende ich Ihnen die unterschriebenen Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus:
</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>

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,8 @@ using BeWo.Report.ReportObjects;
using BeWo.Report;
using BS.Shared.Extensions;
using System.Text.RegularExpressions;
using BeWo.Data.Access;
using BeWo.Data.Entities;
namespace BfpDus
{
@@ -27,11 +29,7 @@ namespace BfpDus
public void SetReportDataSource(Settlement2RO pRO)
{
ro = pRO;
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
decimal rateFactor = 1;
foreach (var ii in pRO.InvoiceItems)
@@ -69,8 +67,51 @@ namespace BfpDus
ii.PeriodEndDate, ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ", ii.AmountPerUnit);
}
}
InsertAbsenceTimes(pRO);
this.bindingSource1.DataSource = pRO;
}
}
private void InsertAbsenceTimes(Settlement2RO pRO)
{
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(pRO.InvoiceBaseOid.Value);
var customer = ib.CostBearer2SupportConcept.SupportConcept.Customer;
int index = 2;
foreach (var at in customer.AbsenceTimes)
{
if (at.AbsenceReason.BillableMinutes.HasValue && at.AbsenceReason.BillableMinutes.Value > 0)
{
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index == 2)
{
row = tableRowKHAufenthalte;
}
else
{
row = tableCustomer.InsertRowBelow(tableCustomer.Rows[tableCustomer.Rows.Count - 3]);
}
String text = String.Format("{0:dd.MM.yyyy} - ", at.Start);
int? days = null;
if (at.End.HasValue)
{
days = (int)at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
text += String.Format("{0:dd.MM.yyyy} = {1:0.#} Tage", at.End, days);
}
else
{
text += "unbekannt";
}
row.Cells[1].Text = text;
index++;
}
}
}
}
}

View File

@@ -117,13 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrLabel6.Text" xml:space="preserve">
<value>Sehr geehrte Damen und Herren,
anbei sende ich Ihnen die unterschriebenen Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerFirstName] [CustomerLastName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus:
</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

@@ -21,13 +21,17 @@ namespace BeWo.Service.Plugins
{
public class ServiceRecordValidator : AbstractIDSpecificDefaultClass<ServiceRecordValidator>
{
private IList<ServiceRecord> _EmployeeRecords = null;
private AppSettings _AppSettings = null;
public virtual Dictionary<ServiceRecordDC, List<ServiceRecordValidationResult>> ValidateGroupServiceRecordEntry(ServiceRecordDC pServiceRecord, List<ServiceRecordDC> groupServiceRecords, List<CompactEmployeeDC> employees, DateTime? date, int maxDaysEditServiceRecordsAllowed, decimal flsTotalRounded, out Dictionary<long, string> overlappingRecords, out Dictionary<long, string> overlappingEmployees)
{
var result = new Dictionary<ServiceRecordDC, List<ServiceRecordValidationResult>>();
overlappingRecords = new Dictionary<long, string>();
overlappingEmployees = new Dictionary<long, string>();
long gid = pServiceRecord.GroupOid ?? -1;
_AppSettings = AppSettings.CreateSettings();
foreach (ServiceRecordDC groupRecord in groupServiceRecords)
{
@@ -163,12 +167,11 @@ namespace BeWo.Service.Plugins
try
{
// 5. Frist
var settings = AppSettings.CreateSettings();
if (settings.AnzTageZeiterfassErfolgt > 0)
if (_AppSettings.AnzTageZeiterfassErfolgt > 0)
{
var dt = new DateTime(date.Value.Year, date.Value.Month, 1);
dt = dt.AddDays(settings.AnzTageZeiterfassErfolgt);
dt = dt.AddDays(_AppSettings.AnzTageZeiterfassErfolgt);
if (DateTime.Now >= dt)
result.AddOrUpdateValueInDictionary(groupRecord, new List<ServiceRecordValidationResult> { ServiceRecordValidationResult.FristAbgelaufen });
}
@@ -212,7 +215,10 @@ namespace BeWo.Service.Plugins
return result;
}
if (!ValidateSignature(newServiceRecord))
_EmployeeRecords = null;
_AppSettings = AppSettings.CreateSettings();
if (!ValidateSignature(newServiceRecord))
{
result.Add(new ServiceRecordValidationResultDC
{
@@ -382,15 +388,19 @@ namespace BeWo.Service.Plugins
try
{
// 5. Frist
var settings = AppSettings.CreateSettings();
if (settings.AnzTageZeiterfassErfolgt > 0)
if (_AppSettings.AnzTageZeiterfassErfolgt > 0)
{
var dt = new DateTime(start.Year, start.Month, start.Day);
dt = dt.AddDays(settings.AnzTageZeiterfassErfolgt + 1);
dt = dt.AddDays(_AppSettings.AnzTageZeiterfassErfolgt + 1);
if (DateTime.Now >= dt)
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.FristAbgelaufen });
}
if (!cb2ScOid.HasValue && _AppSettings.ShowWorktime && _AppSettings.EnableArbeitszeiterfassung)
{
CheckArbeitszeitBedingungen(newServiceRecord, start, duration, result);
}
}
catch (Exception)
{
@@ -539,8 +549,81 @@ namespace BeWo.Service.Plugins
return result;
}
private void CheckArbeitszeitBedingungen(ServiceRecordDC newServiceRecord, DateTime start, decimal duration, List<ServiceRecordValidationResultDC> result)
{
if (!IstArbeitszeit(newServiceRecord.ServiceDescription.Category.Name, newServiceRecord.ServiceDescription.Name))
{
return;
}
public virtual ServiceRecordValidationResultDC CheckAbwesenheiten(ServiceRecordDC newServiceRecord, IList<ServiceRecord> allRecords, SupportConceptCostBearerRelDC reldc, decimal rd, bool isGroupRecord)
var empRecords = GetEmployeeServiceRecordsWithTimeForLastDay(newServiceRecord, start, newServiceRecord.Employee.EmployeeOid);
if (_AppSettings.EnableRestTimeWarning)
{
DateTime? letztesEnde = null;
foreach (var item in empRecords)
{
if (IstArbeitszeit(item.ServiceDescription.ServiceCategory.Name, item.ServiceDescription.Name) && item.End < newServiceRecord.Start)
{
if (item.End.HasValue)
{
if (letztesEnde == null || item.End > letztesEnde)
{
letztesEnde = item.End;
}
}
}
}
if (letztesEnde.HasValue)
{
//das letzte Ende muss mindestens 11 Stunden zurück liegen (gesetzliche Ruhezeit)
//Ist etwas schwierig zu prüfen, ob zwischen dem letzten Ende und dem neuen Start eine Ruhezeit oder nur eine Pause eingehalten wurde.
//Daher prüfe ich noch auf autom. Pausenabzug.
var diff = newServiceRecord.Start.Value.Subtract(letztesEnde.Value);
var stundenPause = diff.TotalMinutes / 60;
if (stundenPause < 11 && (_AppSettings.EnableAutomaticPauses || (stundenPause > 1 && newServiceRecord.Start.Value.Date == letztesEnde.Value.Date))) // Entweder auto. Pausenabzug und dann muss die Ruhezeit eingehalten werden oder max. 1 Stunde Pause am gleichen Tag)
{
String message = String.Format("Die eingegebene Startzeit muss mindestens 11 Stunden nach der letzten Beendigung liegen.\nMöchten Sie trotzdem speichern?");
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = message,
Allow = true
});
}
}
}
if (_AppSettings.MaxWorkTimeHoursBeforeWarning > 0)
{
if (duration > _AppSettings.MaxWorkTimeHoursBeforeWarning * 60 && IstArbeitszeit(newServiceRecord.ServiceDescription.Category.Name, newServiceRecord.ServiceDescription.Name))
{
String message = String.Format("Die eingegebene Dauer der Arbeitszeit überschreitet die maximal zulässige Zeit bevor eine Pause eingehalten werden muss.\nMöchten Sie trotzdem speichern?");
result.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = message,
Allow = true
});
}
}
}
public virtual bool IstArbeitszeit(String serviceCategory, String serviceDecription)
{
if (serviceCategory.StartsWith("Arbeitszeit") || serviceDecription.StartsWith("Arbeitszeit")) //Arbeitszeit und Arbeitszeiterfassung etc.
{
return true;
}
return false;
}
public virtual ServiceRecordValidationResultDC CheckAbwesenheiten(ServiceRecordDC newServiceRecord, IList<ServiceRecord> allRecords, SupportConceptCostBearerRelDC reldc, decimal rd, bool isGroupRecord)
{
if (reldc != null && newServiceRecord.ServiceDescription.Category.IsBillable)
@@ -844,24 +927,13 @@ namespace BeWo.Service.Plugins
return null;
}
public virtual ServiceRecordValidationResultDC CheckOverlappingEmployeeServiceRecords(ServiceRecordDC newServiceRecord, DateTime start, long employeeOid, decimal roundedDuration)
{
var span = new DateTimeSpan();
span.StartDate = start.Date.AddDays(-1);
span.EndDate = newServiceRecord.End.Value.Date.AddDays(1);
IList<ServiceRecord> empRecords = DAOFactory.SearchDAO.FindEmployeeServiceRecords(employeeOid, span, null, null);
if (newServiceRecord.ServiceRecordOid.HasValue)
{
empRecords = empRecords.Where(r => r.Oid != newServiceRecord.ServiceRecordOid.Value).ToList();
}
if (newServiceRecord.GroupOid.HasValue)
{
empRecords = empRecords.Where(r => !r.GroupOid.HasValue || r.GroupOid != newServiceRecord.GroupOid).ToList();
}
empRecords = empRecords.Where(r => r.Start.HasValue && r.Start.Value.Second == 0).ToList();
var empRecords = GetEmployeeServiceRecordsWithTimeForLastDay(newServiceRecord, start, employeeOid);
String[] ignoreNames = GetIgnoreCategoriesForOverlappingCheck();
if (ignoreNames != null)
@@ -932,19 +1004,48 @@ namespace BeWo.Service.Plugins
}
return null;
}
public virtual String[] GetIgnoreCategoriesForOverlappingCheck()
public virtual IList<ServiceRecord> GetEmployeeServiceRecordsWithTimeForLastDay(ServiceRecordDC newServiceRecord, DateTime start, long employeeOid)
{
if (_EmployeeRecords == null)
{
//Liefere alle ServiceRecords (außer dem zu ändernden) die eine Uhrzeit haben)
var span = new DateTimeSpan();
span.StartDate = start.Date.AddDays(-1);
span.EndDate = newServiceRecord.End.Value.Date.AddDays(1);
IList<ServiceRecord> empRecords = DAOFactory.SearchDAO.FindEmployeeServiceRecords(employeeOid, span, null, null);
if (newServiceRecord.ServiceRecordOid.HasValue)
{
empRecords = empRecords.Where(r => r.Oid != newServiceRecord.ServiceRecordOid.Value).ToList();
}
if (newServiceRecord.GroupOid.HasValue)
{
empRecords = empRecords.Where(r => !r.GroupOid.HasValue || r.GroupOid != newServiceRecord.GroupOid).ToList();
}
_EmployeeRecords = empRecords.Where(r => r.Start.HasValue && r.Start.Value.Second == 0).ToList();
}
return _EmployeeRecords;
}
public virtual String[] GetIgnoreCategoriesForOverlappingCheck()
{
return null;
}
if (_AppSettings.ShowWorktime && _AppSettings.EnableArbeitszeiterfassung)
{
return new[] { "Arbeitszeit", "Arbeitszeiterfassung" };
}
return null;
}
public virtual String[] GetIgnoreServiceDescriptionsForOverlappingCheck()
{
return null;
}
if (_AppSettings.ShowWorktime && _AppSettings.EnableArbeitszeiterfassung)
{
return new[] { "Arbeitszeit", "Arbeitszeiterfassung" };
}
return null;
}
public SupportConceptPeriodStatisticsDC GetStatisticsForServiceRecord(SupportConceptStatisticsDC statistics, ServiceRecordDC newServiceRecord)
public SupportConceptPeriodStatisticsDC GetStatisticsForServiceRecord(SupportConceptStatisticsDC statistics, ServiceRecordDC newServiceRecord)
{
if (statistics != null && statistics.PeriodStatistics.Count > 0)
{

View File

@@ -358,6 +358,8 @@ namespace BeWo.Service.Plugins
return new DateTime(year, 3, 31);
}
//Faktor bestimmt zu welchem Anteil der übergebene Tag als Feiertag gewertet wird. 1 = ganzer Feiertag, 0 = kein Feiertag.
//Kann verwendet werden um z.B. halbe Feiertage zu definieren. Dann kann in abgeleiteter Klasse 0.5 zurückgegeben werden
public virtual decimal GetFeiertagsFaktor(DateTime start)
{
if (IstFeiertag(start))
@@ -646,10 +648,8 @@ namespace BeWo.Service.Plugins
if (spanne.Start.Value.Date == spanne.End.Value.Date && spanne.Start.Value.TimeOfDay == spanne.End.Value.TimeOfDay) // ein ganzer Tag Urlaub
{
if (GetFeiertagsFaktor(spanne.Start.Value) == 0)
summeTage++;
else
summeTage += GetFeiertagsFaktor(spanne.Start.Value);
var ff = GetFeiertagsFaktor(spanne.Start.Value);
summeTage += (1 - ff);
}
else if (spanne.Start.Value.Date == spanne.End.Value.Date && spanne.Start.Value.TimeOfDay != spanne.End.Value.TimeOfDay) // ein halber Tag Urlaub
summeTage += 0.5m;
@@ -671,23 +671,21 @@ namespace BeWo.Service.Plugins
var currentContract = contractsAndWeeklyDays.FirstOrDefault(c => startForLoop >= c.Key.EntryDate && startForLoop <= c.Key.ContractEndDate || startForLoop >= c.Key.EntryDate && c.Key.ContractEndDate == null);
if (currentContract.Key == null)
{
if (startForLoop.DayOfWeek != DayOfWeek.Saturday && startForLoop.DayOfWeek != DayOfWeek.Sunday && !_Feiertage.Contains(startForLoop))
summeTage++;
else if (startForLoop.DayOfWeek != DayOfWeek.Saturday && startForLoop.DayOfWeek != DayOfWeek.Sunday && GetFeiertagsFaktor(startForLoop) != 0)
summeTage += GetFeiertagsFaktor(startForLoop);
if (startForLoop.DayOfWeek != DayOfWeek.Saturday && startForLoop.DayOfWeek != DayOfWeek.Sunday)
{
var ff = GetFeiertagsFaktor(startForLoop);
summeTage += (1 - ff);
}
}
else
{
if (!CheckIstWochenende(currentContract.Value, startForLoop.DayOfWeek) && !IstFeiertag(startForLoop) && tageInDerWoche < currentContract.Value)
if (!CheckIstWochenende(currentContract.Value, startForLoop.DayOfWeek) && tageInDerWoche < currentContract.Value)
{
summeTage++;
tageInDerWoche++;
}
else if (!CheckIstWochenende(currentContract.Value, startForLoop.DayOfWeek) && tageInDerWoche < currentContract.Value && GetFeiertagsFaktor(startForLoop) != 0)
{
summeTage += GetFeiertagsFaktor(startForLoop);
var ff = GetFeiertagsFaktor(startForLoop);
summeTage += (1 - ff);
tageInDerWoche++;
}
}
@@ -712,7 +710,7 @@ namespace BeWo.Service.Plugins
if (!feiertage.Any(f => f.Datum == spanne.Start.Value.Date))
summeTage++;
else
summeTage += GetFeiertagsFaktor(spanne.Start.Value);
summeTage += (1 - GetFeiertagsFaktor(spanne.Start.Value));
}
else if (spanne.Start.Value.Date == spanne.End.Value.Date && spanne.Start.Value.TimeOfDay != spanne.End.Value.TimeOfDay &&
az.Eintraege.Any(e => e.DayOfWeek == spanne.Start.Value.DayOfWeek) && !feiertage.Any(f => f.Datum == spanne.Start.Value.Date)) // ein halber Tag Urlaub
@@ -734,7 +732,7 @@ namespace BeWo.Service.Plugins
if (!feiertage.Any(f => f.Datum == startForLoop.Date))
summeTage++;
else
summeTage += GetFeiertagsFaktor(startForLoop.Date);
summeTage += (1 - GetFeiertagsFaktor(startForLoop.Date));
}
if (startForLoop.DayOfWeek == DayOfWeek.Monday)