Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo
# Conflicts: # Service/Plugins/PluginLoader.cs
This commit is contained in:
@@ -5034,15 +5034,6 @@ namespace BeWo.ServiceProxy
|
||||
public interface IOperationsService
|
||||
{
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConcept", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomer", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployee", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForEmployee();
|
||||
@@ -5293,7 +5284,7 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllDienste", ReplyAction="http://tempuri.org/IOperationsService/GetAllDiensteResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllDiensteBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.DienstInfoDC> GetAllDienste();
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.DienstInfoDC> GetAllDienste(System.Nullable<long> wOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetBemerkungForDienstEintrag", ReplyAction="http://tempuri.org/IOperationsService/GetBemerkungForDienstEintragResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetBemerkungForDienstEintragBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
@@ -5434,11 +5425,6 @@ namespace BeWo.ServiceProxy
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
void DeleteCertainDienstEintragOutOfTable(long dienstEintragOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAbsenceTimeVacationByWohnheim", ReplyAction="http://tempuri.org/IOperationsService/GetAbsenceTimeVacationByWohnheimResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAbsenceTimeVacationByWohnheimBeWoFaultFa" +
|
||||
"ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetAbsenceTimeVacationByWohnheim(long wohnId, int year, int month);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIds", ReplyAction="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids);
|
||||
@@ -5488,6 +5474,15 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertTemplateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.DokumentvorlageDC InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConcept", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomer", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CreateNewChatMessagesDC", ReplyAction="http://tempuri.org/IOperationsService/CreateNewChatMessagesDCResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/CreateNewChatMessagesDCBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.Shared.DataContracts.ChatMessageDC CreateNewChatMessagesDC(long senderOid, long empfängerOid, string message, bool isDeliverd, long teamid, string messageid);
|
||||
@@ -6388,16 +6383,6 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForSupportConcept();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForCustomer();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForEmployee()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForEmployee();
|
||||
@@ -6658,9 +6643,9 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetSupportConceptCostBearerRelDCsByOids(supportConcept2CostbearerOids);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.DienstInfoDC> GetAllDienste()
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.DienstInfoDC> GetAllDienste(System.Nullable<long> wOid)
|
||||
{
|
||||
return base.Channel.GetAllDienste();
|
||||
return base.Channel.GetAllDienste(wOid);
|
||||
}
|
||||
|
||||
public string GetBemerkungForDienstEintrag(long empId, long wohnId, int zeile, System.DateTime date)
|
||||
@@ -6818,11 +6803,6 @@ namespace BeWo.ServiceProxy
|
||||
base.Channel.DeleteCertainDienstEintragOutOfTable(dienstEintragOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetAbsenceTimeVacationByWohnheim(long wohnId, int year, int month)
|
||||
{
|
||||
return base.Channel.GetAbsenceTimeVacationByWohnheim(wohnId, year, month);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids)
|
||||
{
|
||||
return base.Channel.GetServiceRecordsByIds(serviceRecordOids);
|
||||
@@ -6873,6 +6853,16 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.InsertTemplate(dc);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForSupportConcept();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer()
|
||||
{
|
||||
return base.Channel.GetPlatzhalterForCustomer();
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.ChatMessageDC CreateNewChatMessagesDC(long senderOid, long empfängerOid, string message, bool isDeliverd, long teamid, string messageid)
|
||||
{
|
||||
return base.Channel.CreateNewChatMessagesDC(senderOid, empfängerOid, message, isDeliverd, teamid, messageid);
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace BeWo.View.Controls
|
||||
|
||||
if (c != null && info != null)
|
||||
{
|
||||
if(info.StatusInformation == null)
|
||||
if (info.StatusInformation == null)
|
||||
{
|
||||
var dc = info.DienstInfoDC;
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace BeWo.View.Controls
|
||||
c.Path_Notice.Visibility = info.MarkierungBenoetigt ? Visibility.Visible : Visibility.Collapsed;
|
||||
|
||||
c.Border = new Thickness(0, 0, Convert.ToDouble(right), Convert.ToDouble(bottom));
|
||||
|
||||
|
||||
if (!info.IsInContractRange)
|
||||
{
|
||||
c.Background = Brushes.Gray;
|
||||
@@ -51,11 +51,27 @@ namespace BeWo.View.Controls
|
||||
c.Text = string.Empty;
|
||||
c.ToolTip = "Kein gültiger Arbeitsvertrag";
|
||||
}
|
||||
else if (info.Reason != null && !info.IsFeiertag /*&& info.DayOfWeek != DayOfWeek.Saturday && info.DayOfWeek != DayOfWeek.Sunday*/)
|
||||
else if (info.AbsenceTime != null && info.Feiertag == null)
|
||||
{
|
||||
string additionToTooltip = "";
|
||||
var start = info.AbsenceTime.Start.Value;
|
||||
var end = info.AbsenceTime.End.Value;
|
||||
var startArray = start.ToString().Split(' ');
|
||||
var endArray = end.ToString().Split(' ');
|
||||
|
||||
if (start.Date == end.Date)
|
||||
{
|
||||
if (start.TimeOfDay == end.TimeOfDay)
|
||||
additionToTooltip = " (ganzer Tag)";
|
||||
else
|
||||
additionToTooltip = " (halber Tag)";
|
||||
}
|
||||
else
|
||||
additionToTooltip = string.Format(" ({0} - {1})", startArray[0], endArray[0]);
|
||||
|
||||
c.Foreground = Brushes.Red;
|
||||
c.Text = $"{info.Reason.Description[0]}";
|
||||
c.ToolTip = $"{info.Reason.Description}";
|
||||
c.Text = $"{info.AbsenceTime.Reason.Description[0]}";
|
||||
c.ToolTip = $"{info.AbsenceTime.Reason.Description}" + additionToTooltip;
|
||||
|
||||
if (info.DayOfWeek == DayOfWeek.Saturday || info.DayOfWeek == DayOfWeek.Sunday)
|
||||
c.Background = new SolidColorBrush(ColorExtensions.FromHexString("EFEFEF"));
|
||||
@@ -63,14 +79,19 @@ namespace BeWo.View.Controls
|
||||
c.Background = Brushes.White;
|
||||
|
||||
}
|
||||
else if (dc != null)
|
||||
else if (info.OverTime != null)
|
||||
{
|
||||
var bg = string.IsNullOrEmpty(dc.Farbe) ? Brushes.White : (SolidColorBrush)new BrushConverter().ConvertFrom(dc.Farbe);
|
||||
var grey = 0.2989 * bg.Color.R + 0.5870 * bg.Color.G + 0.1140 * bg.Color.B;
|
||||
c.Foreground = Brushes.Red;
|
||||
c.Text = "ÜS";
|
||||
c.ToolTip = (dc == null) ? string.Format("Überstunden:\t{0:0.00}\nAuszahlung:\t{1}\nBemerkung:\t{2}",
|
||||
info.OverTime.Betrag, info.OverTime.Auszahlungsart.Name, info.OverTime.Notice) : null;
|
||||
|
||||
c.Background = bg;
|
||||
c.Foreground = grey < 70 ? Brushes.White : Brushes.Black;
|
||||
c.ToolTip = new DPCtrlDienstTooltip(dc, info.Bemerkung, info.Zeiten);
|
||||
if (info.DayOfWeek == DayOfWeek.Saturday || info.DayOfWeek == DayOfWeek.Sunday)
|
||||
c.Background = new SolidColorBrush(ColorExtensions.FromHexString("EFEFEF"));
|
||||
else if (dc != null)
|
||||
c.Background = (SolidColorBrush)new BrushConverter().ConvertFrom(dc.Farbe);
|
||||
else
|
||||
c.Background = Brushes.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -87,11 +108,20 @@ namespace BeWo.View.Controls
|
||||
c.BorderThickness = new Thickness(0, 0, 0, 0);
|
||||
c.BorderBrush = Brushes.Transparent;
|
||||
}
|
||||
var bg = string.IsNullOrEmpty(dc.Farbe) ? Brushes.White : (SolidColorBrush)new BrushConverter().ConvertFrom(dc.Farbe);
|
||||
var grey = 0.2989 * bg.Color.R + 0.5870 * bg.Color.G + 0.1140 * bg.Color.B;
|
||||
|
||||
c.Background = bg;
|
||||
if (info.OverTime == null && info.AbsenceTime == null)
|
||||
c.Foreground = grey < 70 ? Brushes.White : Brushes.Black;
|
||||
else
|
||||
c.Foreground = Brushes.Red;
|
||||
|
||||
|
||||
c.ToolTip = new DPCtrlDienstTooltip(dc, info.Bemerkung, info.Zeiten, info.OverTime, info.AbsenceTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (info.MarkierungBenoetigt)
|
||||
Debug.WriteLine("Funktioniert falsch");
|
||||
c.Path_Notice.Visibility = Visibility.Collapsed;
|
||||
c.BorderThickness = new Thickness(0, 0, 0, 0);
|
||||
c.BorderBrush = Brushes.Transparent;
|
||||
@@ -127,10 +157,10 @@ namespace BeWo.View.Controls
|
||||
}
|
||||
}
|
||||
|
||||
if (info.IsFeiertag)
|
||||
if (info.Feiertag != null)
|
||||
{
|
||||
c.Background = Brushes.LightPink;
|
||||
c.ToolTip = "Gesetzl. Feiertag";
|
||||
c.ToolTip = info.Feiertag.Name + " (gesetzl. Feiertag)";
|
||||
}
|
||||
}
|
||||
}));
|
||||
@@ -185,7 +215,8 @@ namespace BeWo.View.Controls
|
||||
public class DPCtrlDayInformation
|
||||
{
|
||||
public DienstInfoDC DienstInfoDC { get; set; }
|
||||
public AbsenceReasonDC Reason { get; set; }
|
||||
public AbsenceTimeDC AbsenceTime { get; set; }
|
||||
public OvertimeDC OverTime { get; set; }
|
||||
public bool IsInContractRange { get; set; }
|
||||
public bool IsLastRow { get; set; }
|
||||
public bool IsLastColumn { get; set; }
|
||||
@@ -193,7 +224,7 @@ namespace BeWo.View.Controls
|
||||
public StatusInformation StatusInformation { get; set; }
|
||||
public string Bemerkung { get; set; }
|
||||
public string[] Zeiten { get; set; }
|
||||
public bool IsFeiertag { get; set; }
|
||||
public FeiertagDC Feiertag { get; set; }
|
||||
public bool MarkierungBenoetigt { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -13,13 +13,20 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Dienst:"/>
|
||||
<TextBlock Grid.Row="2" Grid.Column="0" Text="Start:"/>
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Text="Pausendauer:"/>
|
||||
<TextBlock Grid.Row="3" Grid.Column="0" Text="Ende:"/>
|
||||
|
||||
<TextBlock Grid.Row="6" Grid.Column="0" Text="Bemerkung:"/>
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Text="Pausendauer:"/>
|
||||
<TextBlock Grid.Row="6" Grid.Column="0" Text="Bemerkung:"/>
|
||||
<TextBlock x:Name="lblUeberstunden" Grid.Row="8" Grid.Column="0" Text="Überstunden:" Visibility="Collapsed" />
|
||||
<TextBlock x:Name="lblAuszahlungsart" Grid.Row="9" Grid.Column="0" Text="Auszahlung:" Visibility="Collapsed" />
|
||||
<TextBlock x:Name="lblUrlaub" Grid.Row="11" Grid.Column="0" Text="Urlaub:" Visibility="Collapsed" />
|
||||
|
||||
<Separator Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3"/>
|
||||
|
||||
@@ -28,10 +35,15 @@
|
||||
<TextBlock Grid.Row="4" Grid.Column="2" x:Name="TxtPausendauer"/>
|
||||
<TextBlock Grid.Row="3" Grid.Column="2" x:Name="TxtEnde"/>
|
||||
<TextBlock Grid.Row="6" Grid.Column="2" x:Name="TxtBemerkung" MaxWidth="275" TextWrapping="Wrap"/>
|
||||
<TextBlock Grid.Row="8" Grid.Column="2" x:Name="TxtUeberstunden" Visibility="Collapsed" />
|
||||
<TextBlock Grid.Row="9" Grid.Column="2" x:Name="TxtAuszahlungsart" Visibility="Collapsed" />
|
||||
<TextBlock Grid.Row="11" Grid.Column="2" x:Name="TxtUrlaub" Visibility="Collapsed" />
|
||||
|
||||
<Separator Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="3"/>
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
<Separator Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="3"/>
|
||||
|
||||
<Separator x:Name="sepUeberstunden" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" Visibility="Collapsed"/>
|
||||
<Separator x:Name="sepUrlaub" Grid.Row="10" Grid.Column="0" Grid.ColumnSpan="3" Visibility="Collapsed"/>
|
||||
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -16,7 +16,7 @@ namespace BeWo.View.Controls
|
||||
/// </summary>
|
||||
public partial class DPCtrlDienstTooltip : UserControl
|
||||
{
|
||||
public DPCtrlDienstTooltip(DienstInfoDC dienst, string bemerkung, string[] zeiten)
|
||||
public DPCtrlDienstTooltip(DienstInfoDC dienst, string bemerkung, string[] zeiten, OvertimeDC overtime, AbsenceTimeDC absence)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -27,6 +27,42 @@ namespace BeWo.View.Controls
|
||||
TxtStart.Text = zeiten[0];
|
||||
TxtStart.Foreground = dienst.Start.ToString("HH:mm").Equals(zeiten[0]) ? TxtDienst.Foreground : Brushes.CornflowerBlue;
|
||||
TxtBemerkung.Text = bemerkung;
|
||||
|
||||
if (overtime != null)
|
||||
{
|
||||
TxtUeberstunden.Text = string.Format("{0:0.00}", overtime.Betrag);
|
||||
TxtAuszahlungsart.Text = overtime.Auszahlungsart.Name;
|
||||
|
||||
TxtUeberstunden.Visibility = Visibility.Visible;
|
||||
TxtAuszahlungsart.Visibility = Visibility.Visible;
|
||||
lblUeberstunden.Visibility = Visibility.Visible;
|
||||
lblAuszahlungsart.Visibility = Visibility.Visible;
|
||||
sepUeberstunden.Visibility = Visibility.Visible;
|
||||
}
|
||||
if (absence != null)
|
||||
{
|
||||
string tooltipString = "";
|
||||
var start = absence.Start.Value;
|
||||
var end = absence.End.Value;
|
||||
var startArray = start.ToString().Split(' ');
|
||||
var endArray = end.ToString().Split(' ');
|
||||
|
||||
if (start.Date == end.Date)
|
||||
{
|
||||
if (start.TimeOfDay == end.TimeOfDay)
|
||||
tooltipString = "ganzer Tag";
|
||||
else
|
||||
tooltipString = "halber Tag";
|
||||
}
|
||||
else
|
||||
tooltipString = string.Format("{0} - {1}", startArray[0], endArray[0]);
|
||||
|
||||
TxtUrlaub.Text = tooltipString;
|
||||
|
||||
lblUrlaub.Visibility = Visibility.Visible;
|
||||
TxtUrlaub.Visibility = Visibility.Visible;
|
||||
sepUrlaub.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,7 @@ namespace BeWo.View.Controls
|
||||
|
||||
if(information.Row == 0 && !information.Statuszeile)
|
||||
{
|
||||
ctrl.Text = string.Format("{0:0}", information.SummeTage);
|
||||
ctrl.Text = string.Format("{0:0.00}", information.SummeTage);
|
||||
ctrl.ToolTip = "Abwesenheiten an Wochenend- und Feiertagen werden nicht mitgezählt.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,26 @@
|
||||
<UserControl x:Class="BeWo.View.Controls.DienstplanerControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Grid>
|
||||
<Border x:Name="boLight" IsHitTestVisible="True" Background="White" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0 0 1 1" BorderBrush="#FFBFBFBF" />
|
||||
<Border x:Name="bo" IsHitTestVisible="True" Background="Transparent" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0 0 0 0" BorderBrush="#FF000000" />
|
||||
<Border x:Name="bo" IsHitTestVisible="True" Background="Transparent" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0 0 0 0" BorderBrush="#FF000000" >
|
||||
<Rectangle x:Name="Path_Notice" Visibility="Collapsed" Fill="Black" Margin="15,-50,-8,-15" RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
<SkewTransform/>
|
||||
<RotateTransform Angle="-45"/>
|
||||
<TranslateTransform/>
|
||||
</TransformGroup>
|
||||
</Rectangle.RenderTransform>
|
||||
</Rectangle>
|
||||
</Border>
|
||||
<TextBlock Name="txt" FontSize="15" Margin="3" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
||||
<Path
|
||||
<!--<Path
|
||||
x:Name="Path_Notice"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="DarkOrange"
|
||||
Fill="Black"
|
||||
Data="M 22,1 L 27,1 L 27,5" Margin="21.031,0,0.804,20.416" Stretch="Fill" Width="6" Height="6"
|
||||
Visibility="Collapsed"
|
||||
/>
|
||||
/>-->
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -46,6 +46,7 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
@@ -67,6 +68,8 @@
|
||||
</Style>
|
||||
</ComboBox.ItemContainerStyle>
|
||||
</ComboBox>
|
||||
<ComboBox x:Name="_WohnheimeCombobox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="5" Height="23" Margin="3" ItemsSource="{Binding Path=AllWohnheime, Mode=OneWay}" Width="200">
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
<!--Zweite Zeile-->
|
||||
<Grid Grid.Column="0" Grid.Row="1">
|
||||
@@ -131,7 +134,19 @@
|
||||
</dxg:GridColumn.DisplayTemplate>
|
||||
<dxg:GridColumn.EditTemplate>
|
||||
<ControlTemplate>
|
||||
<Button x:Name="Part_Editor" BorderThickness="0" Style="{x:Null}" Background="{Binding EditValue}" Foreground="{Binding EditValue}" Height="21" HorizontalAlignment="Stretch" Click="Part_Editor_Click"></Button>
|
||||
<Button x:Name="Part_Editor" BorderThickness="0" Style="{x:Null}" Background="{Binding EditValue}" Foreground="{Binding EditValue}" Height="21" HorizontalAlignment="Stretch" Click="Part_Editor_Click" />
|
||||
</ControlTemplate>
|
||||
</dxg:GridColumn.EditTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn x:Name="_ColumnWohnheim" FieldName="Wohnheim" Header="Wohnheim" Width="100">
|
||||
<dxg:GridColumn.DisplayTemplate>
|
||||
<ControlTemplate>
|
||||
<Label Content="{Binding Value}" />
|
||||
</ControlTemplate>
|
||||
</dxg:GridColumn.DisplayTemplate>
|
||||
<dxg:GridColumn.EditTemplate>
|
||||
<ControlTemplate>
|
||||
<Button x:Name="Button_WohnheimPicker" BorderThickness="0" Style="{x:Null}" Height="21" HorizontalAlignment="Stretch" Click="Button_WohnheimPicker_Click" />
|
||||
</ControlTemplate>
|
||||
</dxg:GridColumn.EditTemplate>
|
||||
</dxg:GridColumn>
|
||||
@@ -155,6 +170,10 @@
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
</Popup>
|
||||
<Popup x:Name="_PopupWohnheimPicker" StaysOpen="false" Placement="MousePoint" Width="200">
|
||||
<ComboBox x:Name="_Combobox_Wohnheimpicker" BorderThickness="0" Loaded="Listbox_Wohnheimpicker_Loaded" SelectionChanged="Combobox_Wohnheimpicker_SelectionChanged" Height="20"/>
|
||||
|
||||
</Popup>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</localView:BeWoView>
|
||||
@@ -16,16 +16,20 @@ using DevExpress.Xpf.Editors.Settings;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using DevExpress.Xpf.Editors;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
{
|
||||
public partial class DienstView : BeWoView
|
||||
{
|
||||
private DienstInfoListVM _ViewModel;
|
||||
private List<CompactWohnheimDC> WohnheimListe;
|
||||
|
||||
public DienstView(DienstInfoListVM listVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
WohnheimListe = ServiceFacade.DoCustomerServiceSync(x => x.GetAllActiveWohnheimeCompact());
|
||||
_FarbeComboBox.ItemTemplateSelector = new ComboBoxTemplateSelector(_FarbeComboBox);
|
||||
ViewModel = listVM;
|
||||
}
|
||||
@@ -84,6 +88,9 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
if (ViewModel.NewVM.StartDT.Year != 2000)
|
||||
ViewModel.NewVM.StartDT = new DateTime(2000, 1, 1, ViewModel.NewVM.StartDT.Hour, ViewModel.NewVM.StartDT.Minute, ViewModel.NewVM.StartDT.Second);
|
||||
var wh = _WohnheimeCombobox.SelectedItem as CompactWohnheimDC;
|
||||
if (wh.WohnheimOid != -1)
|
||||
ViewModel.NewVM.Wohnheim = ServiceFacade.DoCustomerServiceSync(s => s.LoadWohnheim(wh.WohnheimOid));
|
||||
ViewModel.AddNewVMToList();
|
||||
}
|
||||
}
|
||||
@@ -133,5 +140,73 @@ namespace BeWo.View.Detail
|
||||
_PopupColorPicker.IsOpen = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void Listbox_Wohnheimpicker_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
((ComboBox)sender).ItemsSource = ViewModel.AllWohnheime;
|
||||
|
||||
}
|
||||
|
||||
private void Button_WohnheimPicker_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var itemssource = _Combobox_Wohnheimpicker.ItemsSource as List<CompactWohnheimDC>;
|
||||
_PopupWohnheimPicker.IsOpen = true;
|
||||
_Combobox_Wohnheimpicker.IsDropDownOpen = true;
|
||||
|
||||
var dienst = GetSelectedDienst();
|
||||
if (dienst != null)
|
||||
{
|
||||
foreach (var item in itemssource)
|
||||
{
|
||||
if (dienst.Wohnheim != null)
|
||||
{
|
||||
if (item.WohnheimOid == dienst.Wohnheim.WohnheimOid.Value)
|
||||
{
|
||||
_Combobox_Wohnheimpicker.SelectedItem = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
_Combobox_Wohnheimpicker.SelectedItem = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void Combobox_Wohnheimpicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
var selection = _Combobox_Wohnheimpicker.SelectedItem as CompactWohnheimDC;
|
||||
if (selection != null)
|
||||
{
|
||||
var vm = GetSelectedDienst();
|
||||
if (vm != null)
|
||||
{
|
||||
if (selection.WohnheimOid != -1)
|
||||
{
|
||||
var dc = ServiceFacade.DoCustomerServiceSync(s => s.LoadWohnheim(selection.WohnheimOid));
|
||||
vm.Wohnheim = dc;
|
||||
}
|
||||
else
|
||||
vm.Wohnheim = null;
|
||||
}
|
||||
}
|
||||
|
||||
_PopupWohnheimPicker.IsOpen = false;
|
||||
}
|
||||
private DienstInfoVM GetSelectedDienst()
|
||||
{
|
||||
DienstInfoVM vm = null;
|
||||
|
||||
DataViewBase view = _GridControl.View;
|
||||
RowData data = view.FocusedRowData;
|
||||
|
||||
if (data != null && data.RowHandle != null)
|
||||
{
|
||||
int rowHandle = data.RowHandle.Value;
|
||||
vm = _GridControl.GetRow(rowHandle) as DienstInfoVM;
|
||||
}
|
||||
|
||||
return vm;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ namespace BeWo.View.Detail.Report
|
||||
private GridColumn _ColumnKrankheit;
|
||||
|
||||
private Dictionary<long, List<AbsenceTimeDC>> _AbsenceTimesDict;
|
||||
private Dictionary<long, List<OvertimeDC>> _OverTimesDict;
|
||||
|
||||
private CompactWohnheimDC _AuswahlWohnheim;
|
||||
private DienstZeileDC _AuswahlDienstZeileDC;
|
||||
private DateTime _AuswahlMonat;
|
||||
@@ -93,28 +95,68 @@ namespace BeWo.View.Detail.Report
|
||||
#region Loading
|
||||
private void InitGridControl(bool includeRoot)
|
||||
{
|
||||
if(includeRoot)
|
||||
if (includeRoot)
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.BuildDienstplanerRootObject(_AuswahlMonat, _AuswahlWohnheim.WohnheimOid), CallbackFunktion);
|
||||
else
|
||||
InitRefresh();
|
||||
|
||||
#region outdated
|
||||
//if(includeRoot)
|
||||
//{
|
||||
// // Daten für den Plan erstellen
|
||||
// _DienstplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildDienstplanerRootObject(_AuswahlMonat, _AuswahlWohnheim.WohnheimOid));
|
||||
|
||||
// // Erste Zeile für den Status erstellen
|
||||
// _DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
// _DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
|
||||
|
||||
// // Wenn es regelmäßige Dienste gibt, werden diese hinzugefügt
|
||||
// foreach (var rd in _DienstplanerRootObj.RegelmaessigeDienste)
|
||||
// AddRegelmaessigeDiensteToDienstplaner(rd);
|
||||
//}
|
||||
|
||||
//// Zeilen für jeden Mitarbeiter erstellen
|
||||
//RefreshDienste();
|
||||
//// Spalten erstellen
|
||||
//BuildGridControlColumnDays(AuswahlMonat.Year, AuswahlMonat.Month, 1);
|
||||
//RefreshGrid();
|
||||
//ShowGrid();
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void CallbackFunktion(DienstplanerRootDC root)
|
||||
{
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
// Daten für den Plan erstellen
|
||||
_DienstplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildDienstplanerRootObject(_AuswahlMonat, _AuswahlWohnheim.WohnheimOid));
|
||||
_DienstplanerRootObj = root;
|
||||
|
||||
// Erste Zeile für den Status erstellen
|
||||
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
|
||||
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
|
||||
|
||||
// Wenn es regelmäßige Dienste gibt, werden diese hinzugefügt
|
||||
foreach (var rd in _DienstplanerRootObj.RegelmaessigeDienste)
|
||||
AddRegelmaessigeDiensteToDienstplaner(rd);
|
||||
}
|
||||
|
||||
InitRefresh();
|
||||
});
|
||||
|
||||
}
|
||||
private void InitRefresh()
|
||||
{
|
||||
// Zeilen für jeden Mitarbeiter erstellen
|
||||
RefreshDienste();
|
||||
// Spalten erstellen
|
||||
RefreshDienste();
|
||||
// Spalten erstellen
|
||||
BuildGridControlColumnDays(AuswahlMonat.Year, AuswahlMonat.Month, 1);
|
||||
RefreshGrid();
|
||||
ShowGrid();
|
||||
}
|
||||
|
||||
// Buttons zum Bearbeiten des Dienstplans freischalten
|
||||
button_mehrereDienste.Visibility = Visibility.Visible;
|
||||
button_neuerMitarbeiter.Visibility = Visibility.Visible;
|
||||
_BtnRemoveAllDiensteForMonth.Visibility = Visibility.Visible;
|
||||
textblock_link_pdfexport.Visibility = Visibility.Visible;
|
||||
}
|
||||
private void RefreshGrid()
|
||||
{
|
||||
var days = DateTime.DaysInMonth(_AuswahlMonat.Year, _AuswahlMonat.Month);
|
||||
@@ -383,8 +425,8 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
_ColumnSaldo = NewGridColumnUnbound("Saldo", "saldo", "SA:", 55, 40, DevExpress.Data.UnboundColumnType.Object, saldoControlTemplate, DevExpress.Utils.DefaultBoolean.True);
|
||||
|
||||
_ColumnUrlaub = NewGridColumnUnbound("U", "urlaub", "UR:", 28, 28, DevExpress.Data.UnboundColumnType.Object, urlaubKrankheitControlTemplate, DevExpress.Utils.DefaultBoolean.True);
|
||||
_ColumnKrankheit = NewGridColumnUnbound("K", "krank", "KR:", 28, 28, DevExpress.Data.UnboundColumnType.Object, urlaubKrankheitControlTemplate, DevExpress.Utils.DefaultBoolean.True);
|
||||
_ColumnUrlaub = NewGridColumnUnbound("U", "urlaub", "UR:", 50, 40, DevExpress.Data.UnboundColumnType.Object, urlaubKrankheitControlTemplate, DevExpress.Utils.DefaultBoolean.True);
|
||||
_ColumnKrankheit = NewGridColumnUnbound("K", "krank", "KR:", 50, 40, DevExpress.Data.UnboundColumnType.Object, urlaubKrankheitControlTemplate, DevExpress.Utils.DefaultBoolean.True);
|
||||
|
||||
|
||||
_ColumnDays = new List<GridColumn>();
|
||||
@@ -456,12 +498,6 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
// InitGridControl holt alle Daten vom Server
|
||||
InitGridControl(true);
|
||||
|
||||
// Buttons zum Bearbeiten des Dienstplans freischalten
|
||||
button_mehrereDienste.Visibility = Visibility.Visible;
|
||||
button_neuerMitarbeiter.Visibility = Visibility.Visible;
|
||||
_BtnRemoveAllDiensteForMonth.Visibility = Visibility.Visible;
|
||||
textblock_link_pdfexport.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
// PopUp zum Auswählen eines neuen Mitarbeiters als Vertretung öffnen
|
||||
@@ -473,6 +509,7 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
combobox_mitarbeiter.ItemsSource = mitarbeiterMitVertrag.OrderBy(m => m.LastName);
|
||||
}
|
||||
|
||||
// Mitarbeiter für das obige PopUp raussuchen
|
||||
private List<EmployeeDC> GetEmployeeForCombobox()
|
||||
{
|
||||
@@ -584,6 +621,12 @@ namespace BeWo.View.Detail.Report
|
||||
var mitarbeiter = combobox_mehrereDienste_mitarbeiter.SelectedItem as EmployeeDC;
|
||||
var auswahlKalender = _CalenderControl.SelectedDates;
|
||||
|
||||
if (mitarbeiter == null)
|
||||
{
|
||||
MessageBox.Show("Bitte wählen Sie einen Mitarbeiter aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var datum in auswahlKalender)
|
||||
{
|
||||
var start = new DateTime(2000, 1, 1, Convert.ToInt32(startString[0]), Convert.ToInt32(startString[1]), 0);
|
||||
@@ -593,7 +636,8 @@ namespace BeWo.View.Detail.Report
|
||||
InsertEintragOderVertretung(mehrereDienste_textbox_startzeit.Text, mehrereDienste_textbox_endzeit.Text, dauerInStunden, mitarbeiter,
|
||||
datum, dienst, 0, null);
|
||||
}
|
||||
|
||||
|
||||
popUp_mehrereDienste.IsOpen = false;
|
||||
}
|
||||
|
||||
private void InsertEintragOderVertretung(string start, string ende, double dauerInStunden, EmployeeDC mitarbeiter, DateTime datum, DienstInfoDC dienst, int zeile, string notice)
|
||||
@@ -611,7 +655,7 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
stundenFuerSaldo += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
|
||||
var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, datum.Day); //abc
|
||||
//var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, datum.Day); //abc
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.DeleteDienstEintrag(mitarbeiter.EmployeeOid.Value, AuswahlWohnheim.WohnheimOid, zeile, datum));
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
{
|
||||
@@ -624,6 +668,20 @@ namespace BeWo.View.Detail.Report
|
||||
textbox_bemerkung.Text = "";
|
||||
popUp_RightClick.IsOpen = false;
|
||||
RefreshStatusForDay(datum.Day);
|
||||
|
||||
// Prüfen, ob Dienst an einem Abwesenheitstag entfernt wurde und wenn ja, Ist und Saldo nicht anpassen
|
||||
if (!EintragAnGanzemAbwesenheitstag(eintrag, null))
|
||||
{
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
{
|
||||
item.Ist -= Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
item.Saldo -= Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -644,12 +702,17 @@ namespace BeWo.View.Detail.Report
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
{
|
||||
_DienstplanerRootObj.AlleDienstEintraege.Add(newEintrag);
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
|
||||
// Prüfen, ob Dienst an einem Abwesenheitstag eingefügt wurde und wenn ja, Ist und Saldo nicht anpassen
|
||||
if (!EintragAnGanzemAbwesenheitstag(newEintrag, null))
|
||||
{
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
item.Ist += Convert.ToDecimal(newEintrag.DauerInStunden);
|
||||
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newEintrag.DauerInStunden) : Convert.ToDecimal(newEintrag.DauerInStunden) - stundenFuerSaldo;
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
{
|
||||
item.Ist += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newEintrag.DauerInStunden) : Convert.ToDecimal(newEintrag.DauerInStunden) - stundenFuerSaldo;
|
||||
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newEintrag.DauerInStunden) : Convert.ToDecimal(newEintrag.DauerInStunden) - stundenFuerSaldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -678,6 +741,20 @@ namespace BeWo.View.Detail.Report
|
||||
textbox_bemerkung.Text = "";
|
||||
popUp_RightClick.IsOpen = false;
|
||||
RefreshStatusForDay(datum.Day);
|
||||
|
||||
// Prüfen, ob Dienst an einem Abwesenheitstag entfernt wurde und wenn ja, Ist und Saldo nicht anpassen
|
||||
if (!EintragAnGanzemAbwesenheitstag(null, vertretung))
|
||||
{
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
{
|
||||
item.Ist -= Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
item.Saldo -= Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
var newVertretung = new DienstvertretungDC
|
||||
@@ -697,12 +774,16 @@ namespace BeWo.View.Detail.Report
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
{
|
||||
_DienstplanerRootObj.AlleDienstvertretungen.Add(newVertretung);
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
|
||||
if (!EintragAnGanzemAbwesenheitstag(null, newVertretung))
|
||||
{
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
item.Ist += Convert.ToDecimal(newVertretung.DauerInStunden);
|
||||
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newVertretung.DauerInStunden) : Convert.ToDecimal(newVertretung.DauerInStunden) - stundenFuerSaldo;
|
||||
if (item.Employee.EmployeeOid == mitarbeiter.EmployeeOid)
|
||||
{
|
||||
item.Ist += Convert.ToDecimal(newVertretung.DauerInStunden);
|
||||
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newVertretung.DauerInStunden) : Convert.ToDecimal(newVertretung.DauerInStunden) - stundenFuerSaldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -715,6 +796,35 @@ namespace BeWo.View.Detail.Report
|
||||
RefreshGrid();
|
||||
}
|
||||
|
||||
// Prüfung, ob der Eintrag an einem Tag mit ganztägiger Abwesenheit gemacht / geändert wurde
|
||||
private bool EintragAnGanzemAbwesenheitstag(DienstEintragDC eintrag, DienstvertretungDC vertretung)
|
||||
{
|
||||
bool b = false;
|
||||
|
||||
DateTime datum = eintrag != null ? eintrag.Datum : vertretung.Datum;
|
||||
|
||||
foreach (var abs in _DienstplanerRootObj.AbsenceTimes)
|
||||
{
|
||||
var start = abs.Start.Value;
|
||||
var ende = abs.End;
|
||||
if (ende != null)
|
||||
{
|
||||
if (abs.AbsenceSpan.ContainsDate(datum.Date))
|
||||
{
|
||||
if (start.Date == ende.Value.Date)
|
||||
{
|
||||
if (start.TimeOfDay == ende.Value.TimeOfDay)
|
||||
b = true;
|
||||
}
|
||||
else
|
||||
b = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
// Methode, die bei Klick auf eine der Zellen aufgerufen wird (DPCtrlDay oder DPCtrlEmployee)
|
||||
public void DienstplanerControl_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
@@ -775,20 +885,29 @@ namespace BeWo.View.Detail.Report
|
||||
_AuswahlTag = int.Parse(fieldname[1]);
|
||||
|
||||
#region Möglichkeit, Dienste an Feier-, Krankheits- und Urlaubstagen einzutragen, erlauben oder verbieten
|
||||
////Dienste an Feiertagen setzen können deaktivieren
|
||||
//var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
//foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
//{
|
||||
// if (tag.Datum.Date == date)
|
||||
// return;
|
||||
//}
|
||||
//Dienste an Feiertagen setzen können deaktivieren
|
||||
var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
{
|
||||
if (tag.Datum.Date == date)
|
||||
return;
|
||||
}
|
||||
|
||||
//Dienste an Abwesenheitstagen setzen können deaktivieren
|
||||
//var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
//foreach (var at in _DienstplanerRootObj.AbsenceTimes)
|
||||
//{
|
||||
// if (at.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid && at.AbsenceSpan.ContainsDate(date))
|
||||
// return;
|
||||
// {
|
||||
// if (at.End.HasValue)
|
||||
// {
|
||||
// if (at.Start.Value.Date == at.End.Value.Date && at.Start.Value.TimeOfDay == at.End.Value.TimeOfDay)
|
||||
// return;
|
||||
// if (at.Start.Value.Date != at.End.Value.Date)
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
@@ -943,110 +1062,6 @@ namespace BeWo.View.Detail.Report
|
||||
InsertEintragOderVertretung(textbox_startzeit.Text, textbox_endzeit.Text, dauerInStunden, _AuswahlDienstZeileDC.Employee, Pointer,
|
||||
(DienstInfoDC)combobox_dienste.SelectedItem, _AuswahlDienstZeileDC.Zeile, textbox_bemerkung.Text);
|
||||
|
||||
//// Wenn es ein Dienst für einen Mitarbeiter des Wohnheims ist
|
||||
//if (_AuswahlWohnheim.EmployeeOids.Contains(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value))
|
||||
//{
|
||||
// decimal stundenFuerSaldo = 0.0m;
|
||||
|
||||
// // Prüfung, ob es für den Tag einen Eintrag gibt
|
||||
// var eintrag = GetDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
// _AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
|
||||
// // Wenn ein Eintrag da ist, den alten löschen
|
||||
// if (eintrag != null)
|
||||
// {
|
||||
// stundenFuerSaldo += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
|
||||
// var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, _AuswahlTag); //abc
|
||||
// ServiceFacade.DoOperationsServiceSync(x => x.DeleteDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value, AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer));
|
||||
// _AuswahlDienstZeileDC.RemoveDienst(_AuswahlTag);
|
||||
// DeleteFromList(eintrag, null);
|
||||
// }
|
||||
// // Wenn der Platzhalter gewählt ist, Status updaten und Methode beenden
|
||||
// if ((long)((DienstInfoDC)combobox_dienste.SelectedItem).Oid == -1)
|
||||
// {
|
||||
// textbox_bemerkung.Text = "";
|
||||
// popUp_RightClick.IsOpen = false;
|
||||
// RefreshStatusForDay(Pointer.Day);
|
||||
// return;
|
||||
// }
|
||||
// // Neuen Dienst einfügen und Ist/Soll updaten
|
||||
// var newEintrag = new DienstEintragDC
|
||||
// {
|
||||
// Datum = Pointer,
|
||||
// DienstOid = (long)((DienstInfoDC)combobox_dienste.SelectedItem).Oid,
|
||||
// EmployeeOid = _AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
// Oid = null,
|
||||
// WohnheimOid = AuswahlWohnheim.WohnheimOid,
|
||||
// Zeile = _AuswahlDienstZeileDC.Zeile,
|
||||
// Notice = textbox_bemerkung.Text,
|
||||
// Startzeit = textbox_startzeit.Text,
|
||||
// Endzeit = textbox_endzeit.Text,
|
||||
// DauerInStunden = dauerInStunden
|
||||
// };
|
||||
// ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstEintrag(newEintrag));
|
||||
// _DienstplanerRootObj.AlleDienstEintraege.Add(newEintrag); //Root
|
||||
// foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
// {
|
||||
// if (item.Employee.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid)
|
||||
// {
|
||||
// item.Ist += Convert.ToDecimal(newEintrag.DauerInStunden);
|
||||
// item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newEintrag.DauerInStunden) : Convert.ToDecimal(newEintrag.DauerInStunden) - stundenFuerSaldo;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//// Wenn es ein Dienst für eine Vertretung ist
|
||||
//else
|
||||
//{
|
||||
// var vertretung = GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
// _AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
|
||||
// decimal stundenFuerSaldo = 0.0m;
|
||||
|
||||
// // Wenn ein Eintrag da ist, den alten löschen
|
||||
// if (vertretung != null)
|
||||
// {
|
||||
// stundenFuerSaldo += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
|
||||
// var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, _AuswahlTag); //abc
|
||||
// ServiceFacade.DoOperationsServiceSync(x => x.DeleteDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value, AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer));
|
||||
// _AuswahlDienstZeileDC.RemoveDienst(_AuswahlTag);
|
||||
// DeleteFromList(null, vertretung);
|
||||
// }
|
||||
// // Wenn der Platzhalter gewählt ist, Status updaten und Methode beenden
|
||||
// if ((long)((DienstInfoDC)combobox_dienste.SelectedItem).Oid == -1)
|
||||
// {
|
||||
// textbox_bemerkung.Text = "";
|
||||
// popUp_RightClick.IsOpen = false;
|
||||
// RefreshStatusForDay(Pointer.Day);
|
||||
// return;
|
||||
// }
|
||||
// // Neue Vertretung einfügen und Ist/Soll updaten
|
||||
// var newVertretung = new DienstvertretungDC
|
||||
// {
|
||||
// Datum = Pointer,
|
||||
// DienstOid = (long)((DienstInfoDC)combobox_dienste.SelectedItem).Oid,
|
||||
// EmployeeOid = _AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
// Oid = null,
|
||||
// WohnheimOid = AuswahlWohnheim.WohnheimOid,
|
||||
// Zeile = _AuswahlDienstZeileDC.Zeile,
|
||||
// Notice = textbox_bemerkung.Text,
|
||||
// Startzeit = textbox_startzeit.Text,
|
||||
// Endzeit = textbox_endzeit.Text,
|
||||
// DauerInStunden = dauerInStunden
|
||||
// };
|
||||
// ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstvertretung(newVertretung));
|
||||
// _DienstplanerRootObj.AlleDienstvertretungen.Add(newVertretung);
|
||||
// foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
// {
|
||||
// if (item.Employee.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid)
|
||||
// {
|
||||
// item.Ist += Convert.ToDecimal(newVertretung.DauerInStunden);
|
||||
// item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newVertretung.DauerInStunden) : Convert.ToDecimal(newVertretung.DauerInStunden) - stundenFuerSaldo;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
// Eintrag zur Zeile hinzufügen
|
||||
//_AuswahlDienstZeileDC.AddDienst(_AuswahlTag, combobox_dienste.SelectedItem as DienstInfoDC);
|
||||
//RefreshStatusForDay(Pointer.Day);
|
||||
@@ -1131,21 +1146,46 @@ namespace BeWo.View.Detail.Report
|
||||
var date = _AuswahlMonat.AddDays(pos - 1);
|
||||
|
||||
// Auf Feiertag überprüfen
|
||||
bool isFeiertag = false;
|
||||
FeiertagDC ft = null;
|
||||
foreach (var feiertag in _DienstplanerRootObj.Feiertage)
|
||||
{
|
||||
if (feiertag.Datum.Date == date)
|
||||
{
|
||||
isFeiertag = true;
|
||||
ft = feiertag;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Bei Abwesenheit den Grund als Variable setzen
|
||||
AbsenceReasonDC reason = null;
|
||||
|
||||
|
||||
|
||||
AbsenceTimeDC absTimeForDay = null;
|
||||
if (_AbsenceTimesDict.ContainsKey(selZeile.Employee.EmployeeOid.Value))
|
||||
reason = _AbsenceTimesDict[selZeile.Employee.EmployeeOid.Value].FirstOrDefault(x =>
|
||||
x.Start <= date && (!x.End.HasValue || x.End >= date))?.Reason;
|
||||
absTimeForDay = _AbsenceTimesDict[selZeile.Employee.EmployeeOid.Value].FirstOrDefault(x =>
|
||||
x.Start.Value.Date <= date.Date && (!x.End.HasValue || x.End.Value.Date >= date.Date));
|
||||
|
||||
#region testzwecke, kann eig weg
|
||||
//if (date.Day==11)
|
||||
// Console.WriteLine("STOP");
|
||||
|
||||
//if (_AbsenceTimesDict.ContainsKey(selZeile.Employee.EmployeeOid.Value))
|
||||
//{
|
||||
// foreach (var item in _AbsenceTimesDict[selZeile.Employee.EmployeeOid.Value])
|
||||
// {
|
||||
// if (item.Start.Value.Date <= date.Date && (!item.End.HasValue || item.End.Value.Date >= date.Date))
|
||||
// {
|
||||
// absTimeForDay = item;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
// Bei Überstunden diese als Variable setzen
|
||||
OvertimeDC overtime = null;
|
||||
if (_OverTimesDict.ContainsKey(selZeile.Employee.EmployeeOid.Value))
|
||||
overtime = _OverTimesDict[selZeile.Employee.EmployeeOid.Value].FirstOrDefault(x =>
|
||||
x.Date == date);
|
||||
|
||||
string[] zeiten = new string[2];
|
||||
string bemerkung = "";
|
||||
@@ -1189,11 +1229,12 @@ namespace BeWo.View.Detail.Report
|
||||
DayOfWeek = date.DayOfWeek,
|
||||
IsLastColumn = pos == DateTime.DaysInMonth(AuswahlMonat.Year, AuswahlMonat.Month),
|
||||
IsInContractRange = GetContract(selZeile, pos) != null, //abc
|
||||
Reason = reason,
|
||||
AbsenceTime = absTimeForDay,
|
||||
OverTime = overtime,
|
||||
StatusInformation = null,
|
||||
Bemerkung = bemerkung,
|
||||
Zeiten = zeiten,
|
||||
IsFeiertag = isFeiertag,
|
||||
Feiertag = ft,
|
||||
MarkierungBenoetigt = feldMarkieren
|
||||
};
|
||||
}
|
||||
@@ -1223,7 +1264,7 @@ namespace BeWo.View.Detail.Report
|
||||
DayOfWeek = date.DayOfWeek,
|
||||
IsLastColumn = pos == DateTime.DaysInMonth(AuswahlMonat.Year, AuswahlMonat.Month),
|
||||
BesetzungsStatus = dauerhaftBesetzt,
|
||||
StatusInfoString = CheckForDoppelbelegung(date) ? "Achtung: Ein Dienst wurde doppelt geplant." : "",
|
||||
StatusInfoString = CheckForDoppelbelegung(date),
|
||||
ColorFalse = _DienstplanerRootObj.StatusColorFalse,
|
||||
ColorTrue = _DienstplanerRootObj.StatusColorTrue
|
||||
},
|
||||
@@ -1241,9 +1282,13 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
var eintraegeFuerMitarbeiter = selZeile.Zeile == 0 ? _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
|
||||
var vertretungenFuerMitarbeiter = selZeile.Zeile == 0 ? _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
|
||||
var ueberstunden = selZeile.Zeile == 0 ? _DienstplanerRootObj.OverTimes.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
|
||||
var urlaubKrankheit = selZeile.Zeile == 0 ? _DienstplanerRootObj.AbsenceTimes.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
|
||||
|
||||
var eintraegeEinerWoche = eintraegeFuerMitarbeiter != null ? GetEintraegeEinerWoche(eintraegeFuerMitarbeiter, pos) : null;
|
||||
var vertretungenEinerWoche = vertretungenFuerMitarbeiter != null ? GetVertretungenEinerWoche(vertretungenFuerMitarbeiter, pos) : null;
|
||||
var ueberstundenEinerWoche = ueberstunden != null ? GetUeberstundenEinerWoche(ueberstunden, pos) : null;
|
||||
var abwesenheitenEinerWoche = urlaubKrankheit != null ? GetAbwesenheitenEinerWoche(urlaubKrankheit, pos, eintraegeEinerWoche, vertretungenEinerWoche) : null;
|
||||
|
||||
// Für entweder Vertretung oder normale Einträge Stunden der Woche summieren
|
||||
List<double> stundenWoche = new List<double>();
|
||||
@@ -1257,6 +1302,14 @@ namespace BeWo.View.Detail.Report
|
||||
foreach (var vertretung in vertretungenEinerWoche)
|
||||
stundenWoche.Add(vertretung.DauerInStunden);
|
||||
}
|
||||
if (ueberstundenEinerWoche != null)
|
||||
{
|
||||
foreach (var overtime in ueberstundenEinerWoche)
|
||||
stundenWoche.Add(Convert.ToDouble(overtime.Betrag));
|
||||
}
|
||||
if (abwesenheitenEinerWoche != null)
|
||||
stundenWoche.AddRange(abwesenheitenEinerWoche);
|
||||
|
||||
e.Value = new DPCtrlWeekInformation
|
||||
{
|
||||
Hours = stundenWoche,
|
||||
@@ -1320,27 +1373,28 @@ namespace BeWo.View.Detail.Report
|
||||
case "IS":
|
||||
if (selZeile.StatusListe == null)
|
||||
{
|
||||
#region outdated Ist-Berechnung
|
||||
// Stunden für Einträge/Vertretungen aufaddieren
|
||||
var eintraegeFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
var vertretungenFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
//var eintraegeFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
//var vertretungenFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
|
||||
decimal stunden = 0;
|
||||
if (eintraegeFuerMitarbeiterMonat != null)
|
||||
{
|
||||
foreach (var eintrag in eintraegeFuerMitarbeiterMonat)
|
||||
stunden += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
}
|
||||
if (vertretungenFuerMitarbeiterMonat != null)
|
||||
{
|
||||
foreach (var vertretung in vertretungenFuerMitarbeiterMonat)
|
||||
stunden += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
}
|
||||
//if (eintraegeFuerMitarbeiterMonat != null)
|
||||
//{
|
||||
// foreach (var eintrag in eintraegeFuerMitarbeiterMonat)
|
||||
// stunden += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
//}
|
||||
//if (vertretungenFuerMitarbeiterMonat != null)
|
||||
//{
|
||||
// foreach (var vertretung in vertretungenFuerMitarbeiterMonat)
|
||||
// stunden += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
//}
|
||||
#endregion
|
||||
|
||||
e.Value = new DPCtrlIstInformation
|
||||
{
|
||||
Row = selZeile.Zeile,
|
||||
Statuszeile = selZeile.DienstDict == null,
|
||||
IstWert = stunden,
|
||||
IstWert = summary.Ist,
|
||||
IsLastRow = isLastRow
|
||||
};
|
||||
}
|
||||
@@ -1360,20 +1414,24 @@ namespace BeWo.View.Detail.Report
|
||||
// Saldo setzen, wenn es nicht die Statuszeile ist
|
||||
if (selZeile.StatusListe == null)
|
||||
{
|
||||
DienstplanerMonthlySummaryDC summaryForSaldo = new DienstplanerMonthlySummaryDC();
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
if (selZeile.Employee.EmployeeOid == item.Employee.EmployeeOid)
|
||||
{
|
||||
summaryForSaldo = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#region outdated Saldo-Berechnung
|
||||
//DienstplanerMonthlySummaryDC summaryForSaldo = new DienstplanerMonthlySummaryDC();
|
||||
//foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
//{
|
||||
// if (selZeile.Employee.EmployeeOid == item.Employee.EmployeeOid)
|
||||
// {
|
||||
// summaryForSaldo = item;
|
||||
// var temp = summary;
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
e.Value = new DPCtrlSaldoInformation
|
||||
{
|
||||
Row = selZeile.Zeile,
|
||||
Statuszeile = selZeile.DienstDict == null,
|
||||
SaldoWert = summaryForSaldo.Saldo,
|
||||
SaldoWert = summary.Saldo,
|
||||
IsLastRow = isLastRow
|
||||
};
|
||||
}
|
||||
@@ -1436,9 +1494,9 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
|
||||
// Prüft für Einträge und Vertretungen, ob an einem Tag der gleiche Dienst 2 mal gesetzt wurde
|
||||
private bool CheckForDoppelbelegung(DateTime date)
|
||||
private string CheckForDoppelbelegung(DateTime date)
|
||||
{
|
||||
bool doppelbelegung = false;
|
||||
string infoString = "";
|
||||
|
||||
var dienstOids = new List<long>();
|
||||
|
||||
@@ -1449,28 +1507,41 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
if (dienstOids.Contains(eintrag.DienstOid))
|
||||
{
|
||||
doppelbelegung = true;
|
||||
infoString = string.Format("Achtung: Am {0:dd.MM.} wurde ein Dienst doppelt geplant.", date.Date);
|
||||
break;
|
||||
}
|
||||
else
|
||||
dienstOids.Add(eintrag.DienstOid);
|
||||
}
|
||||
}
|
||||
foreach (var vertretung in _DienstplanerRootObj.AlleDienstvertretungen)
|
||||
if (infoString.IsNullOrEmpty())
|
||||
{
|
||||
if (vertretung.Datum.Date == date.Date)
|
||||
foreach (var vertretung in _DienstplanerRootObj.AlleDienstvertretungen)
|
||||
{
|
||||
if (dienstOids.Contains(vertretung.DienstOid))
|
||||
if (vertretung.Datum.Date == date.Date)
|
||||
{
|
||||
doppelbelegung = true;
|
||||
break;
|
||||
if (dienstOids.Contains(vertretung.DienstOid))
|
||||
{
|
||||
infoString += string.Format("Achtung: Am {0:dd.MM.} wurde ein Dienst doppelt geplant.", date.Date);
|
||||
break;
|
||||
}
|
||||
else
|
||||
dienstOids.Add(vertretung.DienstOid);
|
||||
}
|
||||
else
|
||||
dienstOids.Add(vertretung.DienstOid);
|
||||
}
|
||||
}
|
||||
|
||||
return doppelbelegung;
|
||||
|
||||
foreach (var employee in _DienstplanerRootObj.AllEmployee)
|
||||
{
|
||||
var temp = _DienstplanerRootObj.AlleDienstEintraege.Where(e => e.EmployeeOid == employee.EmployeeOid && e.Datum == date).ToList();
|
||||
if (temp.Count > 1)
|
||||
infoString += string.Format(infoString.IsNullOrEmpty() ? "Achtung: 2 Dienste für {0} am {1:dd.MM.}" : "\nAchtung: 2 Dienste für {0} am {1:dd.MM.}",
|
||||
employee.LastNameFirstName, date);
|
||||
}
|
||||
|
||||
|
||||
return infoString;
|
||||
}
|
||||
|
||||
// Die Einträge einer bestimmten Woche rausfiltern (für case "WE")
|
||||
@@ -1499,6 +1570,87 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
return res;
|
||||
}
|
||||
private List<OvertimeDC> GetUeberstundenEinerWoche(List<OvertimeDC> liste, int sonntag)
|
||||
{
|
||||
List<OvertimeDC> res = new List<OvertimeDC>();
|
||||
|
||||
foreach (var overtime in liste)
|
||||
{
|
||||
if (overtime.Date.Value.Day <= sonntag && sonntag - overtime.Date.Value.Day < 7)
|
||||
res.Add(overtime);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
// Abwesenheiten auswerten, also nur die einer Woche zurückgeben
|
||||
private List<double> GetAbwesenheitenEinerWoche(List<AbsenceTimeDC> liste, int sonntag, List<DienstEintragDC> eintraegeDerWoche, List<DienstvertretungDC> vertretungenDerWoche)
|
||||
{
|
||||
List<double> res = new List<double>();
|
||||
var year = (int)_YearPicker.SelectedItem;
|
||||
|
||||
List<DateTime> tage = new List<DateTime>();
|
||||
foreach (var entry in liste)
|
||||
{
|
||||
var start = entry.Start.Value.Month == _AuswahlMonat.Month ? entry.Start : new DateTime(year, _AuswahlMonat.Month, 1);
|
||||
var end = entry.End.HasValue ? entry.End : new DateTime(year, _AuswahlMonat.Month,
|
||||
DateTime.DaysInMonth(year, _AuswahlMonat.Month));
|
||||
if (end.Value.Month != start.Value.Month)
|
||||
end = new DateTime(year, _AuswahlMonat.Month, DateTime.DaysInMonth(year, _AuswahlMonat.Month));
|
||||
|
||||
for (int i = start.Value.Day; i <= end.Value.Day; i++)
|
||||
{
|
||||
if (i <= sonntag && sonntag - i < 7)
|
||||
{
|
||||
if (start.Value.Date == end.Value.Date && start.Value.TimeOfDay != end.Value.TimeOfDay)
|
||||
tage.Add(start.Value);
|
||||
else
|
||||
tage.Add(new DateTime(year, _AuswahlMonat.Month, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tage.Count > 0)
|
||||
{
|
||||
// Halbe Tage extra rechnen und dann entfernen
|
||||
var halbeTage = tage.FindAll(t => t.TimeOfDay.Hours != 0).ToList();
|
||||
tage.RemoveRange(halbeTage);
|
||||
|
||||
// Wochenend- und Feiertage entfernen
|
||||
var wochenendeFeiertage = tage.FindAll(t => t.Date.DayOfWeek == DayOfWeek.Saturday || t.Date.DayOfWeek == DayOfWeek.Sunday ||
|
||||
(_DienstplanerRootObj.Feiertage.FindAll(f => f.Datum.Date == t.Date)).Count > 0);
|
||||
tage.RemoveRange(wochenendeFeiertage);
|
||||
|
||||
// Einträge und Vertretungen von Wochen- und Monats-Ist abziehen, wenn an diesem Tag eine ganztägige Abwesnheit ist ABCDEF
|
||||
if (eintraegeDerWoche != null)
|
||||
{
|
||||
foreach (var e in eintraegeDerWoche)
|
||||
{
|
||||
if (tage.Contains(e.Datum))
|
||||
{
|
||||
res.Add(e.DauerInStunden * -1); // Abzug von Wochen-Ist
|
||||
//_DienstplanerRootObj.MonatsZusammenfassung // Abzug von Monats-Ist
|
||||
// .First(z => z.Employee.EmployeeOid == e.EmployeeOid).Ist -= Convert.ToDecimal(e.DauerInStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (vertretungenDerWoche != null)
|
||||
{
|
||||
foreach (var v in vertretungenDerWoche)
|
||||
{
|
||||
if (tage.Contains(v.Datum))
|
||||
{
|
||||
res.Add(v.DauerInStunden * -1); // Abzug von Wochen-Ist
|
||||
//_DienstplanerRootObj.MonatsZusammenfassung // Abzug von Monats-Ist
|
||||
// .First(z => z.Employee.EmployeeOid == v.EmployeeOid).Ist -= Convert.ToDecimal(v.DauerInStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
res.Add(Convert.ToDouble(_DienstplanerRootObj.StundenBeiAbwesenheit[liste[0].EmployeeOid] * halbeTage.Count / 2));
|
||||
res.Add(Convert.ToDouble(_DienstplanerRootObj.StundenBeiAbwesenheit[liste[0].EmployeeOid] * tage.Count));
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
//Event, was bei Klick auf "Drucken" ausgelöst wird
|
||||
private void LinkPdfExport_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
@@ -1524,18 +1676,28 @@ namespace BeWo.View.Detail.Report
|
||||
.SelectMany(x => Init(x, _DienstplanerRootObj.AlleDienste, RefreshGrid, AuswahlMonat))
|
||||
.ToList());
|
||||
|
||||
var temp = new Dictionary<long, List<AbsenceTimeDC>>();
|
||||
var absenceTemp = new Dictionary<long, List<AbsenceTimeDC>>();
|
||||
var overtimeTemp = new Dictionary<long, List<OvertimeDC>>();
|
||||
|
||||
// Abwesenheiten in ein Dictionary speichern
|
||||
foreach (var abs in _DienstplanerRootObj.AbsenceTimes)
|
||||
{
|
||||
if (!temp.ContainsKey(abs.EmployeeOid.Value))
|
||||
temp.Add(abs.EmployeeOid.Value, new List<AbsenceTimeDC>());
|
||||
if (!absenceTemp.ContainsKey(abs.EmployeeOid.Value))
|
||||
absenceTemp.Add(abs.EmployeeOid.Value, new List<AbsenceTimeDC>());
|
||||
|
||||
temp[abs.EmployeeOid.Value].Add(abs);
|
||||
absenceTemp[abs.EmployeeOid.Value].Add(abs);
|
||||
}
|
||||
_AbsenceTimesDict = absenceTemp;
|
||||
|
||||
_AbsenceTimesDict = temp;
|
||||
// Überstunden in ein Dictionary speichern
|
||||
foreach (var ot in _DienstplanerRootObj.OverTimes)
|
||||
{
|
||||
if (!overtimeTemp.ContainsKey(ot.EmployeeOid.Value))
|
||||
overtimeTemp.Add(ot.EmployeeOid.Value, new List<OvertimeDC>());
|
||||
|
||||
overtimeTemp[ot.EmployeeOid.Value].Add(ot);
|
||||
}
|
||||
_OverTimesDict = overtimeTemp;
|
||||
}
|
||||
|
||||
// Abhängig von Version URL zum Drucken generieren
|
||||
@@ -1984,11 +2146,19 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
var res = new List<DienstZeileDC>();
|
||||
|
||||
int maxRows = 0;
|
||||
for (int i = 0; i < eintragDC.DienstDictArray.Length; i++)
|
||||
{
|
||||
if (eintragDC.DienstDictArray[i].Count > 0)
|
||||
maxRows = i;
|
||||
}
|
||||
|
||||
for (int i = 0; i < eintragDC.DienstDictArray.Length; i++)
|
||||
{
|
||||
var zeileDC = eintragDC.DienstDictArray[i];
|
||||
|
||||
if (zeileDC.Count > 0 || i == 0) //Nur eine Zeile
|
||||
// In if eine Bedingung einfügen, dass so lange Zeilen generiert werden, bis der (zeilen-technisch) letzte Eintrag zu sehen ist
|
||||
if (zeileDC.Count > 0 || i <= maxRows) //Nur eine Zeile
|
||||
{
|
||||
var newDic = new Dictionary<int, DienstInfoDC>();
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace BeWo.ViewModel
|
||||
private DateTime _StartDT;
|
||||
private DateTime _EndeDT;
|
||||
private int _Pause;
|
||||
private WohnheimDC _Wohnheim;
|
||||
|
||||
public DienstInfoVM(DienstInfoDC dienstDC) : base(dienstDC, dienstDC.Oid == null)
|
||||
{ }
|
||||
@@ -187,6 +188,19 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
public WohnheimDC Wohnheim
|
||||
{
|
||||
get { return _Wohnheim; }
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_Wohnheim, value))
|
||||
{
|
||||
_Wohnheim = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Wohnheim, value), nameof(_Wohnheim));
|
||||
FirePropertyChanged(nameof(_Wohnheim));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void InitByDataContract(DienstInfoDC bDataContract)
|
||||
{
|
||||
@@ -198,6 +212,7 @@ namespace BeWo.ViewModel
|
||||
_StartDT = bDataContract.Start;
|
||||
_EndeDT = bDataContract.Ende;
|
||||
_Pause = bDataContract.Pause;
|
||||
_Wohnheim = bDataContract.Wohnheim;
|
||||
|
||||
if (!string.IsNullOrEmpty(bDataContract.Farbe))
|
||||
{
|
||||
@@ -216,6 +231,7 @@ namespace BeWo.ViewModel
|
||||
bDataContract.Pause = _Pause;
|
||||
bDataContract.Start = _StartDT;
|
||||
bDataContract.Ende = _EndeDT;
|
||||
bDataContract.Wohnheim = _Wohnheim;
|
||||
|
||||
return bDataContract;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@ using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Windows.Media;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using Color = System.Drawing.Color;
|
||||
|
||||
namespace BeWo.ViewModel.ListViewModel
|
||||
@@ -21,11 +23,33 @@ namespace BeWo.ViewModel.ListViewModel
|
||||
get
|
||||
{
|
||||
var lTemp = typeof(Color).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Static).Select(pi => (Color)pi.GetGetMethod().Invoke(null, null)).ToList();
|
||||
for (int i = lTemp.Count - 1; i >= 0; i--)
|
||||
{
|
||||
var o = lTemp[i];
|
||||
if (o.Name.ToLower().Contains("black"))
|
||||
lTemp.Remove(o);
|
||||
else if (o.Name.ToLower().Contains("red"))
|
||||
lTemp.Remove(o);
|
||||
}
|
||||
|
||||
lTemp.Sort((x, y) => x.GetBrightness().CompareTo(y.GetBrightness()));
|
||||
|
||||
return lTemp.Select(c => new SolidColorBrush(System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B))).ToList();
|
||||
}
|
||||
}
|
||||
public List<CompactWohnheimDC> AllWohnheime
|
||||
{
|
||||
get
|
||||
{
|
||||
var liste = new List<CompactWohnheimDC>();
|
||||
liste.Add(new CompactWohnheimDC
|
||||
{
|
||||
WohnheimOid = -1,
|
||||
WohnheimName = ""
|
||||
});
|
||||
liste.AddRange(ServiceFacade.DoCustomerServiceSync(x => x.GetAllActiveWohnheimeCompact()));
|
||||
return liste.OrderBy(l => l.WohnheimName).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -468,7 +468,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
public static void CreateDienstListVMAsync(Action<DienstInfoListVM> pCallBack)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.GetAllDienste(),
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.GetAllDienste(null),
|
||||
r => pCallBack(new DienstInfoListVM(r.ToList())));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.1209
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31424.327
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
|
||||
EndProject
|
||||
@@ -664,6 +664,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarlSonnenscheinHaus", "Rep
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SozialwerkAachenerChristen", "ReportImp\SozialwerkAachenerChristen\SozialwerkAachenerChristen.csproj", "{47A029F9-D420-48D2-BFE3-CB4988346366}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebensWert", "ReportImp\LebensWert\LebensWert.csproj", "{09BA6418-1FC2-4B45-8CE0-BB9C24499442}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PZDDuesseldorf", "ReportImp\PZDDuesseldorf\PZDDuesseldorf.csproj", "{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -8015,6 +8019,54 @@ Global
|
||||
{47A029F9-D420-48D2-BFE3-CB4988346366}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{47A029F9-D420-48D2-BFE3-CB4988346366}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{47A029F9-D420-48D2-BFE3-CB4988346366}.Release|x86.Build.0 = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -8345,6 +8397,8 @@ Global
|
||||
{BE015430-F83C-4CAB-902A-5D1962697715} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{2CE355CA-0227-4536-B097-C672FCEF4BAA} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{47A029F9-D420-48D2-BFE3-CB4988346366} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{09BA6418-1FC2-4B45-8CE0-BB9C24499442} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -1110,7 +1110,8 @@ namespace BeWo.Data.Access
|
||||
return criteria.List<AbsenceTime>().ToList();
|
||||
}
|
||||
|
||||
public IEnumerable<AbsenceTime> FindAbsenceTimesForEmployee(DateTime startDate, DateTime endDate, long empOid)
|
||||
public IEnumerable<AbsenceTime> FindAbsenceTimesForEmployee
|
||||
(DateTime startDate, DateTime endDate, long empOid)
|
||||
{
|
||||
var criteria = CreateCriteriaIsActive<AbsenceTime>()
|
||||
.Add(Restrictions.Eq("EmployeeOid", empOid))
|
||||
@@ -4602,5 +4603,13 @@ namespace BeWo.Data.Access
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public IList<DienstInfo> FindDiensteForWohnheim(long? whOid)
|
||||
{
|
||||
var criteria = CreateCriteriaIsActive<DienstInfo>()
|
||||
.Add(Restrictions.Or(Restrictions.Eq("Wohnheim", whOid), Restrictions.IsNull("Wohnheim")));
|
||||
|
||||
return criteria.List<DienstInfo>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace BeWo.Data.Entities
|
||||
private DateTime _Start;
|
||||
private DateTime _Ende;
|
||||
private int _Pause;
|
||||
private long? _Wohnheim;
|
||||
|
||||
public DienstInfo()
|
||||
{
|
||||
@@ -111,5 +112,19 @@ namespace BeWo.Data.Entities
|
||||
}
|
||||
}
|
||||
}
|
||||
public virtual long? Wohnheim
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Wohnheim;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_Wohnheim, value))
|
||||
{
|
||||
_Wohnheim = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace BeWo.Data.ICF
|
||||
{
|
||||
public static class ICFDAO
|
||||
{
|
||||
private static readonly XDocument _File;
|
||||
private static XDocument _File;
|
||||
private static readonly XElement _Root;
|
||||
|
||||
static ICFDAO()
|
||||
@@ -27,7 +27,8 @@ namespace BeWo.Data.ICF
|
||||
file = "icf.xml";
|
||||
}
|
||||
file = BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, @"bin\ICF\" + file);
|
||||
_File = XDocument.Load(file);
|
||||
//file = @"D:\Projects\beyondSoft\BeWoPlaner\BeWo\Data\ICF";
|
||||
_File = XDocument.Load(file); // Hier entsteht ein error
|
||||
|
||||
//_File = XDocument.Load(@"D:\Projects\BeWoPlaner\BeWo\Data\ICF\icf.xml");
|
||||
Debug.WriteLine("Dokument geladen");
|
||||
@@ -42,7 +43,8 @@ namespace BeWo.Data.ICF
|
||||
|
||||
public static IList<ValueListEntryDC> GetIcf()
|
||||
{
|
||||
if (_Root == null) return null;
|
||||
if (_Root == null)
|
||||
return null;
|
||||
|
||||
long id = 1;
|
||||
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
<property column="Start" type="DateTime" name="Start" />
|
||||
<property column="Ende" type="DateTime" name="Ende" />
|
||||
<property column="Pause" type="int" name="Pause" />
|
||||
<property column="Wohnheim" type="Int64" name="Wohnheim" />
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
2
Model/Change_2021_09_28_DienstInfo.txt
Normal file
2
Model/Change_2021_09_28_DienstInfo.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `bewodemo`.`dienstinfo`
|
||||
ADD COLUMN `Wohnheim` BIGINT NULL AFTER `Pause`;
|
||||
@@ -1034,7 +1034,7 @@ namespace BeWo.Report
|
||||
|
||||
//report.SetReportDataSource(RosterRO.Create(service.GetDienstEintraege(wOid, dt.Year, dt.Month), service.GetAllDienste(), service2.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month));
|
||||
report.SetReportDataSource(RosterRO.CreateNew(dienstEintraege, vertretungen, employee,
|
||||
service.GetAllDienste(), service2.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month, feiertage));
|
||||
service.GetAllDienste(wOid), service2.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month, feiertage));
|
||||
|
||||
return report as XtraReport;
|
||||
}
|
||||
@@ -1066,9 +1066,35 @@ namespace BeWo.Report
|
||||
List<AbsenceTimeDC> absences = employeeService.GetMultipleEmployeeAbsenceTimesForMonth(dt.Year, dt.Month, employeeOids);
|
||||
List<FeiertagDC> feiertageDCs = opertionsService.ErstelleDefaultFeiertage(dt.Year).Where(f => f.Datum.Month == dt.Month).ToList();
|
||||
|
||||
Dictionary<long?, decimal> stundenBeiAbwesenheit = new Dictionary<long?, decimal>();
|
||||
foreach (var emp in employee)
|
||||
{
|
||||
ContractDC currentContract = null;
|
||||
foreach (var c in emp.Contracts)
|
||||
{
|
||||
if (!c.ContractEndDate.HasValue)
|
||||
{
|
||||
if (dt >= c.EntryDate)
|
||||
{
|
||||
currentContract = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dt >= c.EntryDate && dt <= c.ContractEndDate)
|
||||
{
|
||||
currentContract = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (currentContract != null)
|
||||
stundenBeiAbwesenheit.Add(emp.EmployeeOid, currentContract.WeeklyTotalHours.Value / currentContract.WeeklyDays);
|
||||
}
|
||||
|
||||
report.SetReportDataSource(RosterIstRO.Create(dienstEintraege, vertretungen, employee, opertionsService.GetAllDienste(),
|
||||
customerService.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month, feiertageDCs, absences));
|
||||
report.SetReportDataSource(RosterIstRO.Create(dienstEintraege, vertretungen, employee, opertionsService.GetAllDienste(wOid),
|
||||
customerService.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month, feiertageDCs, absences, stundenBeiAbwesenheit));
|
||||
|
||||
return report as XtraReport;
|
||||
}
|
||||
|
||||
66
Report/DefaultReports/RosterReport.Designer.cs
generated
66
Report/DefaultReports/RosterReport.Designer.cs
generated
@@ -32,8 +32,6 @@ namespace BeWo.Report.DefaultReports
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel_Time = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_Image = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblCustomerName = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
@@ -46,6 +44,8 @@ namespace BeWo.Report.DefaultReports
|
||||
this.approvedText = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.xrLabel_Time = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_Image = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
@@ -67,36 +67,6 @@ namespace BeWo.Report.DefaultReports
|
||||
this.ReportHeader.HeightF = 223.9583F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
//
|
||||
// xrLabel_Time
|
||||
//
|
||||
this.xrLabel_Time.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel_Time.LocationFloat = new DevExpress.Utils.PointFloat(37F, 73.23335F);
|
||||
this.xrLabel_Time.Multiline = true;
|
||||
this.xrLabel_Time.Name = "xrLabel_Time";
|
||||
this.xrLabel_Time.SizeF = new System.Drawing.SizeF(124.36F, 25F);
|
||||
this.xrLabel_Time.StylePriority.UseFont = false;
|
||||
this.xrLabel_Time.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel_Time.Text = "\r\n";
|
||||
this.xrLabel_Time.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel_Image
|
||||
//
|
||||
this.xrLabel_Image.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrLabel_Image.BorderWidth = 0.25F;
|
||||
this.xrLabel_Image.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel_Image.LocationFloat = new DevExpress.Utils.PointFloat(0F, 73.22919F);
|
||||
this.xrLabel_Image.Multiline = true;
|
||||
this.xrLabel_Image.Name = "xrLabel_Image";
|
||||
this.xrLabel_Image.SizeF = new System.Drawing.SizeF(25F, 25F);
|
||||
this.xrLabel_Image.StylePriority.UseBorders = false;
|
||||
this.xrLabel_Image.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel_Image.StylePriority.UseFont = false;
|
||||
this.xrLabel_Image.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel_Image.Text = "\r\n";
|
||||
this.xrLabel_Image.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// lblCustomerName
|
||||
//
|
||||
this.lblCustomerName.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
@@ -189,6 +159,38 @@ namespace BeWo.Report.DefaultReports
|
||||
this.bottomMarginBand1.HeightF = 20F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// xrLabel_Time
|
||||
//
|
||||
this.xrLabel_Time.Font = new System.Drawing.Font("Arial", 8F);
|
||||
this.xrLabel_Time.LocationFloat = new DevExpress.Utils.PointFloat(30.75F, 73.23338F);
|
||||
this.xrLabel_Time.Multiline = true;
|
||||
this.xrLabel_Time.Name = "xrLabel_Time";
|
||||
this.xrLabel_Time.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
|
||||
this.xrLabel_Time.SizeF = new System.Drawing.SizeF(124.36F, 19.99581F);
|
||||
this.xrLabel_Time.StylePriority.UseFont = false;
|
||||
this.xrLabel_Time.StylePriority.UsePadding = false;
|
||||
this.xrLabel_Time.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel_Time.Text = "\r\n";
|
||||
this.xrLabel_Time.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel_Image
|
||||
//
|
||||
this.xrLabel_Image.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrLabel_Image.BorderWidth = 0.25F;
|
||||
this.xrLabel_Image.Font = new System.Drawing.Font("Arial", 8F);
|
||||
this.xrLabel_Image.LocationFloat = new DevExpress.Utils.PointFloat(0F, 73.22919F);
|
||||
this.xrLabel_Image.Multiline = true;
|
||||
this.xrLabel_Image.Name = "xrLabel_Image";
|
||||
this.xrLabel_Image.SizeF = new System.Drawing.SizeF(20F, 20F);
|
||||
this.xrLabel_Image.StylePriority.UseBorders = false;
|
||||
this.xrLabel_Image.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel_Image.StylePriority.UseFont = false;
|
||||
this.xrLabel_Image.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel_Image.Text = "\r\n";
|
||||
this.xrLabel_Image.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.RosterRO);
|
||||
|
||||
@@ -119,7 +119,8 @@ namespace BeWo.Report.DefaultReports
|
||||
TextAlignment = xrLabel_Time.TextAlignment,
|
||||
WidthF = xrLabel_Time.WidthF,
|
||||
HeightF = xrLabel_Time.HeightF,
|
||||
Text = AdaptTime(d.Start.TimeOfDay, d.Ende.TimeOfDay)
|
||||
Text = AdaptTime(d.Start.TimeOfDay, d.Ende.TimeOfDay),
|
||||
Padding = xrLabel_Time.Padding
|
||||
});
|
||||
|
||||
elem++;
|
||||
|
||||
@@ -337,7 +337,9 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
flsSollGesamt += BerechneFlsSoll(emp, c, berichtsAnfang, berichtsEnde, tatSollStdImVertragsUndBerichtzeitraum, stundenSollProMonat);
|
||||
|
||||
berichtsAnfang = berichtsEnde;
|
||||
|
||||
|
||||
berichtsAnfang = berichtsEnde;
|
||||
berichtsEnde = monatsEnde;
|
||||
c = GetNextValidContractForDate(berichtsAnfang, emp);
|
||||
|
||||
@@ -399,12 +401,21 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
decimal alteExtraUeberstunden = 0;
|
||||
BerechneUeberstundenBis(empDetail, groupFilteredRecords, ro.ReportStartDate, out ueberstundenVormonat,
|
||||
out alteExtraUeberstunden);
|
||||
out alteExtraUeberstunden); // ABCDEF statt alle SR alle Diensteinträge abarbeiten
|
||||
|
||||
var alleDiensteintraege = DAOFactory.GenericDAO.GetAllActive<DienstEintrag>().Where(d => d.EmployeeOid == empDetail.Employee.Oid).ToList();
|
||||
var alleDienstvertretungen = DAOFactory.GenericDAO.GetAllActive<Dienstvertretung>().Where(d => d.EmployeeOid == empDetail.Employee.Oid).ToList();
|
||||
|
||||
decimal? ueberstundenVormonatFuerDienstplanung;
|
||||
decimal? alteExtraUeberstundenDienstplanung;
|
||||
//empDetail.DienstplanIst += BerechneDienstplanIst(empDetail, alleDiensteintraege, alleDienstvertretungen, ro.ReportStartDate,
|
||||
// out ueberstundenVormonatFuerDienstplanung, out alteExtraUeberstundenDienstplanung); // ABCDEF
|
||||
|
||||
var dienstplanIstAlsStunden = empDetail.DienstplanIst / 60;
|
||||
|
||||
decimal extraStunden = 0;
|
||||
|
||||
BerechneExtraUeberstunden(emp, monatsAnfang, monatsEnde, out extraStunden);
|
||||
BerechneExtraUeberstunden(emp, monatsAnfang, monatsEnde, out extraStunden); // OverTimes
|
||||
|
||||
if (ShouldCreateDayDetails())
|
||||
{
|
||||
@@ -434,7 +445,224 @@ namespace BeWo.Report.ReportObjects
|
||||
ro.EmployeeDetailList = FilterEmployeeList(ro.EmployeeDetailList);
|
||||
}
|
||||
|
||||
protected virtual void StarteBerechnung(DateTime berichtsAnfang, DateTime berichtsEnde, MitarbeiterstundenkontoRO.EmployeeDetail empDetail)
|
||||
#region Ist-Berechnung für Dienstplanung
|
||||
public decimal BerechneDienstplanIst(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, List<DienstEintrag> eintraege, List<Dienstvertretung> vertretungen, DateTime monat, out decimal? ueberstunden, out decimal? alteExtraUeberstunden) // ABCDEF
|
||||
{
|
||||
ueberstunden = null;
|
||||
alteExtraUeberstunden = 0;
|
||||
|
||||
decimal dpIst = 0;
|
||||
|
||||
|
||||
MitarbeiterstundenkontoRO.EmployeeDetail edTotal = new MitarbeiterstundenkontoRO.EmployeeDetail();
|
||||
Employee emp = empDetail.Employee;
|
||||
Contract c = emp.FirstContract;
|
||||
|
||||
// Der Einfachheit halber: Vertretungen in Einträge umwandeln
|
||||
eintraege.AddRange(VertretungenUmwandeln(vertretungen.ToList()));
|
||||
|
||||
if (c != null)
|
||||
{
|
||||
Dictionary<string, List<DienstEintrag>> eintragDict = CreateDiensteintragDictByDate(eintraege);
|
||||
|
||||
DateTime start = c.EntryDate.HasValue ? c.EntryDate.Value : new DateTime(2011, 1, 1);
|
||||
while (c != null && start < monat)
|
||||
{
|
||||
DateTime contractEnd = c.ContractEndDate.HasValue ? c.ContractEndDate.Value : DateTime.MaxValue;
|
||||
decimal bu = 0;
|
||||
decimal weeklyTotalHours = this.maxWochenstunden;
|
||||
int anzWochentage = ANZ_WOCHENTAGE;
|
||||
|
||||
if (c.WeeklyTotalHours.HasValue)
|
||||
{
|
||||
weeklyTotalHours = c.WeeklyTotalHours.Value;
|
||||
bu = c.WeeklyTotalHours.Value / maxWochenstunden;
|
||||
}
|
||||
|
||||
while (start < monat && start < contractEnd)
|
||||
{
|
||||
decimal flsIst = 0;
|
||||
decimal mittelbarIst = 0;
|
||||
decimal minutenMonat = 0;
|
||||
DateTime ende = new DateTime(start.Year, start.Month, 1).AddMonths(1);
|
||||
if (contractEnd < DateTime.MaxValue && contractEnd.AddDays(1) < ende)
|
||||
ende = contractEnd.AddDays(1);
|
||||
|
||||
List<DienstEintrag> entriesThisMonth = new List<DienstEintrag>();
|
||||
string key = string.Format("{0:yyyyMM}", start);
|
||||
|
||||
if (eintragDict.ContainsKey(key))
|
||||
{
|
||||
foreach (var item in eintragDict[key])
|
||||
{
|
||||
minutenMonat += Convert.ToDecimal(item.DauerInStunden * 60);
|
||||
entriesThisMonth.Add(item);
|
||||
}
|
||||
}
|
||||
dpIst += minutenMonat;
|
||||
|
||||
decimal arbeitstage = GetArbeitstageImBereich(start, ende, emp);
|
||||
|
||||
var arbeitstageProWoche = anzWochentage;
|
||||
if (c != null && c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
|
||||
arbeitstageProWoche = c.WeeklyDays.Value;
|
||||
|
||||
var soll = GetSollNachArbeitszeiten(emp, start, ende);
|
||||
if (!soll.HasValue)
|
||||
{
|
||||
var stundenSollProMonat = BerechneSollProMonat(emp, start, ende);
|
||||
soll = stundenSollProMonat;
|
||||
}
|
||||
|
||||
if (!soll.HasValue)
|
||||
{
|
||||
|
||||
if (!soll.HasValue)
|
||||
{
|
||||
decimal maxSollMonat = arbeitstage * (maxWochenstunden / arbeitstageProWoche);
|
||||
if (arbeitstageProWoche <= 5)
|
||||
{
|
||||
maxSollMonat = arbeitstage * (maxWochenstunden / 5);
|
||||
}
|
||||
|
||||
soll = maxSollMonat * bu;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
decimal sollMitarbeiter = soll ?? 0;
|
||||
var ath = GetAbsenceTimeDaysWithWorkWeeks(emp, start, ende, arbeitstageProWoche);
|
||||
|
||||
MitarbeiterstundenkontoRO.EmployeeDetail ed = new MitarbeiterstundenkontoRO.EmployeeDetail();
|
||||
ed.SollProTag = weeklyTotalHours / arbeitstageProWoche;
|
||||
ed.ArbeitstageProWoche = arbeitstageProWoche;
|
||||
ed.ArbeitstageImBerichtszeitraum = arbeitstage;
|
||||
ed.SollProWoche = BerechneSollProWoche(c, ed);
|
||||
ed.AbsenceTimeDays = ath;
|
||||
ed.Employee = emp;
|
||||
ed.StundenSollMax = sollMitarbeiter;
|
||||
|
||||
if (ath.TageGesamt.HasValue)
|
||||
{
|
||||
var minusStunden = BerechneStundenDurchAbwesenheiten(ath, start, ende, c, ed);
|
||||
sollMitarbeiter -= minusStunden;
|
||||
if (sollMitarbeiter < 0 && !StundenDurchAbwesenheitenDuerfenNegativSein())
|
||||
{
|
||||
sollMitarbeiter = 0;
|
||||
}
|
||||
}
|
||||
|
||||
decimal stundenMonat = minutenMonat / 60m;
|
||||
stundenMonat = ((flsIst * AddRateFactorToIst()) + mittelbarIst) / 60m;
|
||||
|
||||
|
||||
if (!ueberstunden.HasValue)
|
||||
ueberstunden = 0;
|
||||
ueberstunden += stundenMonat - sollMitarbeiter;
|
||||
|
||||
decimal extraUeberstunden = 0;
|
||||
BerechneExtraUeberstunden(emp, start, ende, out extraUeberstunden);
|
||||
ueberstunden += extraUeberstunden;
|
||||
|
||||
alteExtraUeberstunden = extraUeberstunden;
|
||||
|
||||
ed.StundenSollOhneUrlaubKrankheit = sollMitarbeiter;
|
||||
ed.StundenGesamtIst = stundenMonat;
|
||||
ed.Ueberstunden = ueberstunden;
|
||||
ed.UeberstundenVormonat = edTotal.Ueberstunden;
|
||||
|
||||
edTotal.StundenSollOhneUrlaubKrankheit += sollMitarbeiter;
|
||||
edTotal.StundenSollMax += soll ?? 0;
|
||||
edTotal.FlsIst += flsIst / 60;
|
||||
edTotal.MittelbarIst += mittelbarIst / 60;
|
||||
edTotal.StundenGesamtIst += stundenMonat;
|
||||
edTotal.Ueberstunden = ueberstunden;
|
||||
|
||||
start = ende;
|
||||
}
|
||||
|
||||
if (start >= contractEnd)
|
||||
{
|
||||
var ctemp = GetNextValidContractForDate(start, emp);
|
||||
if (ctemp != null && ctemp.Oid != c.Oid)
|
||||
{
|
||||
c = ctemp;
|
||||
}
|
||||
else
|
||||
{
|
||||
c = null;
|
||||
}
|
||||
|
||||
if (c != null && c.EntryDate.HasValue && c.EntryDate >= start)
|
||||
start = c.EntryDate.Value;
|
||||
else
|
||||
{
|
||||
start = start.AddMonths(1);
|
||||
c = GetNextValidContractForDate(start, emp);
|
||||
if (c != null && c.EntryDate.HasValue && c.EntryDate >= start)
|
||||
start = c.EntryDate.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return dpIst;
|
||||
}
|
||||
|
||||
private Dictionary<string, List<DienstEintrag>> CreateDiensteintragDictByDate(List<DienstEintrag> eintraege)
|
||||
{
|
||||
var dict = new Dictionary<string, List<DienstEintrag>>();
|
||||
|
||||
foreach (var item in eintraege)
|
||||
{
|
||||
//if (!IsServiceRecordFehlzeit(item))
|
||||
//{
|
||||
|
||||
string key = string.Format("{0:yyyyMM}", item.Datum);
|
||||
|
||||
List<DienstEintrag> list;
|
||||
if (!dict.ContainsKey(key))
|
||||
{
|
||||
list = new List<DienstEintrag>();
|
||||
dict.Add(key, list);
|
||||
}
|
||||
else
|
||||
{
|
||||
list = dict[key];
|
||||
}
|
||||
list.Add(item);
|
||||
|
||||
//}
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
|
||||
private List<DienstEintrag> VertretungenUmwandeln(List<Dienstvertretung> vertretungen)
|
||||
{
|
||||
List<DienstEintrag> eintraege = new List<DienstEintrag>();
|
||||
|
||||
foreach (var v in vertretungen)
|
||||
{
|
||||
eintraege.Add(new DienstEintrag()
|
||||
{
|
||||
Datum = v.Datum,
|
||||
DauerInStunden = v.DauerInStunden,
|
||||
DienstOid = v.DienstOid,
|
||||
EmployeeOid = v.EmployeeOid,
|
||||
Endzeit = v.Endzeit,
|
||||
Notice = v.Notice,
|
||||
Startzeit = v.Startzeit,
|
||||
WohnheimOid = v.WohnheimOid,
|
||||
Zeile = v.Zeile
|
||||
});
|
||||
}
|
||||
|
||||
return eintraege;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
protected virtual void StarteBerechnung(DateTime berichtsAnfang, DateTime berichtsEnde, MitarbeiterstundenkontoRO.EmployeeDetail empDetail)
|
||||
{
|
||||
//do nothing
|
||||
}
|
||||
|
||||
@@ -339,6 +339,7 @@ namespace BeWo.Report.ReportObjects
|
||||
public decimal? EmployeeSalaryByContract { get; set; }
|
||||
public decimal? EmployeeSalaryByHours { get; set; }
|
||||
public EmploymentType EmploymentType { get; set; }
|
||||
public decimal DienstplanIst { get; set; }
|
||||
}
|
||||
|
||||
public class DayDetail
|
||||
|
||||
@@ -14,7 +14,8 @@ namespace BeWo.Report.ReportObjects
|
||||
public List<PageObject> PageObjects { get; set; }
|
||||
|
||||
public static RosterIstRO Create(List<DienstEintragDC> dienstEintragDCs, List<DienstvertretungDC> dienstvertretungDCs, List<EmployeeDC> employee,
|
||||
List<DienstInfoDC> dienstInfoDCs, CompactWohnheimDC compactWohnheimDC, int year, int month, List<FeiertagDC> feiertage, List<AbsenceTimeDC> absences)
|
||||
List<DienstInfoDC> dienstInfoDCs, CompactWohnheimDC compactWohnheimDC, int year, int month, List<FeiertagDC> feiertage, List<AbsenceTimeDC> absences,
|
||||
Dictionary<long?, decimal> stundenBeiAbwesenheit)
|
||||
{
|
||||
RosterIstRO ro = new RosterIstRO();
|
||||
ro.PageObjects = new List<PageObject>();
|
||||
@@ -31,11 +32,11 @@ namespace BeWo.Report.ReportObjects
|
||||
var datum = new DateTime(year, month, i);
|
||||
if (absences.Any(a => datum >= a.Start && datum <= a.End && a.EmployeeOid == emp.EmployeeOid && a.Reason.Description.ToLower().Contains("urlaub")))
|
||||
{
|
||||
ur = "X";
|
||||
ur = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
}
|
||||
else if (absences.Any(a => datum >= a.Start && datum <= a.End && a.EmployeeOid == emp.EmployeeOid && a.Reason.Description.ToLower().Contains("krank")))
|
||||
{
|
||||
kr = "X";
|
||||
kr = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
}
|
||||
|
||||
eintraege.Add(new Listeneintrag()
|
||||
@@ -59,7 +60,7 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
foreach (var item in dienstEintragDCs)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(item, null, absences);
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(item, null, absences, stundenBeiAbwesenheit);
|
||||
|
||||
var temp = eintraege.First(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
if (temp != null)
|
||||
@@ -67,12 +68,12 @@ namespace BeWo.Report.ReportObjects
|
||||
eintraege[temp.Position] = new Listeneintrag()
|
||||
{
|
||||
Datum = item.Datum,
|
||||
DauerInStunden = string.Format("{0:0.00h}", item.DauerInStunden),
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
EmployeeOid = item.EmployeeOid,
|
||||
Endzeit = item.Endzeit + " Uhr",
|
||||
Endzeit = item.Endzeit,
|
||||
Notice = item.Notice,
|
||||
Startzeit = item.Startzeit + " Uhr",
|
||||
Startzeit = item.Startzeit,
|
||||
Urlaub = urlaubKrankheit[0],
|
||||
Krankheit = urlaubKrankheit[1]
|
||||
};
|
||||
@@ -80,7 +81,7 @@ namespace BeWo.Report.ReportObjects
|
||||
}
|
||||
foreach (var item in dienstvertretungDCs)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(null, item, absences);
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(null, item, absences, stundenBeiAbwesenheit);
|
||||
|
||||
var temp = eintraege.First(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
if (temp != null)
|
||||
@@ -88,12 +89,12 @@ namespace BeWo.Report.ReportObjects
|
||||
eintraege[temp.Position] = new Listeneintrag()
|
||||
{
|
||||
Datum = item.Datum,
|
||||
DauerInStunden = string.Format("{0:0.00h}", item.DauerInStunden),
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
EmployeeOid = item.EmployeeOid,
|
||||
Endzeit = item.Endzeit + " Uhr",
|
||||
Endzeit = item.Endzeit,
|
||||
Notice = item.Notice,
|
||||
Startzeit = item.Startzeit + " Uhr",
|
||||
Startzeit = item.Startzeit,
|
||||
Urlaub = urlaubKrankheit[0],
|
||||
Krankheit = urlaubKrankheit[1]
|
||||
};
|
||||
@@ -115,7 +116,7 @@ namespace BeWo.Report.ReportObjects
|
||||
return ro;
|
||||
}
|
||||
|
||||
private static string[] UrlaubUndKrankheitUeberpruefen(DienstEintragDC eintrag, DienstvertretungDC vertretung, List<AbsenceTimeDC> abwesenheiten)
|
||||
private static string[] UrlaubUndKrankheitUeberpruefen(DienstEintragDC eintrag, DienstvertretungDC vertretung, List<AbsenceTimeDC> abwesenheiten, Dictionary<long?, decimal> stundenBeiAbwesenheit)
|
||||
{
|
||||
string[] urlaubKrankheit = new string[] { " ", " " };
|
||||
if (eintrag != null)
|
||||
@@ -125,9 +126,9 @@ namespace BeWo.Report.ReportObjects
|
||||
if (eintrag.Datum >= absence.Start && eintrag.Datum <= absence.End.Value && eintrag.EmployeeOid == absence.EmployeeOid)
|
||||
{
|
||||
if (absence.Reason.Description.ToLower().Contains("urlaub"))
|
||||
urlaubKrankheit[0] = "X";
|
||||
urlaubKrankheit[0] = string.Format("{0:0.00}", stundenBeiAbwesenheit[absence.EmployeeOid]);
|
||||
else if (absence.Reason.Description.ToLower().Contains("krank"))
|
||||
urlaubKrankheit[1] = "X";
|
||||
urlaubKrankheit[1] = string.Format("{0:0.00}", stundenBeiAbwesenheit[absence.EmployeeOid]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -138,9 +139,9 @@ namespace BeWo.Report.ReportObjects
|
||||
if (vertretung.Datum >= absence.Start && vertretung.Datum <= absence.End.Value && vertretung.EmployeeOid == absence.EmployeeOid)
|
||||
{
|
||||
if (absence.Reason.Description.ToLower().Contains("urlaub"))
|
||||
urlaubKrankheit[0] = "X";
|
||||
urlaubKrankheit[0] = string.Format("{0:0.00}", stundenBeiAbwesenheit[absence.EmployeeOid]);
|
||||
else if (absence.Reason.Description.ToLower().Contains("krank"))
|
||||
urlaubKrankheit[1] = "X";
|
||||
urlaubKrankheit[1] = string.Format("{0:0.00}", stundenBeiAbwesenheit[absence.EmployeeOid]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using BeWo.Report.ReportObjects;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BS.Shared.Core;
|
||||
using BeWo.Report;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace DomizielAnsbach
|
||||
{
|
||||
@@ -16,6 +17,24 @@ namespace DomizielAnsbach
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
var newSip = new ServiceInvoicePeriodRO();
|
||||
|
||||
foreach (var sip in pRO.ServiceInvoicePeriods)
|
||||
{
|
||||
var newItem = new ServiceInvoiceItemRO();
|
||||
|
||||
foreach (var item in sip.ServiceInvoiceItems)
|
||||
{
|
||||
newItem.UnitCount += item.UnitCount;
|
||||
newItem.NetAmount += item.NetAmount;
|
||||
newItem.ServiceDescription = item.ServiceDescription;
|
||||
}
|
||||
|
||||
newSip.ServiceInvoiceItems.Add(newItem);
|
||||
}
|
||||
pRO.ServiceInvoicePeriods = new List<ServiceInvoicePeriodRO>();
|
||||
pRO.ServiceInvoicePeriods.Add(newSip);
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
|
||||
104
ReportImp/DomizielAnsbach/CustomReportCreator.cs
Normal file
104
ReportImp/DomizielAnsbach/CustomReportCreator.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace DomizielAnsbach
|
||||
{
|
||||
public class CustomReportCreator : DefaultReportCreator
|
||||
{
|
||||
public override XtraReport CreateServiceInvoiceReport(String dcIds, long? invoiceBaseOid)
|
||||
{
|
||||
if (String.IsNullOrEmpty(dcIds) && invoiceBaseOid.HasValue)
|
||||
{
|
||||
var serviceInvoice = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoiceBaseOid.Value);
|
||||
dcIds = String.Format("{0}", serviceInvoice.Oid);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(dcIds))
|
||||
{
|
||||
var serviceInvoiceOid2CostbearerId = new Dictionary<long, string>();
|
||||
var dcList = new List<ServiceInvoiceDC>();
|
||||
|
||||
var dcidStrs = dcIds.Split(';');
|
||||
foreach (var oidStr in dcidStrs)
|
||||
{
|
||||
var oid = long.Parse(oidStr);
|
||||
var invoice = DAOFactory.GenericDAO.LoadByID<ServiceInvoice>(oid);
|
||||
var dc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(invoice);
|
||||
dcList.Add(dc);
|
||||
|
||||
if (serviceInvoiceOid2CostbearerId.ContainsKey(oid))
|
||||
continue;
|
||||
|
||||
if (!String.IsNullOrEmpty(invoice.InvoiceBase.InvoiceId))
|
||||
serviceInvoiceOid2CostbearerId.Add(oid, invoice.InvoiceBase.InvoiceId);
|
||||
else
|
||||
{
|
||||
foreach (var period in invoice.ServiceInvoicePeriodList)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (period.SupportConceptApprovalPeriod != null)
|
||||
AddCostBearerIdToDict(oid, serviceInvoiceOid2CostbearerId, period.SupportConceptApprovalPeriod.CostBearer2SupportConcept);
|
||||
|
||||
foreach (var item in period.InvoiceItemList)
|
||||
{
|
||||
if (item.SupportConceptApprovalPeriodOid.HasValue)
|
||||
{
|
||||
var approvalPeriod = DAOFactory.GenericDAO.LoadByID<SupportConceptApprovalPeriod>(item.SupportConceptApprovalPeriodOid.Value);
|
||||
if (approvalPeriod.CostBearer2SupportConcept != null)
|
||||
AddCostBearerIdToDict(oid, serviceInvoiceOid2CostbearerId, approvalPeriod.CostBearer2SupportConcept);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IBeWoReport<ServiceInvoiceRO> allReports = null;
|
||||
|
||||
foreach (var iDC in dcList)
|
||||
{
|
||||
String reportId = null;
|
||||
if (serviceInvoiceOid2CostbearerId.ContainsKey(iDC.ServiceInvoiceOid.Value))
|
||||
reportId = serviceInvoiceOid2CostbearerId[iDC.ServiceInvoiceOid.Value];
|
||||
|
||||
IBeWoReport<ServiceInvoiceRO> singleReport = FindReportImp<ServiceInvoiceRO>(reportId);
|
||||
|
||||
singleReport.SetReportDataSource(ServiceInvoiceRO.Create(iDC));
|
||||
((XtraReport)singleReport).CreateDocument();
|
||||
if (allReports == null)
|
||||
allReports = singleReport;
|
||||
else
|
||||
((XtraReport)allReports).Pages.AddRange(((XtraReport)singleReport).Pages);
|
||||
|
||||
if (reportId == "RgBezirkDetail")
|
||||
{
|
||||
singleReport = FindReportImp<ServiceInvoiceRO>("RgBezirk");
|
||||
singleReport.SetReportDataSource(ServiceInvoiceRO.Create(iDC));
|
||||
((XtraReport)singleReport).CreateDocument();
|
||||
if (allReports == null)
|
||||
allReports = singleReport;
|
||||
else
|
||||
((XtraReport)allReports).Pages.AddRange(((XtraReport)singleReport).Pages);
|
||||
}
|
||||
}
|
||||
|
||||
return allReports as XtraReport;
|
||||
}
|
||||
return new XtraReport();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,19 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="RechnungBezirk.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RechnungBezirk.Designer.cs">
|
||||
<DependentUpon>RechnungBezirk.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RechnungBezirkDetail.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RechnungBezirkDetail.Designer.cs">
|
||||
<DependentUpon>RechnungBezirkDetail.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CollectiveBillingReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -60,6 +73,7 @@
|
||||
<Compile Include="InvoiceCustomerReport.Designer.cs">
|
||||
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\StationaerInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CollectiveInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
@@ -102,6 +116,14 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="RechnungBezirk.resx">
|
||||
<DependentUpon>RechnungBezirk.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RechnungBezirkDetail.resx">
|
||||
<DependentUpon>RechnungBezirkDetail.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="QuittierungsbelegPB.resx">
|
||||
<DependentUpon>QuittierungsbelegPB.cs</DependentUpon>
|
||||
|
||||
@@ -3,15 +3,11 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
|
||||
@@ -28,50 +24,36 @@ namespace DomizielAnsbach.Invoicing
|
||||
{
|
||||
var costBearer = DAOFactory.GenericDAO.LoadByID<CostBearer>(costBearerOid);
|
||||
var invoiceList = new List<ServiceInvoice>();
|
||||
|
||||
var invoiceCounter = 0;
|
||||
ServiceInvoice invoice;
|
||||
|
||||
invoice = CreateCollectiveBilling2(costBearer, invoicePeriod, supportConcepts2ServiceRecords);
|
||||
if (invoice != null)
|
||||
{
|
||||
invoiceList.Add(invoice);
|
||||
}
|
||||
|
||||
|
||||
var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList();
|
||||
|
||||
return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
|
||||
}
|
||||
|
||||
private ServiceInvoice CreateCollectiveBilling2(CostBearer costBearer, DateTimeSpan invoicePeriod, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
var invoice = new ServiceInvoice();
|
||||
|
||||
var newDict = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
|
||||
|
||||
foreach (var sc2sr in supportConcepts2ServiceRecords)
|
||||
{
|
||||
if (sc2sr.Key.IsApproved)
|
||||
{
|
||||
newDict.Add(sc2sr.Key, sc2sr.Value);
|
||||
}
|
||||
}
|
||||
|
||||
SetRecipientInformation(invoice, costBearer);
|
||||
SetSenderInformation(invoice);
|
||||
SetInvoiceBaseData(0, invoice, costBearer, invoicePeriod, newDict.Keys.ToList());
|
||||
SetCollectiveBillingBaseData(0, invoice, costBearer, invoicePeriod, newDict);
|
||||
|
||||
SetCollectiveBillingServiceInvoicePeriods(invoice, invoicePeriod, newDict);
|
||||
|
||||
SetServiceInvoicePeriodAmounts(invoice);
|
||||
|
||||
// Spitzabrechnung
|
||||
if (invoicePeriod == null)
|
||||
{
|
||||
SetAmountAdvancePayments(invoice);
|
||||
}
|
||||
return invoice;
|
||||
}
|
||||
|
||||
@@ -86,9 +68,6 @@ namespace DomizielAnsbach.Invoicing
|
||||
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
|
||||
Calculations calc)
|
||||
{
|
||||
|
||||
@@ -8,14 +8,20 @@ namespace DomizielAnsbach.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
|
||||
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
|
||||
foreach (var list in supportConcepts2ServiceRecords.Values)
|
||||
{
|
||||
|
||||
foreach (var sr in list)
|
||||
{
|
||||
if (sr.CostBearer != null)
|
||||
if (sr.CostBearer.Name.Contains("Bezirk Mittelfranken (stationär)"))
|
||||
return new StationaerInvoiceCreation();
|
||||
}
|
||||
}
|
||||
return new CollectiveInvoiceCreation();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
175
ReportImp/DomizielAnsbach/Invoicing/StationaerInvoiceCreation.cs
Normal file
175
ReportImp/DomizielAnsbach/Invoicing/StationaerInvoiceCreation.cs
Normal file
@@ -0,0 +1,175 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
|
||||
namespace DomizielAnsbach.Invoicing
|
||||
{
|
||||
public class StationaerInvoiceCreation : InvoiceCreation
|
||||
{
|
||||
private const decimal TAGESPAUSCHALE = 129.55m;
|
||||
private const decimal FREIHALTEGEBUEHR = 103.64m;
|
||||
|
||||
private DateTime? accountingPeriodStart = null;
|
||||
private DateTime? accountingPeriodEnd = null;
|
||||
|
||||
public override void SetInvoiceId(ServiceInvoice invoice)
|
||||
{
|
||||
invoice.InvoiceBase.InvoiceId = "RgBezirkDetail";
|
||||
invoice.InvoiceBase.InvoiceTypeText = "Sammelrechnung Bezirk";
|
||||
}
|
||||
|
||||
public override List<ServiceInvoiceDC> GenerateServiceInvoices(long costBearerOid,
|
||||
DateTimeSpan invoicePeriod,
|
||||
Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
var costBearer = DAOFactory.GenericDAO.LoadByID<CostBearer>(costBearerOid);
|
||||
var invoiceList = new List<ServiceInvoice>();
|
||||
ServiceInvoice invoice;
|
||||
|
||||
invoice = CreateCollectiveBilling2(costBearer, invoicePeriod, supportConcepts2ServiceRecords);
|
||||
if (invoice != null)
|
||||
invoiceList.Add(invoice);
|
||||
|
||||
var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList();
|
||||
return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
|
||||
}
|
||||
|
||||
private ServiceInvoice CreateCollectiveBilling2(CostBearer costBearer, DateTimeSpan invoicePeriod, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
var invoice = new ServiceInvoice();
|
||||
var newDict = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();
|
||||
|
||||
foreach (var sc2sr in supportConcepts2ServiceRecords)
|
||||
{
|
||||
if (sc2sr.Key.IsApproved)
|
||||
newDict.Add(sc2sr.Key, sc2sr.Value);
|
||||
}
|
||||
|
||||
SetRecipientInformation(invoice, costBearer);
|
||||
SetSenderInformation(invoice);
|
||||
SetInvoiceBaseData(0, invoice, costBearer, invoicePeriod, newDict.Keys.ToList());
|
||||
SetCollectiveBillingBaseData(0, invoice, costBearer, invoicePeriod, newDict);
|
||||
SetCollectiveBillingServiceInvoicePeriods(invoice, invoicePeriod, newDict);
|
||||
SetServiceInvoicePeriodAmounts(invoice);
|
||||
|
||||
SetAmountAdvancePayments(invoice);
|
||||
|
||||
return invoice;
|
||||
}
|
||||
|
||||
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
|
||||
IList<CompactSupportConceptDC> supportConceptList)
|
||||
{
|
||||
if (invoicePeriod != null)
|
||||
{
|
||||
accountingPeriodStart = invoicePeriod.StartDate;
|
||||
accountingPeriodEnd = invoicePeriod.EndDate;
|
||||
}
|
||||
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
|
||||
}
|
||||
|
||||
public override void SetInvoiceItems(ServiceInvoice invoice,
|
||||
ServiceInvoicePeriod serviceInvoicePeriod,
|
||||
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
|
||||
CostBearer2SupportConcept cb2sc,
|
||||
DateTimeSpan invoicePeriod,
|
||||
List<ServiceRecordDC> serviceRecords)
|
||||
{
|
||||
var itemList = CreateInvoiceItems(null, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, null);
|
||||
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
|
||||
}
|
||||
|
||||
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
|
||||
Calculations calc)
|
||||
{
|
||||
IList<InvoiceItem> ergebnis = new List<InvoiceItem>();
|
||||
var customer = scap.CostBearer2SupportConcept.SupportConcept.Customer;
|
||||
DateTime start;
|
||||
DateTime ende;
|
||||
if (scap.StartDate <= invoicePeriod.StartDate)
|
||||
start = invoicePeriod.StartDate;
|
||||
else
|
||||
start = (DateTime)scap.StartDate;
|
||||
if (scap.EndDate >= invoicePeriod.EndDate)
|
||||
ende = invoicePeriod.EndDate;
|
||||
else
|
||||
ende = (DateTime)scap.EndDate;
|
||||
var monate = DateTimeUtils.GetTotalMonths(start, ende);
|
||||
|
||||
while (start <= ende)
|
||||
{
|
||||
var tage = invoicePeriod.EndDate.Subtract(invoicePeriod.StartDate).Days + 1;
|
||||
DateTime monatStart = new DateTime(start.Year, start.Month, 1);
|
||||
DateTime monatEnde = monatStart.AddMonths(1);
|
||||
var tageMonat = monatEnde.Subtract(monatStart).Days;
|
||||
int tageAbwesendImMonat = 0;
|
||||
decimal? sumCustomerMonth = 0;
|
||||
foreach (var at in customer.AbsenceTimes)
|
||||
{
|
||||
if (at.Start.HasValue && at.Start.Value < monatEnde &&
|
||||
(!at.End.HasValue || at.End.Value >= monatStart))
|
||||
{
|
||||
DateTime dt = at.Start.Value;
|
||||
DateTime dtEnde = monatEnde.AddMonths(1); // nächstenMonat mit berücksichtigen um Abwesenheiten zu prüfen, die in den nächsten Monat mit hineingehen
|
||||
|
||||
if (at.End.HasValue && at.End.Value < monatEnde)
|
||||
{
|
||||
while (dt <= at.End.Value)
|
||||
{
|
||||
tageAbwesendImMonat++;
|
||||
dt = dt.AddDays(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var ii = new InvoiceItem();
|
||||
ii.UnitCount = tageMonat - tageAbwesendImMonat;
|
||||
ii.AmountPerUnit = TAGESPAUSCHALE;
|
||||
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
sumCustomerMonth += ii.AmountTotal;
|
||||
ii.MaxApprovedAmount = null;
|
||||
ii.ItemDescription = "Klientenname";
|
||||
ii.UnitDescription = "Vergütung";
|
||||
ii.ItemPeriodStart = monatStart;
|
||||
ii.Notice = monatStart.ToString("MMMM");
|
||||
ii.SupportConceptApprovalPeriodOid = scap.Oid;
|
||||
|
||||
ergebnis.Add(ii);
|
||||
|
||||
|
||||
ii = new InvoiceItem();
|
||||
ii.UnitCount = tageAbwesendImMonat;
|
||||
ii.AmountPerUnit = FREIHALTEGEBUEHR;
|
||||
ii.AmountTotal = ii.UnitCount * ii.AmountPerUnit;
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
sumCustomerMonth += ii.AmountTotal;
|
||||
ii.MaxApprovedAmount = sumCustomerMonth;
|
||||
ii.ItemDescription = "Klientenname";
|
||||
ii.UnitDescription = "Platzfreihaltegeb.";
|
||||
ii.ItemPeriodStart = monatStart;
|
||||
ii.Notice = monatStart.ToString("MMMM");
|
||||
ii.SupportConceptApprovalPeriodOid = scap.Oid;
|
||||
|
||||
ergebnis.Add(ii);
|
||||
|
||||
start = start.AddMonths(1);
|
||||
start = new DateTime(start.Year, start.Month, 1);
|
||||
}
|
||||
|
||||
return ergebnis;
|
||||
}
|
||||
}
|
||||
}
|
||||
1142
ReportImp/DomizielAnsbach/RechnungBezirk.Designer.cs
generated
Normal file
1142
ReportImp/DomizielAnsbach/RechnungBezirk.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
32
ReportImp/DomizielAnsbach/RechnungBezirk.cs
Normal file
32
ReportImp/DomizielAnsbach/RechnungBezirk.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BS.Shared.Core;
|
||||
using BeWo.Report;
|
||||
using System;
|
||||
|
||||
namespace DomizielAnsbach
|
||||
{
|
||||
[IDSpecificClass(Identifier = "RgBezirk")]
|
||||
public partial class SammelrechnungBezirk : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public SammelrechnungBezirk()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
private static int GetQuarter(DateTime actualDate)
|
||||
{
|
||||
int quarter = (int)Math.Ceiling(actualDate.Month / (double)3);
|
||||
|
||||
return quarter;
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
//pRO.NetClaim = pRO.GrossClaim - pRO.AmountAdvancedPayments;
|
||||
lblMonate.Text = "Abschläge " + pRO.AccountingPeriodStart.ToString("MMMM") + " - " + pRO.AccountingPeriodEnd.ToString("MMMM") + " " + pRO.AccountingPeriodEnd.Year.ToString();
|
||||
lblQuartal.Text = GetQuarter(pRO.AccountingPeriodEnd).ToString() + ". Quartal " + pRO.AccountingPeriodEnd.Year.ToString();
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
728
ReportImp/DomizielAnsbach/RechnungBezirk.resx
Normal file
728
ReportImp/DomizielAnsbach/RechnungBezirk.resx
Normal file
@@ -0,0 +1,728 @@
|
||||
<?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>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsN
|
||||
DhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQU
|
||||
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAHMAncDASIAAhEBAxEB/8QA
|
||||
HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
|
||||
MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
|
||||
V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
|
||||
x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
|
||||
BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
|
||||
YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
|
||||
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
|
||||
8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9UKKKKCAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
|
||||
ACiiigAooooAKKKKACiiigApm/5ttPpklACv9ymb1RdzVKn3KZVDH0UUVIgooooAKKKKACiiigAooooA
|
||||
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
|
||||
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
|
||||
KKKKACijfUMkix/xr/wOgvlHeZ/t03cP71c9feOtF0+Rlm1KFGX7y7q5if46eHIblYFaaRd2zzYovkWv
|
||||
PqZhhaUuWUzupZfiavw0pHpdFcjonxC0nWp5YLW6iMsX3ot22uljukkbg1tTxNLEfwpnPWoVaEvfiXE+
|
||||
5TKak2+pa6jEKKKKCAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
|
||||
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
|
||||
gAooooAKKKKACiiigAooooAKKKKACiiigAooooABTJG9GoqK5dUV91Rzci5pFxOX8eeNofB+mtMUaaf+
|
||||
GJP4q+dvGHxT1nxNM8bXMlnb7v8AVQ//ABeyrHxb8SPrfiu8Zf30Vu3lRfNuT/brz2aYtayrs/vbdq/L
|
||||
t/76r8I4m4mryryoUJcsT9kyDI6FOhGtVj7xZmvpVk3Tz/8Afcu/d/sfNVazuVml2qzb2VX2RLR5yQt5
|
||||
bbk2tu+f5aYlw235t0qr8/zSs1fk0sfiJy96Z9z7KP2Cz9p/0dF/j2/df/0OvQfAfxe1XRLxY7meS7st
|
||||
v+qZPn/4DXmf2nzm3LtR923ai/w06N282VopfuL9z733q9XLc+xmBq80ZnHi8toYuly1Yn2V4V8Y23ia
|
||||
xS5tm3/3l/irpI5FNfH/AIJ8Z3nhbVEaNme0VdrJuT/0GvqTwt4otvEOlxXdsyusi71r+jcgz2nm9D/p
|
||||
4fi+dZPVy+rzR+E6FH3rT6iR/wCGpa+xPlgooplBA+iiigAooooAKKKKACiiigAooooAKKKKACiiigAo
|
||||
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
|
||||
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGVXmVXTbVqSopelZv3/AHS4
|
||||
fGfJ3xY0ddJ8W3UcVtGkDfvdq/xbq4YJ5Pms6sqf7LN/8XXvH7QmgGaG31GLd8rbW+Rpdv8AwH+GvCvv
|
||||
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
|
||||
4VVfm3tXzV8SvipdeJpngsj5Vr91X3fer5TOc9w2UUuaUvePoMpyevmVX3fhOq+IXxu+2+fp+ksqL91p
|
||||
f73+7XjdxqEvm75N00rfxO1V/OZ2+Zlp/mN8i7ld6/nTN+IsTm8vekft2X5VQy2ny04le53Ou1ql85nV
|
||||
Nu7fT2XbN5Em3d/eoms/mRmX7vy76+O5qkviPX5gh+8ny/8Aj1Me3WGDd/01+ZWVvu0/bvj27VSL5l+R
|
||||
qe9s32dGVlTai1pGn7vukSkQyL8i7V/dN/zyp9tYSzfLt3uzbFra8O+GLnxJqKWlszO7feeL7iV9FeD/
|
||||
AIN6HoSxXM9nHcXv8Uz/AN6vs8m4VxOby/lifNZpxBQy2PL8Ujxfwx8Htb8QXDiSGSzt/vebcRfe/wDH
|
||||
62fEXwBv9Lt2uLK6juFVdzK6tu/4DX0jHbiNdqDH/Aae0ayR4K5r9Zp8A4GFCUZfEfmkuKsdOrzRfunw
|
||||
tNb/AGad1nkVNvyNUKqqL5qq33vuKv3V/vtXsXxr8DyaPqX9qW0e+1n+VkXd96vJvJ2N/rf3rN8qV+HZ
|
||||
rldXLMT7KUT9ay/MI47DRrxEZI33bf8AvpVb5qiRN3yr9zb8yUeS0TOrL+9Zv4l/hqL93u+Vl8rd96vn
|
||||
pHsj1RdyKy/d+9vpny/Oyx7P721qf8zN/C7M1Dps3s21Pl+VaxLHJcx7vKVfl/3atw30umzpPbbklX59
|
||||
25FrP/2Vkwrf3lp6SL91vnSvSwuMq4afPAzq0vaLkPqr4Y+PoPFOlxRStsulTaybq9CX5RXxl4N8WT+H
|
||||
9U+1233lbYyN/dr6s8H+JrbxNpcV3BKsn8Lba/p3hXPYZnQ5Kv8AEifh3EGTvA1eeHwyOlR91O3fw1Fv
|
||||
21L/AA1+gHxg+imeZRv+agB9MoprvtoAPMPpSJJurF1zxVp2g27z3k6xIv8AeavNr/8AaGtIbh1gspHi
|
||||
3ff3V5OJzTCYL+LM9TC5bi8X/CpnsvmD7tLu+WvCm/aE2f8AMP8A9pldv4ansf2irKZUaS0mRtu/7y15
|
||||
0eIstn/y9O+WQZh/z7Pa9/tS7j7V5XD8dNCePzZWkh3feWuis/ij4fvGTbqcPzN93NepTzLB1v4dWJ51
|
||||
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
|
||||
jXcm5fklr6OtbdbaFUVdirUVtZxWUCRwrsVf4Vqx0r+jclyShlVL3fiPxrMs0q5lX55klFFFfUHihRRR
|
||||
QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADKp3ml218u2aFZV/2lq/TPLrCrQhWjy1S4yl
|
||||
D4DzvWvgvoOpRP5FstpKy7d8K7a5e8/Z2tHX5L+Qou7/AFq7/wCDbXtlO6V8zW4XyvES5p0j2KOcY7D/
|
||||
AA1Twr/hnaSRovM1JdkbfdSKrFj+znbQs7XOpSPub/lkuz5a9tz70fjWMeE8rj9g6JZ9mEv+Xp57YfB3
|
||||
Q7NkYwrLt/vV1Oj+FdN0KLyrK0jiT/ZFa20elPx+Fevh8nwOF/hUonlVMbia/wDFmNRFT7q0+iivbSS2
|
||||
OIKKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGFFF
|
||||
FAgooooAKKKKACiiigAooooAKKKKAImXtsrI1Lwvp+qxtHc2sbo3+xW2PvcGkbtXLXw1HEfxY8xpCpOl
|
||||
70JHnV58FPDd48TeRJDt3fLFJtWpdP8Agv4YsE2rZeYu1V/etu+7XfeXmjGO1eV/YeX83N7KJ6H9pYvl
|
||||
5fayOOj+Fvh1ZFb+zoDs+7uStiHwtpduqbbCH5fu/ukra2U7iumnleDpfDSic8sXXn8Uytb2MEP+rjVf
|
||||
92p6fSE130qMKMfcRzSlz/ELRRRW5AUUUUAFFFFABRRRQAUUUUAFFMR960+gAooooAKKKKACiiigAooo
|
||||
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
|
||||
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBhRRRQIKKK
|
||||
KACiiigAooooAKKKKACiiigAooooAKKKY+/+GgCpf6la6am+5njt0Ztu6WXbVlJopl3xsro38StX5vft
|
||||
uePtTuvjbd6H9puU0q106JVtHidYl+R33/3W+f5ax/gH+1Z4k+HOo6ZpV5P9v8ONcJFLaXDrviVn2fI/
|
||||
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
|
||||
P//Z
|
||||
</value>
|
||||
</data>
|
||||
<data name="xrPictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</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>
|
||||
1476
ReportImp/DomizielAnsbach/RechnungBezirkDetail.Designer.cs
generated
Normal file
1476
ReportImp/DomizielAnsbach/RechnungBezirkDetail.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
68
ReportImp/DomizielAnsbach/RechnungBezirkDetail.cs
Normal file
68
ReportImp/DomizielAnsbach/RechnungBezirkDetail.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BS.Shared.Core;
|
||||
using BeWo.Report;
|
||||
using System;
|
||||
|
||||
namespace DomizielAnsbach
|
||||
{
|
||||
[IDSpecificClass(Identifier = "RgBezirkDetail")]
|
||||
public partial class SammelrechnungBezirkDetail : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public SammelrechnungBezirkDetail()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
private static int GetQuarter(DateTime actualDate)
|
||||
{
|
||||
int quarter = (int)Math.Ceiling(actualDate.Month / (double)3);
|
||||
return quarter;
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
var newSip = new ServiceInvoicePeriodRO();
|
||||
decimal? sumCustomerMonth = 0;
|
||||
string prevMonth = null;
|
||||
var counter = 0;
|
||||
|
||||
if (pRO.ServiceInvoicePeriods != null)
|
||||
{
|
||||
foreach (var sip in pRO.ServiceInvoicePeriods)
|
||||
{
|
||||
counter += 1;
|
||||
if (sip.ServiceInvoiceItems != null)
|
||||
{
|
||||
foreach (var sii in sip.ServiceInvoiceItems)
|
||||
{
|
||||
if (prevMonth == null)
|
||||
{
|
||||
sumCustomerMonth = sii.NetAmount;
|
||||
sii.NetAmount = null;
|
||||
}
|
||||
else if (sii.Notice == prevMonth)
|
||||
{
|
||||
sumCustomerMonth += sii.NetAmount;
|
||||
sii.NetAmount = sumCustomerMonth;
|
||||
sii.Notice = null;
|
||||
}
|
||||
else if (sii.Notice != prevMonth)
|
||||
{
|
||||
sumCustomerMonth = sii.NetAmount;
|
||||
sii.NetAmount = null;
|
||||
}
|
||||
prevMonth = sii.Notice;
|
||||
sii.RateFactor = counter.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lblQuartal.Text = GetQuarter(pRO.AccountingPeriodEnd).ToString() + ". Quartal " + pRO.AccountingPeriodEnd.Year.ToString();
|
||||
lblMonate.Text = pRO.AccountingPeriodStart.ToString("MMMM") + " - " + pRO.AccountingPeriodEnd.ToString("MMMM");
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
123
ReportImp/DomizielAnsbach/RechnungBezirkDetail.resx
Normal file
123
ReportImp/DomizielAnsbach/RechnungBezirkDetail.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<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>
|
||||
2005
ReportImp/LebensWert/CustomerDataReport.Designer.cs
generated
Normal file
2005
ReportImp/LebensWert/CustomerDataReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
84
ReportImp/LebensWert/CustomerDataReport.cs
Normal file
84
ReportImp/LebensWert/CustomerDataReport.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared.Core;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using System.Text;
|
||||
using BS.Shared;
|
||||
using BeWo.Report;
|
||||
|
||||
namespace LebensWert
|
||||
{
|
||||
public partial class Klientenstammblatt : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<CustomerDataRO>
|
||||
{
|
||||
public Klientenstammblatt()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(CustomerDataRO pRO)
|
||||
{
|
||||
var c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
|
||||
|
||||
foreach (var sc in c.SupportConcepts)
|
||||
{
|
||||
if (sc.IsActive == ActivationTypeId.Active)
|
||||
{
|
||||
foreach (var c2s in sc.CostBearer2SupportConceptList)
|
||||
{
|
||||
|
||||
if (c2s.StartDate <= DateTime.Now && c2s.EndDate >= DateTime.Now)
|
||||
{
|
||||
lblHilfeplan.Text = c2s.CostBearer.Organisation.Name;
|
||||
foreach (var ap in c2s.ApprovalPeriodList)
|
||||
{
|
||||
if (ap.StartDate <= DateTime.Now && ap.EndDate >= DateTime.Now)
|
||||
{
|
||||
lblBewilligtVon.Text = String.Format("{0:dd.MM.yyyy}", ap.StartDate);
|
||||
lblBewilligtBis.Text = String.Format("{0:dd.MM.yyyy}", ap.EndDate);
|
||||
lblFls.Text = String.Format("{0:0.00}", ap.ApprovedBEPerInterval);
|
||||
lblFlsEinheit.Text = ap.ApprovedBEInterval != null ? EnumTranslations.SupportConceptApprovalInterval2Translations[(SupportConceptApprovalInterval)ap.ApprovedBEInterval] : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (c.Pflegegrad.HasValue)
|
||||
lblPflegegrad.Text = EnumTranslations.PflegegradTranslations[c.Pflegegrad];
|
||||
else
|
||||
{
|
||||
lblPflegegrad.Text = "";
|
||||
}
|
||||
|
||||
if (c.AssistanceBegin.HasValue)
|
||||
{
|
||||
lblBetreuungsbeginn.Text = String.Format("{0:dd.MM.yyyy}", c.AssistanceBegin);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblBetreuungsbeginn.Text = "";
|
||||
}
|
||||
|
||||
StringBuilder betreuungsartSb = new StringBuilder();
|
||||
|
||||
foreach (var v2o in c.ValueList)
|
||||
{
|
||||
if (v2o.Entry.Type == ValueListEntryType.CustomerCareType)
|
||||
{
|
||||
if (betreuungsartSb.Length > 0)
|
||||
{
|
||||
betreuungsartSb.Append(", ");
|
||||
}
|
||||
betreuungsartSb.Append(v2o.Entry.Value);
|
||||
}
|
||||
}
|
||||
|
||||
lblBetreuungsart.Text = betreuungsartSb.ToString();
|
||||
lblMedikation.Text = c.Medication;
|
||||
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
123
ReportImp/LebensWert/CustomerDataReport.resx
Normal file
123
ReportImp/LebensWert/CustomerDataReport.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<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>
|
||||
240
ReportImp/LebensWert/Invoicing/CustomInvoiceCreation.cs
Normal file
240
ReportImp/LebensWert/Invoicing/CustomInvoiceCreation.cs
Normal file
@@ -0,0 +1,240 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms.VisualStyles;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report.DefaultReports;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace LebensWert.Invoicing
|
||||
{
|
||||
public class CustomInvoiceCreation : InvoiceCreation
|
||||
{
|
||||
|
||||
private const decimal AMOUNT_PER_KM_DEFAULT = 0.3m;
|
||||
//private ServiceCategory fahrtkostenServiceCategory = null;
|
||||
private DateTime? accountingPeriodStart = null;
|
||||
private DateTime? accountingPeriodEnd = null;
|
||||
|
||||
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
|
||||
IList<CompactSupportConceptDC> supportConceptList)
|
||||
{
|
||||
if (invoicePeriod != null)
|
||||
{
|
||||
accountingPeriodStart = invoicePeriod.StartDate;
|
||||
accountingPeriodEnd = invoicePeriod.EndDate;
|
||||
}
|
||||
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
|
||||
}
|
||||
|
||||
public override void SetInvoiceItems(ServiceInvoice invoice, ServiceInvoicePeriod serviceInvoicePeriod,
|
||||
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc,
|
||||
DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
|
||||
{
|
||||
Calculations calc = PluginLoader.FindClass<Calculations>(_SpecificID) ?? Calculations.GetInstance(_SpecificID);
|
||||
List<ServiceRecordDC> serviceRecordsInPeriod = serviceRecords.Where(
|
||||
i =>
|
||||
{
|
||||
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value,
|
||||
serviceInvoicePeriod.End.Value, true);
|
||||
|
||||
if (valid && serviceInvoicePeriod.SupportConceptApprovalPeriod != null &&
|
||||
serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory != null)
|
||||
valid = serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory.Oid ==
|
||||
i.ServiceDescription.Category.ServiceCategoryOid;
|
||||
return valid;
|
||||
}).ToList();
|
||||
|
||||
if (serviceRecordsInPeriod.Count > 0)
|
||||
{
|
||||
var itemList = CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, calc);
|
||||
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod,
|
||||
SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
|
||||
{
|
||||
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
|
||||
var fitem = CreateFahrtkostenZoneItem(serviceRecordsInPeriod, invoicePeriod, scap);
|
||||
|
||||
if (fitem != null)
|
||||
list.Add(fitem);
|
||||
|
||||
fitem = CreateFahrtkostenItem(serviceRecordsInPeriod, scap);
|
||||
|
||||
if (fitem != null)
|
||||
list.Add(fitem);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private InvoiceItem CreateFahrtkostenZoneItem(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap)
|
||||
{
|
||||
foreach (var sa in scap.CostBearer2SupportConcept.SupportConcept.ServiceAccountings)
|
||||
{
|
||||
if (sa.ServiceDescription != null && sa.ServiceDescription.Name.Contains("Zone"))
|
||||
{
|
||||
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(sa.ServiceDescription.CostRatePeriods);
|
||||
var crp = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, invoicePeriod.StartDate);
|
||||
if (crp != null && crp.CostRateValue.HasValue)
|
||||
{
|
||||
int count = 0;
|
||||
foreach (var sr in serviceRecordsInPeriod)
|
||||
{
|
||||
if (!sr.ServiceDescription.CategoryName.Contains("Fahrt"))
|
||||
count++;
|
||||
}
|
||||
var ii = new InvoiceItem();
|
||||
ii.UnitCount = count;
|
||||
ii.ItemDescription = sa.ServiceDescription.Name;
|
||||
if (!ii.ItemDescription.Contains("Fahrtkosten"))
|
||||
ii.ItemDescription = "Fahrtkosten " + sa.ServiceDescription.Name;
|
||||
ii.UnitDescription = "Kostenpauschale (je Kontakt)";
|
||||
ii.AmountPerUnit = crp.CostRateValue.Value;
|
||||
ii.ItemPeriodStart = accountingPeriodStart;
|
||||
ii.ItemPeriodEnd = accountingPeriodEnd;
|
||||
ii.AmountTotal = Math.Round(ii.AmountPerUnit.Value * ii.UnitCount.Value, 2, MidpointRounding.AwayFromZero);
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
|
||||
return ii;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||
{
|
||||
var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
if (iServiceRecord != null)
|
||||
{
|
||||
var cat = iServiceRecord.ServiceDescription.CategoryName;
|
||||
var desc = iServiceRecord.ServiceDescription.Name;
|
||||
|
||||
if (cat == "Fachleistungsstunde")
|
||||
{
|
||||
invoiceItem.ItemDescription = "Direkte Leistungen";
|
||||
invoiceItem.UnitDescription = "Fachleistungsstunde (FLS)";
|
||||
}
|
||||
else if (cat == "Fahrtkosten")
|
||||
{
|
||||
return null;
|
||||
if (desc.Contains("Zone"))
|
||||
{
|
||||
invoiceItem.ItemDescription = "Fahrtkosten " + desc;
|
||||
invoiceItem.UnitDescription = "Kostenpauschale (je Kontakt)";
|
||||
}
|
||||
else
|
||||
{
|
||||
invoiceItem.ItemDescription = "Fahrtkosten";
|
||||
invoiceItem.UnitDescription = "Kilometerpauschale (je km)";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
invoiceItem.ItemDescription = desc;
|
||||
invoiceItem.UnitDescription = "Stunde";
|
||||
}
|
||||
}
|
||||
|
||||
return invoiceItem;
|
||||
}
|
||||
|
||||
private InvoiceItem CreateFahrtkostenItem(List<ServiceRecordDC> serviceRecords, SupportConceptApprovalPeriod scap)
|
||||
{
|
||||
decimal amountPerKm = AMOUNT_PER_KM_DEFAULT;
|
||||
InvoiceItem ii = null;
|
||||
foreach (var sr in serviceRecords)
|
||||
{
|
||||
if (sr.DistanceInMeter.HasValue && sr.DistanceInMeter > 0)
|
||||
{
|
||||
//String ma = sr.Employee.LastName;
|
||||
if (ii == null)
|
||||
{
|
||||
ii = new InvoiceItem();
|
||||
ii.UnitCount = 0;
|
||||
ii.ItemDescription = "Fahrtkosten";
|
||||
ii.UnitDescription = "Kilometerpauschale (je km)";
|
||||
ii.AmountPerUnit = amountPerKm;
|
||||
ii.ItemPeriodStart = accountingPeriodStart;
|
||||
ii.ItemPeriodEnd = accountingPeriodEnd;
|
||||
}
|
||||
|
||||
ii.UnitCount += sr.DistanceInMeter;
|
||||
}
|
||||
}
|
||||
if (ii != null)
|
||||
{
|
||||
if (ii.UnitCount.HasValue)
|
||||
{
|
||||
ii.AmountTotal = Math.Round(ii.AmountPerUnit.Value * ii.UnitCount.Value, 2, MidpointRounding.AwayFromZero);
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
}
|
||||
}
|
||||
|
||||
return ii;
|
||||
}
|
||||
|
||||
//public override void CheckMaxApprovedAmount(ServiceInvoice invoice, ServiceInvoicePeriod sip, SupportConceptApprovalPeriodDC scap,
|
||||
//CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
|
||||
//{
|
||||
//do nothing
|
||||
|
||||
// if (sip.ApprovedHours.HasValue && !scap.IsApprovedBEShifting)
|
||||
// {
|
||||
// decimal totalHours = 0;
|
||||
|
||||
// foreach (var ii in sip.InvoiceItemList.Where(ii => ii.UnitCount.HasValue))
|
||||
// {
|
||||
// if (ii.ItemDescription != "Fahrten mit Klienten")
|
||||
// {
|
||||
// if (totalHours + ii.UnitCount.Value > sip.ApprovedHours)
|
||||
// {
|
||||
// ii.UnitCount = sip.ApprovedHours.Value - totalHours;
|
||||
// if (ii.AmountPerUnit.HasValue)
|
||||
// {
|
||||
// ii.AmountTotal = ii.AmountPerUnit.Value*ii.UnitCount;
|
||||
// ii.GrossAmountTotal = ii.AmountTotal;
|
||||
// }
|
||||
// totalHours = sip.ApprovedHours.Value;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// totalHours += ii.UnitCount.Value;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
|
||||
{
|
||||
return String.Format("{0}_{1}_{2:yyyyMM}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.ItemDescription);
|
||||
}
|
||||
//public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList,
|
||||
// DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
|
||||
//{
|
||||
// var items = base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, summaryPerMonth, addRateFactorToUnitCount);
|
||||
|
||||
// foreach (var ii in items)
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// return items;
|
||||
//}
|
||||
}
|
||||
}
|
||||
23
ReportImp/LebensWert/Invoicing/CustomInvoiceFactory.cs
Normal file
23
ReportImp/LebensWert/Invoicing/CustomInvoiceFactory.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace LebensWert.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
|
||||
|
||||
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
return new CustomInvoiceCreation();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
108
ReportImp/LebensWert/LebensWert.csproj
Normal file
108
ReportImp/LebensWert/LebensWert.csproj
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{09BA6418-1FC2-4B45-8CE0-BB9C24499442}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>LebensWert</RootNamespace>
|
||||
<AssemblyName>5478434972_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CustomerDataReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CustomerDataReport.Designer.cs">
|
||||
<DependentUpon>CustomerDataReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Quittierungsbeleg.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Quittierungsbeleg.Designer.cs">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ServiceInvoiceReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ServiceInvoiceReport.Designer.cs">
|
||||
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="CustomerDataReport.resx">
|
||||
<DependentUpon>CustomerDataReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Quittierungsbeleg.resx">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ServiceInvoiceReport.resx">
|
||||
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
36
ReportImp/LebensWert/Properties/AssemblyInfo.cs
Normal file
36
ReportImp/LebensWert/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("LebensWert")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("LebensWert")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
1
ReportImp/LebensWert/Properties/licenses.licx
Normal file
1
ReportImp/LebensWert/Properties/licenses.licx
Normal file
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
1217
ReportImp/LebensWert/Quittierungsbeleg.Designer.cs
generated
Normal file
1217
ReportImp/LebensWert/Quittierungsbeleg.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
190
ReportImp/LebensWert/Quittierungsbeleg.cs
Normal file
190
ReportImp/LebensWert/Quittierungsbeleg.cs
Normal file
@@ -0,0 +1,190 @@
|
||||
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 LebensWert
|
||||
{
|
||||
public partial class Quittierungsbeleg : XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public Quittierungsbeleg()
|
||||
{
|
||||
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;
|
||||
double minuten = 0;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
foreach (var sd in pRO.Services)
|
||||
{
|
||||
if (sd.IsBillable && !sd.ServiceCategory.Contains("Fahrt")) // AB: ich bin mir nicht sicher ob die "Fahrt" hier noch maßgeblich ist...
|
||||
{
|
||||
minuten += sd.Minutes;
|
||||
ServicesOverviewRO.CreateSignatureString(sd);
|
||||
sd.Notice5 = "F";
|
||||
if (sd.ServiceDescription.Contains("ear"))
|
||||
sd.Notice5 = "E";
|
||||
else if (sd.IsGroup)
|
||||
{
|
||||
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
|
||||
hatGruppen = true;
|
||||
sd.Notice5 = "GR";
|
||||
}
|
||||
servicesBillable.Add(sd);
|
||||
}
|
||||
}
|
||||
|
||||
pRO.Services = servicesBillable;
|
||||
}
|
||||
|
||||
pRO.TotalFLMBillable = minuten;
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
private void EmployeeSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
// TODO: Visibile der Datumstextboxen auf true setzen!
|
||||
private void CustomerSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Image ByteArrayToImage(byte[] byteArrayIn)
|
||||
{
|
||||
using(var memoryStream = new MemoryStream(byteArrayIn))
|
||||
{
|
||||
return Image.FromStream(memoryStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
129
ReportImp/LebensWert/Quittierungsbeleg.resx
Normal file
129
ReportImp/LebensWert/Quittierungsbeleg.resx
Normal 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>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAyADIAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmAHMAMgAyAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgBzADIAMgBcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgBzADIAMgBcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAyADIAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAyADIAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAIABpAG0AIABBAGIAcgBlAGMAaABuAHUAbgBnAHMAegBlAGkAdAByAGEAdQBtAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAyADIAXABjAGYAMQAgAEsAZQBpAG4AZQAgAEcAcgB1AHAAcABlAG4AYQBuAGcAZQBiAG8AdABlACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
</root>
|
||||
763
ReportImp/LebensWert/ServiceInvoiceReport.Designer.cs
generated
Normal file
763
ReportImp/LebensWert/ServiceInvoiceReport.Designer.cs
generated
Normal file
@@ -0,0 +1,763 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace LebensWert
|
||||
{
|
||||
partial class ServiceInvoiceReport
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport));
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.xrRichText3 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrRichText4 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = 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.lblZeitraum = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel8 = 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.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
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.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();
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 44.16666F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 60F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrRichText3,
|
||||
this.xrRichText2,
|
||||
this.xrRichText1});
|
||||
this.bottomMarginBand1.HeightF = 91F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// xrRichText3
|
||||
//
|
||||
this.xrRichText3.Font = new System.Drawing.Font("Calibri", 9F);
|
||||
this.xrRichText3.LocationFloat = new DevExpress.Utils.PointFloat(457.991F, 10.00005F);
|
||||
this.xrRichText3.Name = "xrRichText3";
|
||||
this.xrRichText3.SerializableRtfString = resources.GetString("xrRichText3.SerializableRtfString");
|
||||
this.xrRichText3.SizeF = new System.Drawing.SizeF(192.009F, 70.88824F);
|
||||
this.xrRichText3.StylePriority.UseBackColor = false;
|
||||
this.xrRichText3.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText2
|
||||
//
|
||||
this.xrRichText2.Font = new System.Drawing.Font("Calibri", 9F);
|
||||
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(219.7952F, 10.0001F);
|
||||
this.xrRichText2.Name = "xrRichText2";
|
||||
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
|
||||
this.xrRichText2.SizeF = new System.Drawing.SizeF(217.5381F, 70.88824F);
|
||||
this.xrRichText2.StylePriority.UseBackColor = false;
|
||||
this.xrRichText2.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText1
|
||||
//
|
||||
this.xrRichText1.Font = new System.Drawing.Font("Calibri", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(21.78448F, 9.999974F);
|
||||
this.xrRichText1.Name = "xrRichText1";
|
||||
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
|
||||
this.xrRichText1.SizeF = new System.Drawing.SizeF(159.6014F, 70.88824F);
|
||||
this.xrRichText1.StylePriority.UseBackColor = false;
|
||||
this.xrRichText1.StylePriority.UseFont = false;
|
||||
//
|
||||
// Page1
|
||||
//
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrRichText4,
|
||||
this.xrLabel13,
|
||||
this.xrLabel12,
|
||||
this.xrLabel11,
|
||||
this.xrLabel10,
|
||||
this.xrLabel6,
|
||||
this.xrLabel7,
|
||||
this.xrLabel4,
|
||||
this.xrLabel3,
|
||||
this.xrLabel2,
|
||||
this.lblZeitraum,
|
||||
this.xrLabel8});
|
||||
this.Page1.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.Page1.HeightF = 375.9519F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText4
|
||||
//
|
||||
this.xrRichText4.Font = new System.Drawing.Font("Arial", 8F);
|
||||
this.xrRichText4.LocationFloat = new DevExpress.Utils.PointFloat(412.028F, 0F);
|
||||
this.xrRichText4.Name = "xrRichText4";
|
||||
this.xrRichText4.SerializableRtfString = resources.GetString("xrRichText4.SerializableRtfString");
|
||||
this.xrRichText4.SizeF = new System.Drawing.SizeF(254.972F, 198.9583F);
|
||||
this.xrRichText4.StylePriority.UseBackColor = false;
|
||||
this.xrRichText4.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel13.CanShrink = true;
|
||||
this.xrLabel13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerReferenceNumber")});
|
||||
this.xrLabel13.Font = new System.Drawing.Font("Calibri", 12F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(268.7499F, 306.7099F);
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(268.75F, 20.00002F);
|
||||
this.xrLabel13.StylePriority.UseBackColor = false;
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.WordWrap = false;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel12.CanShrink = true;
|
||||
this.xrLabel12.Font = new System.Drawing.Font("Calibri", 12F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(268.75F, 286.7099F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(336.2084F, 20F);
|
||||
this.xrLabel12.StylePriority.UseBackColor = false;
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = "[CustomerSalutation] [CustomerLastName]";
|
||||
this.xrLabel12.WordWrap = false;
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel11.CanShrink = true;
|
||||
this.xrLabel11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
|
||||
this.xrLabel11.Font = new System.Drawing.Font("Calibri", 12F);
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(268.75F, 266.7099F);
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(268.75F, 20.00002F);
|
||||
this.xrLabel11.StylePriority.UseBackColor = false;
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
this.xrLabel11.WordWrap = false;
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel10.CanShrink = true;
|
||||
this.xrLabel10.Font = new System.Drawing.Font("Calibri", 12F);
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 306.7098F);
|
||||
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(268.75F, 20F);
|
||||
this.xrLabel10.StylePriority.UseBackColor = false;
|
||||
this.xrLabel10.StylePriority.UseFont = false;
|
||||
this.xrLabel10.Text = "Aktenzeichen (Az.):";
|
||||
this.xrLabel10.WordWrap = false;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Underline);
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 10.00001F);
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 29.99999F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "LebensWert–Auf dem Bruche 4 – 31832 Springe";
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 39.99999F);
|
||||
this.xrLabel7.Multiline = true;
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 111.5F);
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
|
||||
"tStreet]\r\n[RecipientPostCodeAndTown]";
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Calibri", 12F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 286.7098F);
|
||||
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(268.75F, 20F);
|
||||
this.xrLabel4.StylePriority.UseBackColor = false;
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Kunde:";
|
||||
this.xrLabel4.WordWrap = false;
|
||||
//
|
||||
// xrLabel3
|
||||
//
|
||||
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel3.CanShrink = true;
|
||||
this.xrLabel3.Font = new System.Drawing.Font("Calibri", 12F);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 266.7099F);
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(268.75F, 20.00002F);
|
||||
this.xrLabel3.StylePriority.UseBackColor = false;
|
||||
this.xrLabel3.StylePriority.UseFont = false;
|
||||
this.xrLabel3.Text = "Rechnungsnummer:";
|
||||
this.xrLabel3.WordWrap = false;
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Calibri", 14F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 246.7098F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "Rechnung";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
//
|
||||
// lblZeitraum
|
||||
//
|
||||
this.lblZeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 358.9519F);
|
||||
this.lblZeitraum.Name = "lblZeitraum";
|
||||
this.lblZeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblZeitraum.SizeF = new System.Drawing.SizeF(404.6736F, 17F);
|
||||
this.lblZeitraum.StylePriority.UseFont = false;
|
||||
this.lblZeitraum.Text = "Leistungszeitraum ";
|
||||
//
|
||||
// xrLabel8
|
||||
//
|
||||
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(367.0001F, 223.7098F);
|
||||
this.xrLabel8.Name = "xrLabel8";
|
||||
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel8.SizeF = new System.Drawing.SizeF(283F, 23F);
|
||||
this.xrLabel8.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel8.Text = "Datum: [InvoiceDate]";
|
||||
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport2});
|
||||
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable5});
|
||||
this.Detail1.HeightF = 25F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
//
|
||||
// xrTable5
|
||||
//
|
||||
this.xrTable5.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
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(677F, 25F);
|
||||
this.xrTable5.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow23
|
||||
//
|
||||
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell32,
|
||||
this.xrTableCell37,
|
||||
this.xrTableCell35,
|
||||
this.xrTableCell33,
|
||||
this.xrTableCell36,
|
||||
this.xrTableCell34});
|
||||
this.xrTableRow23.Name = "xrTableRow23";
|
||||
this.xrTableRow23.Weight = 1D;
|
||||
//
|
||||
// xrTableCell32
|
||||
//
|
||||
this.xrTableCell32.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell32.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell32.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrTableCell32.Name = "xrTableCell32";
|
||||
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 2, 2, 2, 100F);
|
||||
this.xrTableCell32.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell32.Text = "Pos.";
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell32.Weight = 0.22156574859897477D;
|
||||
//
|
||||
// xrTableCell37
|
||||
//
|
||||
this.xrTableCell37.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell37.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell37.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
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 = 1.1292466494586828D;
|
||||
//
|
||||
// xrTableCell35
|
||||
//
|
||||
this.xrTableCell35.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell35.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell35.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
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 = "Einheit";
|
||||
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell35.Weight = 0.62038404872997244D;
|
||||
//
|
||||
// xrTableCell33
|
||||
//
|
||||
this.xrTableCell33.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell33.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell33.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
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 = "Satz";
|
||||
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell33.Weight = 0.32127033447520253D;
|
||||
//
|
||||
// xrTableCell36
|
||||
//
|
||||
this.xrTableCell36.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell36.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell36.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
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 = "Anzahl";
|
||||
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell36.Weight = 0.29018728497065593D;
|
||||
//
|
||||
// xrTableCell34
|
||||
//
|
||||
this.xrTableCell34.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.xrTableCell34.BorderColor = System.Drawing.Color.Black;
|
||||
this.xrTableCell34.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrTableCell34.Name = "xrTableCell34";
|
||||
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 10, 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.41734609759289204D;
|
||||
//
|
||||
// DetailReport2
|
||||
//
|
||||
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail3,
|
||||
this.GroupFooter1});
|
||||
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
|
||||
this.DetailReport2.DataSource = this.bindingSource1;
|
||||
this.DetailReport2.Level = 0;
|
||||
this.DetailReport2.Name = "DetailReport2";
|
||||
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
|
||||
//
|
||||
// Detail3
|
||||
//
|
||||
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable6});
|
||||
this.Detail3.HeightF = 29.56523F;
|
||||
this.Detail3.Name = "Detail3";
|
||||
//
|
||||
// xrTable6
|
||||
//
|
||||
this.xrTable6.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 4.565228F);
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(677.0001F, 25F);
|
||||
this.xrTable6.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow25
|
||||
//
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell42,
|
||||
this.xrTableCell43,
|
||||
this.xrTableCell44,
|
||||
this.xrTableCell45,
|
||||
this.xrTableCell47});
|
||||
this.xrTableRow25.Name = "xrTableRow25";
|
||||
this.xrTableRow25.Weight = 1D;
|
||||
//
|
||||
// xrTableCell40
|
||||
//
|
||||
this.xrTableCell40.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell40.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")});
|
||||
this.xrTableCell40.Name = "xrTableCell40";
|
||||
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 2, 2, 2, 100F);
|
||||
this.xrTableCell40.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell40.StylePriority.UseBorders = false;
|
||||
this.xrTableCell40.StylePriority.UsePadding = false;
|
||||
this.xrTableCell40.StylePriority.UseTextAlignment = false;
|
||||
xrSummary1.FormatString = "{0:#}";
|
||||
xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.RecordNumber;
|
||||
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
|
||||
this.xrTableCell40.Summary = xrSummary1;
|
||||
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell40.Weight = 0.22156573346040265D;
|
||||
//
|
||||
// xrTableCell42
|
||||
//
|
||||
this.xrTableCell42.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell42.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||
this.xrTableCell42.Name = "xrTableCell42";
|
||||
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell42.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell42.StylePriority.UseBorders = false;
|
||||
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell42.Weight = 0.88626285817953465D;
|
||||
//
|
||||
// xrTableCell43
|
||||
//
|
||||
this.xrTableCell43.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell43.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitDescription", "{0:0.00}")});
|
||||
this.xrTableCell43.Name = "xrTableCell43";
|
||||
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell43.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell43.StylePriority.UseBorders = false;
|
||||
this.xrTableCell43.StylePriority.UsePadding = false;
|
||||
this.xrTableCell43.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell43.Text = "xrTableCell43";
|
||||
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell43.Weight = 0.86336756286109606D;
|
||||
//
|
||||
// xrTableCell44
|
||||
//
|
||||
this.xrTableCell44.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell44.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AmountPerUnit", "{0:c} ")});
|
||||
this.xrTableCell44.Name = "xrTableCell44";
|
||||
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell44.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell44.StylePriority.UseBorders = false;
|
||||
this.xrTableCell44.StylePriority.UsePadding = false;
|
||||
this.xrTableCell44.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell44.Weight = 0.32127037907781042D;
|
||||
//
|
||||
// xrTableCell45
|
||||
//
|
||||
this.xrTableCell45.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell45.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCountString", "{0:0.00}")});
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell45.Text = "xrTableCell45";
|
||||
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell45.Weight = 0.29018752287020477D;
|
||||
//
|
||||
// xrTableCell47
|
||||
//
|
||||
this.xrTableCell47.BorderColor = System.Drawing.Color.Transparent;
|
||||
this.xrTableCell47.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
|
||||
this.xrTableCell47.Name = "xrTableCell47";
|
||||
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 10, 2, 2, 100F);
|
||||
this.xrTableCell47.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell47.StylePriority.UseBorders = false;
|
||||
this.xrTableCell47.StylePriority.UsePadding = false;
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell47.Weight = 0.4173463719878816D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel14,
|
||||
this.xrLabel16,
|
||||
this.xrLabel5,
|
||||
this.xrLabel1,
|
||||
this.xrLabel9});
|
||||
this.GroupFooter1.HeightF = 252.5903F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 158.1102F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(666.9999F, 21.96034F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "Quittierungsbelege befinden sich im Anhang dieser Rechnung.";
|
||||
//
|
||||
// xrLabel16
|
||||
//
|
||||
this.xrLabel16.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(0F, 87.73562F);
|
||||
this.xrLabel16.Name = "xrLabel16";
|
||||
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel16.SizeF = new System.Drawing.SizeF(666.9999F, 21.96034F);
|
||||
this.xrLabel16.StylePriority.UseFont = false;
|
||||
this.xrLabel16.Text = "Bitte überweisen Sie den Rechnungsbetrag auf das unten genannte Konto. ";
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.BackColor = System.Drawing.Color.LightGray;
|
||||
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel5.BorderWidth = 1F;
|
||||
this.xrLabel5.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(1.135328E-05F, 20.41665F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 2, 0, 0, 100F);
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(332.9583F, 21.46428F);
|
||||
this.xrLabel5.StylePriority.UseBackColor = false;
|
||||
this.xrLabel5.StylePriority.UseBorders = false;
|
||||
this.xrLabel5.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.StylePriority.UsePadding = false;
|
||||
this.xrLabel5.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel5.Text = "Rechnungsbetrag";
|
||||
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.BackColor = System.Drawing.Color.LightGray;
|
||||
this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel1.BorderWidth = 1F;
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
|
||||
this.xrLabel1.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(332.9583F, 20.41665F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 10, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(344.0417F, 21.46428F);
|
||||
this.xrLabel1.StylePriority.UseBackColor = false;
|
||||
this.xrLabel1.StylePriority.UseBorders = false;
|
||||
this.xrLabel1.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.StylePriority.UsePadding = false;
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Italic);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 141.1102F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Anmerkung:";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// ServiceInvoiceReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.Page1,
|
||||
this.DetailReport});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.Font = new System.Drawing.Font("Calibri", 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(75, 75, 60, 91);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblZeitraum;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
|
||||
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 xrTableCell32;
|
||||
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 xrTableCell34;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail3;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable6;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
|
||||
private DevExpress.XtraReports.UI.XRRichText xrRichText1;
|
||||
private DevExpress.XtraReports.UI.XRRichText xrRichText2;
|
||||
private DevExpress.XtraReports.UI.XRRichText xrRichText3;
|
||||
private DevExpress.XtraReports.UI.XRRichText xrRichText4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
|
||||
}
|
||||
}
|
||||
38
ReportImp/LebensWert/ServiceInvoiceReport.cs
Normal file
38
ReportImp/LebensWert/ServiceInvoiceReport.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace LebensWert
|
||||
{
|
||||
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public ServiceInvoiceReport()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
//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);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
|
||||
// }
|
||||
|
||||
string[] start = pRO.AccountingPeriodStart.ToString().Split(' ');
|
||||
string[] ende = pRO.AccountingPeriodEnd.ToString().Split(' ');
|
||||
|
||||
lblZeitraum.Text += start[0] + " - " + ende[0];
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
135
ReportImp/LebensWert/ServiceInvoiceReport.resx
Normal file
135
ReportImp/LebensWert/ServiceInvoiceReport.resx
Normal file
@@ -0,0 +1,135 @@
|
||||
<?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="xrRichText3.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAxADgAXABjAGYAMQAgAFMAdABlAHUAZQByAC0ATgByAC4AOgAgAH0AXABmAHMAMQA4AFwAYwBmADEAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAxADgAXABjAGYAMQAgAEYAaQBuAGEAbgB6AGEAbQB0ACAAfQBcAGYAcwAxADgAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbABcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
|
||||
</data>
|
||||
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABiAFwAZgBzADEAOABcAGMAZgAxACAAQgBhAG4AawB9AFwAYgBcAGYAcwAxADgAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAZgBzADEAOABcAGMAZgAxACAASQBCAEEATgA6ACAAfQB7AFwAZgBzADEAOABcAGMAZgAxACAARABFAH0AXABmAHMAMQA4AFwAYwBmADEAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAxADgAXABjAGYAMQAgAEIASQBDADoAIAB9AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABiAFwAZgBzADEAOABcAGMAZgAxACAATABlAGIAZQBuAHMAdwBlAHIAdAB9AFwAYgBcAGYAcwAxADgAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAxADgAXABjAGYAMQAgAEkAbgBoAC4AIABLAGEAaQAgAEwAaQBwAHAAZQBsAH0AXABmADEAXABmAHMAMgA0AFwAYwBmADEAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
<data name="xrRichText4.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAHIAewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABiAFwAZgBzADIAMgBcAGMAZgAxACAATABlAGIAZQBuAHMAVwBlAHIAdAB9AFwAYgBcAGYAcwAyADIAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAcgB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAyADIAXABjAGYAMQAgAEEAdQBmACAAZABlAG0AIABCAHIAdQBjAGgAZQAgADQAfQBcAGYAcwAyADIAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAcgB7AFwAZgBzADIAMgBcAGMAZgAxACAAMwAxAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmAHMAMgAyAFwAYwBmADEAIAA4ADMAMgAgAFMAcAByAGkAbgBnAGUAfQBcAGYAcwAyADIAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAcgB7AFwAZgBzADIAMgBcAGMAZgAxACAAQQBuAHMAcAByAGUAYwBoAHAAYQByAHQAbgBlAHIAOgAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmAHMAMgAyAFwAYwBmADEAIABLAGEAaQAgAEwAaQBwAHAAZQBsAH0AXABmAHMAMgAyAFwAYwBmADEAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAHIAewBcAGYAcwAyADIAXABjAGYAMQAgAFQAZQBsAC4AOgAgAH0AXABmAHMAMgAyAFwAYwBmADEAXABwAGEAcgBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAHIAewBcAGYAcwAyADIAXABjAGYAMQAgAEYAYQB4ADoAIAB9AFwAZgBzADIAMgBcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQByAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgBzADIAMgBcAGMAZgAxACAAawAuAGwAaQBwAHAAZQBsAEAAZwBtAHgALgBuAGUAdAB9AFwAZgBzADIAMgBcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQByAFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</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>
|
||||
@@ -17,15 +17,15 @@ namespace LebenshilfeDuisburgAtz.Invoicing
|
||||
foreach (var item in supportConcepts2ServiceRecords)
|
||||
{
|
||||
var csc = item.Key;
|
||||
if (csc.CostBearer.Contains("(ATZ)"))
|
||||
if (csc.CostBearer.Contains("(HPFF)"))
|
||||
{
|
||||
return new LHDuisburgAtzInvoiceCreation();
|
||||
return new LHDuisburgHPFFInvoiceCreation();
|
||||
}
|
||||
|
||||
var sc = DAOFactory.GenericDAO.LoadByID<SupportConcept>(csc.SupportConceptOid);
|
||||
if (sc.Customer.Person.FirstNameLastName.Contains("(ATZ)"))
|
||||
if (sc.Customer.Person.FirstNameLastName.Contains("(HPFF)"))
|
||||
{
|
||||
return new LHDuisburgAtzInvoiceCreation();
|
||||
return new LHDuisburgHPFFInvoiceCreation();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
namespace LebenshilfeDuisburgAtz.Invoicing
|
||||
{
|
||||
|
||||
public class LHDuisburgHPFFInvoiceCreation : LHDuisburgAtzDefaultInvoiceCreation
|
||||
{
|
||||
public override void SetInvoiceId(ServiceInvoice invoice)
|
||||
{
|
||||
invoice.InvoiceBase.InvoiceId = "LH-IFF";
|
||||
}
|
||||
|
||||
protected override void CreateItemTextForCategory(InvoiceItem ii, string cat, string catOriginal)
|
||||
{
|
||||
ii.ItemDescription = "HP-FF Fördereinheiten\nFrüherkennung und Frühförderung\ngemäß § 46 SGB IX";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Invoicing\CustomInvoiceNumberGenerator.cs" />
|
||||
<Compile Include="Invoicing\LHDuisburgHPFFInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\LHDuisburgAtzInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\LHDuisburgAtzIFFInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
|
||||
264
ReportImp/LebenshilfeDuisburgAtz/RechnungIFF.Designer.cs
generated
264
ReportImp/LebenshilfeDuisburgAtz/RechnungIFF.Designer.cs
generated
@@ -39,6 +39,18 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAZ = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.txtBelegnr = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
@@ -70,25 +82,15 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
@@ -152,6 +154,8 @@ namespace LebenshilfeDuisburgAtz
|
||||
// Page1
|
||||
//
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel8,
|
||||
this.lblAZ,
|
||||
this.xrTable2,
|
||||
this.xrLabel4,
|
||||
this.xrTable3,
|
||||
@@ -161,6 +165,132 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel8
|
||||
//
|
||||
this.xrLabel8.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 100F);
|
||||
this.xrLabel8.Name = "xrLabel8";
|
||||
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel8.SizeF = new System.Drawing.SizeF(120.125F, 17F);
|
||||
this.xrLabel8.StylePriority.UseFont = false;
|
||||
this.xrLabel8.Text = "GP-Nr.:";
|
||||
//
|
||||
// lblAZ
|
||||
//
|
||||
this.lblAZ.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerReferenceNumber")});
|
||||
this.lblAZ.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblAZ.LocationFloat = new DevExpress.Utils.PointFloat(120.1251F, 100F);
|
||||
this.lblAZ.Multiline = true;
|
||||
this.lblAZ.Name = "lblAZ";
|
||||
this.lblAZ.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAZ.SizeF = new System.Drawing.SizeF(235.755F, 36.70664F);
|
||||
this.lblAZ.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTable2
|
||||
//
|
||||
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(427.0004F, 51.99998F);
|
||||
this.xrTable2.Name = "xrTable2";
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow2,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow1});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(270F, 48F);
|
||||
//
|
||||
// xrTableRow2
|
||||
//
|
||||
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell11,
|
||||
this.txtBelegnr});
|
||||
this.xrTableRow2.Name = "xrTableRow2";
|
||||
this.xrTableRow2.Weight = 0.139636369834711D;
|
||||
//
|
||||
// xrTableCell11
|
||||
//
|
||||
this.xrTableCell11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell11.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell11.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell11.Name = "xrTableCell11";
|
||||
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell11.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell11.StylePriority.UseBorders = false;
|
||||
this.xrTableCell11.StylePriority.UseFont = false;
|
||||
this.xrTableCell11.StylePriority.UsePadding = false;
|
||||
this.xrTableCell11.Text = "Belegnummer";
|
||||
this.xrTableCell11.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// txtBelegnr
|
||||
//
|
||||
this.txtBelegnr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.txtBelegnr.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.txtBelegnr.Name = "txtBelegnr";
|
||||
this.txtBelegnr.StylePriority.UseBackColor = false;
|
||||
this.txtBelegnr.StylePriority.UseBorders = false;
|
||||
this.txtBelegnr.Text = "[InvoiceNumber]";
|
||||
this.txtBelegnr.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell5,
|
||||
this.xrTableCell8});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 0.139636369834711D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell5.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell5.StylePriority.UseBorders = false;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.StylePriority.UsePadding = false;
|
||||
this.xrTableCell5.Text = "Datum";
|
||||
this.xrTableCell5.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.StylePriority.UseBorders = false;
|
||||
this.xrTableCell8.Text = "[InvoiceDate]";
|
||||
this.xrTableCell8.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell3});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 0.13963636983471098D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell1.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell1.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell1.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell1.StylePriority.UseBorders = false;
|
||||
this.xrTableCell1.StylePriority.UseFont = false;
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.Text = "Abrechnungsmonat";
|
||||
this.xrTableCell1.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell3.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "AccountingPeriodStart", "{0:MMMM}")});
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell3.StylePriority.UseBorders = false;
|
||||
this.xrTableCell3.Text = "xrTableCell3";
|
||||
this.xrTableCell3.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
@@ -255,7 +385,7 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(235.755F, 81.08164F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(235.755F, 75F);
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "[CustomerName]\r\ngeb. [CustomerBirthdate!dd.MM.yyyy]\r\n[CustomerStreet]\r\n[CustomerP" +
|
||||
"ostalCode] [CustomerTown]";
|
||||
@@ -465,110 +595,6 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
this.xrTableCell32.Weight = 0.206923076923077D;
|
||||
//
|
||||
// xrTable2
|
||||
//
|
||||
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(427.0004F, 51.99998F);
|
||||
this.xrTable2.Name = "xrTable2";
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow2,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow1});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(270F, 48F);
|
||||
//
|
||||
// xrTableRow2
|
||||
//
|
||||
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell11,
|
||||
this.xrTableCell2});
|
||||
this.xrTableRow2.Name = "xrTableRow2";
|
||||
this.xrTableRow2.Weight = 0.139636369834711D;
|
||||
//
|
||||
// xrTableCell11
|
||||
//
|
||||
this.xrTableCell11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell11.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell11.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell11.Name = "xrTableCell11";
|
||||
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell11.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell11.StylePriority.UseBorders = false;
|
||||
this.xrTableCell11.StylePriority.UseFont = false;
|
||||
this.xrTableCell11.StylePriority.UsePadding = false;
|
||||
this.xrTableCell11.Text = "Belegnummer";
|
||||
this.xrTableCell11.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableCell2
|
||||
//
|
||||
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell2.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell2.Name = "xrTableCell2";
|
||||
this.xrTableCell2.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell2.StylePriority.UseBorders = false;
|
||||
this.xrTableCell2.Text = "[InvoiceNumber]";
|
||||
this.xrTableCell2.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell5,
|
||||
this.xrTableCell8});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 0.139636369834711D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell5.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell5.StylePriority.UseBorders = false;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.StylePriority.UsePadding = false;
|
||||
this.xrTableCell5.Text = "Datum";
|
||||
this.xrTableCell5.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.StylePriority.UseBorders = false;
|
||||
this.xrTableCell8.Text = "[InvoiceDate]";
|
||||
this.xrTableCell8.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell3});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 0.13963636983471098D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell1.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell1.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell1.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell1.StylePriority.UseBorders = false;
|
||||
this.xrTableCell1.StylePriority.UseFont = false;
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.Text = "Abrechnungsmonat";
|
||||
this.xrTableCell1.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.xrTableCell3.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "AccountingPeriodStart", "{0:MMMM}")});
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell3.StylePriority.UseBorders = false;
|
||||
this.xrTableCell3.Text = "xrTableCell3";
|
||||
this.xrTableCell3.Weight = 1.4596787374581406D;
|
||||
//
|
||||
// RechnungIFF
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -593,13 +619,13 @@ namespace LebenshilfeDuisburgAtz
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
@@ -648,12 +674,14 @@ namespace LebenshilfeDuisburgAtz
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable2;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell txtBelegnr;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAZ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,10 @@ namespace LebenshilfeDuisburgAtz
|
||||
}
|
||||
}
|
||||
|
||||
sb.AppendLine("über Stadt Duisburg");
|
||||
|
||||
//sb.AppendLine("über Stadt Duisburg");
|
||||
if (pRO.CustomerName.Contains("(HPFF)"))
|
||||
txtBelegnr.Text = pRO.InvoiceNumber.Replace("-IFF", "-FF:");
|
||||
sb.AppendLine(pRO.RecipientOrganisation);
|
||||
sb.AppendLine(pRO.RecipientStreet);
|
||||
sb.Append(pRO.RecipientPostCodeAndTown);
|
||||
|
||||
@@ -122,7 +122,6 @@
|
||||
<Compile Include="ServiceInvoiceReportFF.Designer.cs">
|
||||
<DependentUpon>ServiceInvoiceReportFF.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LHDuisburgReportCreator.cs" />
|
||||
<Compile Include="QuittierungsbelegHPFH.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -55,6 +55,12 @@
|
||||
<Compile Include="QuittierungsbelegMitDatum.Designer.cs">
|
||||
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.Designer.cs">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
@@ -80,6 +86,10 @@
|
||||
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
|
||||
1105
ReportImp/Neustart/SettlementReport.Designer.cs
generated
Normal file
1105
ReportImp/Neustart/SettlementReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
221
ReportImp/Neustart/SettlementReport.cs
Normal file
221
ReportImp/Neustart/SettlementReport.cs
Normal file
@@ -0,0 +1,221 @@
|
||||
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 Neustart
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
127
ReportImp/Neustart/SettlementReport.resx
Normal file
127
ReportImp/Neustart/SettlementReport.resx
Normal file
@@ -0,0 +1,127 @@
|
||||
<?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="xrLabel6.Text" xml:space="preserve">
|
||||
<value>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>
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
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;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace PZDDuesseldorf.Invoicing
|
||||
{
|
||||
|
||||
public class CustomAssistenzInvoiceCreation : InvoiceCreation
|
||||
{
|
||||
public override void SetInvoiceId(ServiceInvoice invoice)
|
||||
{
|
||||
invoice.InvoiceBase.InvoiceId = "Assistenz";
|
||||
invoice.InvoiceBase.InvoiceTypeText = "Assistenzleistung";
|
||||
}
|
||||
|
||||
public override void SetAmountAdvancePayments(ServiceInvoice invoice)
|
||||
{
|
||||
//do nothing
|
||||
}
|
||||
|
||||
public override void SetAmountEquityContribution(ServiceInvoice invoice)
|
||||
{
|
||||
//do nothing
|
||||
}
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||
{
|
||||
if (!iServiceRecord.ServiceDescription.CategoryName.Contains("Assistenz"))
|
||||
return null;
|
||||
|
||||
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
DateTime start = ii.ItemPeriodStart.Value;
|
||||
decimal preisAssistenz = 0;
|
||||
|
||||
var cat = DAOFactory.SearchDAO.FindServiceCategoryByName("Assistenzleistungen");
|
||||
if (cat != null)
|
||||
{
|
||||
var crps = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cat.CostRatePeriods);
|
||||
var cp = crps.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, start);
|
||||
if (cp != null && cp.CostRateValue.HasValue)
|
||||
preisAssistenz = (decimal)cp.CostRateValue;
|
||||
ii.AmountPerUnit = preisAssistenz;
|
||||
ii.RateFactor = null;
|
||||
ii.AmountTotal = preisAssistenz * ii.UnitCount;
|
||||
ii.GrossAmountTotal = preisAssistenz * ii.UnitCount;
|
||||
}
|
||||
return ii;
|
||||
}
|
||||
|
||||
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
|
||||
Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
|
||||
{
|
||||
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
37
ReportImp/PZDDuesseldorf/Invoicing/CustomInvoiceFactory.cs
Normal file
37
ReportImp/PZDDuesseldorf/Invoicing/CustomInvoiceFactory.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace PZDDuesseldorf.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
foreach (var list in supportConcepts2ServiceRecords.Values)
|
||||
{
|
||||
foreach (var sr in list)
|
||||
{
|
||||
var sd = sr.ServiceDescription.Category;
|
||||
var ic = GetInvoiceCreatorForCategory(sd);
|
||||
if (ic != null)
|
||||
return ic;
|
||||
}
|
||||
}
|
||||
return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
|
||||
}
|
||||
|
||||
private InvoiceCreation GetInvoiceCreatorForCategory(ServiceCategoryDC sd)
|
||||
{
|
||||
if (sd != null && !String.IsNullOrEmpty(sd.Name))
|
||||
{
|
||||
String cat = sd.Name.ToLower().Trim();
|
||||
if (cat.IndexOf("assistenz") >= 0)
|
||||
return new CustomAssistenzInvoiceCreation();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace PZDDuesseldorf.Invoicing
|
||||
{
|
||||
|
||||
public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation
|
||||
{
|
||||
public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
|
||||
{
|
||||
var relDC = c2s.MapToNewDC();
|
||||
|
||||
DateTime start = si.AccountingPeriodStart.Value.Date;
|
||||
DateTime end = si.AccountingPeriodEnd.Value.Date;
|
||||
if (c2s.SupportConcept.Customer.TerminationDate.HasValue &&
|
||||
c2s.SupportConcept.Customer.TerminationDate.Value < end)
|
||||
end = c2s.SupportConcept.Customer.TerminationDate.Value;
|
||||
if (end > DateTime.Now)
|
||||
{
|
||||
var srList = c2s.ServiceRecords;
|
||||
var max = srList.Max(s => s.End);
|
||||
|
||||
if (max.HasValue && max < end)
|
||||
end = max.Value;
|
||||
}
|
||||
|
||||
var hourlyRatesInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.HourlyRate, start, end).ToList();
|
||||
if (hourlyRatesInSpanList.Count > 3)
|
||||
return false;
|
||||
|
||||
var factorInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.RateFactor, start, end).ToList();
|
||||
if (factorInSpanList.Count > 1)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool IsServiceRecordBillable(ServiceRecord iRecord)
|
||||
{
|
||||
if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz"))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
111
ReportImp/PZDDuesseldorf/PZDDuesseldorf.csproj
Normal file
111
ReportImp/PZDDuesseldorf/PZDDuesseldorf.csproj
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{5C13AB6D-5CB0-4360-A7FC-95DC2686E64D}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PZDDuesseldorf</RootNamespace>
|
||||
<AssemblyName>5381886394_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Invoicing\AssistenzInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Quittierungsbeleg.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Quittierungsbeleg.Designer.cs">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Rechung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Rechung.Designer.cs">
|
||||
<DependentUpon>Rechung.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.Designer.cs">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Quittierungsbeleg.resx">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Rechung.resx">
|
||||
<DependentUpon>Rechung.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
36
ReportImp/PZDDuesseldorf/Properties/AssemblyInfo.cs
Normal file
36
ReportImp/PZDDuesseldorf/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("PZDDuesseldorf")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("PZDDuesseldorf")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("31faed42-de8c-4001-a928-cca532799c16")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
1
ReportImp/PZDDuesseldorf/Properties/licenses.licx
Normal file
1
ReportImp/PZDDuesseldorf/Properties/licenses.licx
Normal file
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
1354
ReportImp/PZDDuesseldorf/Quittierungsbeleg.Designer.cs
generated
Normal file
1354
ReportImp/PZDDuesseldorf/Quittierungsbeleg.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
180
ReportImp/PZDDuesseldorf/Quittierungsbeleg.cs
Normal file
180
ReportImp/PZDDuesseldorf/Quittierungsbeleg.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
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 PZDDuesseldorf
|
||||
{
|
||||
public partial class Quittierungsbeleg : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public Quittierungsbeleg()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
bool hatGruppen = false;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
foreach (var sd in pRO.Services)
|
||||
{
|
||||
if (sd.IsBillable)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(sd);
|
||||
if (sd.IsGroup)
|
||||
{
|
||||
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
|
||||
hatGruppen = true;
|
||||
}
|
||||
servicesBillable.Add(sd);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
private void EmployeeSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
// TODO: Visibile der Datumstextboxen auf true setzen!
|
||||
private void CustomerSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
129
ReportImp/PZDDuesseldorf/Quittierungsbeleg.resx
Normal file
129
ReportImp/PZDDuesseldorf/Quittierungsbeleg.resx
Normal 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>
|
||||
686
ReportImp/PZDDuesseldorf/Rechung.Designer.cs
generated
Normal file
686
ReportImp/PZDDuesseldorf/Rechung.Designer.cs
generated
Normal file
@@ -0,0 +1,686 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace PZDDuesseldorf
|
||||
{
|
||||
partial class Rechnung
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Rechnung));
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAbrechnungstext = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.RecipientPostCodeAndTown = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_RecipientStreet = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_RecipientDivision = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_RecipientContactPerson = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = 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.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = 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();
|
||||
this.xrTableRow21 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow24 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel17});
|
||||
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 74.25F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 100F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 90F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// Page1
|
||||
//
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel9,
|
||||
this.lblAbrechnungstext,
|
||||
this.xrLabel1,
|
||||
this.xrLabel6,
|
||||
this.xrLabel8,
|
||||
this.xrTable1,
|
||||
this.RecipientPostCodeAndTown,
|
||||
this.xrLabel_RecipientStreet,
|
||||
this.xrLabel_RecipientDivision,
|
||||
this.xrLabel_RecipientContactPerson,
|
||||
this.xrLabel7,
|
||||
this.xrLabel4,
|
||||
this.xrLabel3,
|
||||
this.xrLabel2,
|
||||
this.xrLabel5});
|
||||
this.Page1.Font = new System.Drawing.Font("Arial", 10F);
|
||||
this.Page1.HeightF = 457.5766F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel9.CanShrink = true;
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Arial", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 20.00001F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(335.7499F, 17F);
|
||||
this.xrLabel9.StylePriority.UseBorders = false;
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "PZD Pflegezentrum Düsseldorf GmbH - Gumbertstr. 199 - 40229 Düsseldorf";
|
||||
//
|
||||
// lblAbrechnungstext
|
||||
//
|
||||
this.lblAbrechnungstext.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblAbrechnungstext.LocationFloat = new DevExpress.Utils.PointFloat(0.001017253F, 404.9133F);
|
||||
this.lblAbrechnungstext.Name = "lblAbrechnungstext";
|
||||
this.lblAbrechnungstext.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAbrechnungstext.SizeF = new System.Drawing.SizeF(530.5417F, 17F);
|
||||
this.lblAbrechnungstext.StylePriority.UseFont = false;
|
||||
this.lblAbrechnungstext.Text = "1 Stunden * 20,20 € = 20,20 €";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceBase.InvoiceItems.GrossAmountTotal")});
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(568.0007F, 404.9133F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(100F, 23F);
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0.000890096F, 333.2883F);
|
||||
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(642F, 52.4133F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = resources.GetString("xrLabel6.Text");
|
||||
//
|
||||
// xrLabel8
|
||||
//
|
||||
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
|
||||
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(367.0005F, 187.4775F);
|
||||
this.xrLabel8.Name = "xrLabel8";
|
||||
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel8.SizeF = new System.Drawing.SizeF(283F, 23F);
|
||||
this.xrLabel8.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel8.Text = "xrLabel8";
|
||||
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(367.0005F, 43F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow2,
|
||||
this.xrTableRow5,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow1,
|
||||
this.xrTableRow8});
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(283F, 94F);
|
||||
//
|
||||
// xrTableRow2
|
||||
//
|
||||
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell5});
|
||||
this.xrTableRow2.Name = "xrTableRow2";
|
||||
this.xrTableRow2.Weight = 0.13245033112582783D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.CanShrink = true;
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell5.Text = "Ihr(e) Ansprechpartner(in):";
|
||||
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell5.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 = "[SenderContactPerson]";
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell13.Weight = 1D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell8});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 0.13245033112582783D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.CanShrink = true;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrTableCell8.StylePriority.UseFont = false;
|
||||
this.xrTableCell8.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell8.Text = "[SenderContactPersonMail]";
|
||||
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell8.Weight = 1D;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell1});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 0.11258278145695365D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SenderContactPersonPhone")});
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell1.Text = "xrTableCell1";
|
||||
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell1.Weight = 1D;
|
||||
//
|
||||
// xrTableRow8
|
||||
//
|
||||
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell6});
|
||||
this.xrTableRow8.Name = "xrTableRow8";
|
||||
this.xrTableRow8.Weight = 0.11258278145695365D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell6.Text = "Mobil: 0175 - 9487320";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell6.Weight = 1D;
|
||||
//
|
||||
// RecipientPostCodeAndTown
|
||||
//
|
||||
this.RecipientPostCodeAndTown.CanShrink = true;
|
||||
this.RecipientPostCodeAndTown.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 111F);
|
||||
this.RecipientPostCodeAndTown.Name = "RecipientPostCodeAndTown";
|
||||
this.RecipientPostCodeAndTown.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.RecipientPostCodeAndTown.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.RecipientPostCodeAndTown.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.RecipientPostCodeAndTown.StylePriority.UseFont = false;
|
||||
this.RecipientPostCodeAndTown.Text = "[RecipientPostCodeAndTown]";
|
||||
//
|
||||
// xrLabel_RecipientStreet
|
||||
//
|
||||
this.xrLabel_RecipientStreet.CanShrink = true;
|
||||
this.xrLabel_RecipientStreet.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 94.00002F);
|
||||
this.xrLabel_RecipientStreet.Name = "xrLabel_RecipientStreet";
|
||||
this.xrLabel_RecipientStreet.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel_RecipientStreet.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel_RecipientStreet.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.xrLabel_RecipientStreet.StylePriority.UseFont = false;
|
||||
this.xrLabel_RecipientStreet.Text = "[RecipientStreet]";
|
||||
//
|
||||
// xrLabel_RecipientDivision
|
||||
//
|
||||
this.xrLabel_RecipientDivision.CanShrink = true;
|
||||
this.xrLabel_RecipientDivision.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 77.00008F);
|
||||
this.xrLabel_RecipientDivision.Name = "xrLabel_RecipientDivision";
|
||||
this.xrLabel_RecipientDivision.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel_RecipientDivision.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel_RecipientDivision.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.xrLabel_RecipientDivision.StylePriority.UseFont = false;
|
||||
this.xrLabel_RecipientDivision.Text = "[RecipientDivision]";
|
||||
//
|
||||
// xrLabel_RecipientContactPerson
|
||||
//
|
||||
this.xrLabel_RecipientContactPerson.CanShrink = true;
|
||||
this.xrLabel_RecipientContactPerson.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 60.00001F);
|
||||
this.xrLabel_RecipientContactPerson.Name = "xrLabel_RecipientContactPerson";
|
||||
this.xrLabel_RecipientContactPerson.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel_RecipientContactPerson.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel_RecipientContactPerson.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.xrLabel_RecipientContactPerson.StylePriority.UseFont = false;
|
||||
this.xrLabel_RecipientContactPerson.Text = "[RecipientContactPerson]";
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.CanShrink = true;
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 43F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "[RecipientOrganisation]";
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 257.2917F);
|
||||
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("Arial", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 241.2917F);
|
||||
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 Unterstützende Assistenz 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("Arial", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 224.2917F);
|
||||
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;
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 299.6216F);
|
||||
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,";
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel18,
|
||||
this.xrLabel11,
|
||||
this.xrLabel12,
|
||||
this.xrTable3,
|
||||
this.xrLabel10});
|
||||
this.ReportFooter.Font = new System.Drawing.Font("Arial", 10F);
|
||||
this.ReportFooter.HeightF = 258.33F;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel18
|
||||
//
|
||||
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 0F);
|
||||
this.xrLabel18.Name = "xrLabel18";
|
||||
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel18.SizeF = new System.Drawing.SizeF(649.9999F, 17F);
|
||||
this.xrLabel18.StylePriority.UseFont = false;
|
||||
this.xrLabel18.Text = "Bitte überweisen Sie den Betrag nach Prüfung der Endabrechnung auf das unten ange" +
|
||||
"gebene Konto.";
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(583.0004F, 153.7917F);
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(67F, 17F);
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
this.xrLabel11.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel11.Text = "Anlage";
|
||||
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 153.7917F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(225F, 17F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = "[CreatorName]";
|
||||
//
|
||||
// xrTable3
|
||||
//
|
||||
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 30.58332F);
|
||||
this.xrTable3.Name = "xrTable3";
|
||||
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow20,
|
||||
this.xrTableRow21,
|
||||
this.xrTableRow23,
|
||||
this.xrTableRow24});
|
||||
this.xrTable3.SizeF = new System.Drawing.SizeF(650F, 52F);
|
||||
this.xrTable3.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow20
|
||||
//
|
||||
this.xrTableRow20.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell16});
|
||||
this.xrTableRow20.Name = "xrTableRow20";
|
||||
this.xrTableRow20.Weight = 0.38095238095238093D;
|
||||
//
|
||||
// xrTableCell16
|
||||
//
|
||||
this.xrTableCell16.CanShrink = true;
|
||||
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
|
||||
this.xrTableCell16.Name = "xrTableCell16";
|
||||
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell16.StylePriority.UsePadding = false;
|
||||
this.xrTableCell16.Text = "xrTableCell1";
|
||||
this.xrTableCell16.Weight = 3D;
|
||||
//
|
||||
// xrTableRow21
|
||||
//
|
||||
this.xrTableRow21.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell18});
|
||||
this.xrTableRow21.Name = "xrTableRow21";
|
||||
this.xrTableRow21.Weight = 0.23809523809523808D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Weight = 3D;
|
||||
//
|
||||
// xrTableRow23
|
||||
//
|
||||
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell30});
|
||||
this.xrTableRow23.Name = "xrTableRow23";
|
||||
this.xrTableRow23.Weight = 0.23809523809523803D;
|
||||
//
|
||||
// xrTableCell30
|
||||
//
|
||||
this.xrTableCell30.Name = "xrTableCell30";
|
||||
this.xrTableCell30.Weight = 0.18181818181818182D;
|
||||
//
|
||||
// xrTableRow24
|
||||
//
|
||||
this.xrTableRow24.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell31});
|
||||
this.xrTableRow24.Name = "xrTableRow24";
|
||||
this.xrTableRow24.Weight = 0.38095238095238093D;
|
||||
//
|
||||
// xrTableCell31
|
||||
//
|
||||
this.xrTableCell31.CanShrink = true;
|
||||
this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FinalSentence")});
|
||||
this.xrTableCell31.Name = "xrTableCell31";
|
||||
this.xrTableCell31.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell31.StylePriority.UsePadding = false;
|
||||
this.xrTableCell31.Text = "xrTableCell8";
|
||||
this.xrTableCell31.Weight = 3D;
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 97.54168F);
|
||||
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";
|
||||
//
|
||||
// PageFooter
|
||||
//
|
||||
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel16,
|
||||
this.xrLabel13,
|
||||
this.xrLabel15,
|
||||
this.xrLabel14});
|
||||
this.PageFooter.HeightF = 90.74669F;
|
||||
this.PageFooter.Name = "PageFooter";
|
||||
//
|
||||
// xrLabel16
|
||||
//
|
||||
this.xrLabel16.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(99.29266F, 63.49837F);
|
||||
this.xrLabel16.Multiline = true;
|
||||
this.xrLabel16.Name = "xrLabel16";
|
||||
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel16.SizeF = new System.Drawing.SizeF(99.29164F, 17.24834F);
|
||||
this.xrLabel16.StylePriority.UseFont = false;
|
||||
this.xrLabel16.Text = "133 5861 0686";
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0.001017253F, 63.49837F);
|
||||
this.xrLabel13.Multiline = true;
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(99.29164F, 17.24834F);
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.Text = "Steuernummer:";
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrLabel15.Multiline = true;
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(46.16664F, 45.37334F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "Bank: \r\nBIC: \r\nIBAN:";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(46.16664F, 0F);
|
||||
this.xrLabel14.Multiline = true;
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(427.4167F, 45.37334F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "Deutsche Bank\r\nDEUTDEDBDUE\r\nDE50 3007 0024 0811 0470 00";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// xrLabel17
|
||||
//
|
||||
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(193F, 28.625F);
|
||||
this.xrLabel17.Multiline = true;
|
||||
this.xrLabel17.Name = "xrLabel17";
|
||||
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel17.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel17.SizeF = new System.Drawing.SizeF(292F, 17F);
|
||||
this.xrLabel17.StylePriority.UseFont = false;
|
||||
this.xrLabel17.Text = "\r\n";
|
||||
//
|
||||
// Rechnung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.Page1,
|
||||
this.ReportFooter,
|
||||
this.PageFooter});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.ruleRateFactorNull});
|
||||
this.Margins = new System.Drawing.Printing.Margins(75, 74, 100, 90);
|
||||
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.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
|
||||
private DevExpress.XtraReports.UI.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 xrLabel6;
|
||||
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel RecipientPostCodeAndTown;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientStreet;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientDivision;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientContactPerson;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable3;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow20;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow21;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell30;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow24;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell31;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungstext;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
|
||||
}
|
||||
}
|
||||
54
ReportImp/PZDDuesseldorf/Rechung.cs
Normal file
54
ReportImp/PZDDuesseldorf/Rechung.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace PZDDuesseldorf
|
||||
{
|
||||
[IDSpecificClass(Identifier = "Assistenz")]
|
||||
public partial class Rechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public Rechnung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
DateTime start = pRO.AccountingPeriodStart;
|
||||
DateTime end = pRO.AccountingPeriodEnd;
|
||||
decimal hourlyRate = 0;
|
||||
decimal rateFactor = 1;
|
||||
decimal hours = 0;
|
||||
|
||||
if (pRO.ServiceInvoicePeriods != null && pRO.ServiceInvoicePeriods.Count > 0)
|
||||
{
|
||||
foreach (var p in pRO.ServiceInvoicePeriods)
|
||||
{
|
||||
if (p.ServiceInvoiceItems != null && p.ServiceInvoiceItems.Count > 0)
|
||||
{
|
||||
|
||||
foreach (var i in p.ServiceInvoiceItems)
|
||||
{
|
||||
if (i.HourlyRate.HasValue)
|
||||
hourlyRate = i.HourlyRate.Value;
|
||||
|
||||
if (i.Hours.HasValue)
|
||||
hours += i.Hours.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation.ToLower() == "herr")
|
||||
pRO.CustomerSalutation = "Herrn";
|
||||
|
||||
lblAbrechnungstext.Text = String.Format("{0:0.##} Stunden x {1:c} = {2}", hours, hourlyRate, pRO.NetClaim);
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
128
ReportImp/PZDDuesseldorf/Rechung.resx
Normal file
128
ReportImp/PZDDuesseldorf/Rechung.resx
Normal file
@@ -0,0 +1,128 @@
|
||||
<?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="xrLabel6.Text" xml:space="preserve">
|
||||
<value>hiermit erhalten Sie die Spitzabrechnung über die erbrachten Leistungen im Rahmen des Betreuten Wohnens für [CustomerSalutation] [CustomerName]. 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>
|
||||
885
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.Designer.cs
generated
Normal file
885
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.Designer.cs
generated
Normal file
@@ -0,0 +1,885 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace PZDDuesseldorf
|
||||
{
|
||||
partial class ServiceInvoiceReport
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel7 = 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.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAbrechnungszeitraum = 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.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell8 = 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.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
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.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
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();
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((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();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 0F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 157.5F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 50F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// Page1
|
||||
//
|
||||
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel7,
|
||||
this.xrLabel4,
|
||||
this.xrLabel3,
|
||||
this.xrLabel2,
|
||||
this.xrLabel5,
|
||||
this.xrLabel8,
|
||||
this.lblAbrechnungszeitraum,
|
||||
this.xrTable2});
|
||||
this.Page1.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.Page1.HeightF = 354.0833F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrLabel7.Multiline = true;
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 111.5F);
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
|
||||
"tStreet]\r\n[RecipientPostCodeAndTown]";
|
||||
//
|
||||
// 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, 235F);
|
||||
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, 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("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 215F);
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 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("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 195F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 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, 297.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,";
|
||||
//
|
||||
// xrLabel8
|
||||
//
|
||||
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
|
||||
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(362.5F, 172F);
|
||||
this.xrLabel8.Name = "xrLabel8";
|
||||
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel8.SizeF = new System.Drawing.SizeF(283F, 23F);
|
||||
this.xrLabel8.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel8.Text = "xrLabel8";
|
||||
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// lblAbrechnungszeitraum
|
||||
//
|
||||
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 322.5F);
|
||||
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(642F, 31.58334F);
|
||||
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
|
||||
this.lblAbrechnungszeitraum.Text = "hiermit berechnen wir für den ... folgende erbrachte Tätigkeiten:";
|
||||
//
|
||||
// xrTable2
|
||||
//
|
||||
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(362.5F, 0F);
|
||||
this.xrTable2.Name = "xrTable2";
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow2,
|
||||
this.xrTableRow5,
|
||||
this.xrTableRow4,
|
||||
this.xrTableRow3,
|
||||
this.xrTableRow1,
|
||||
this.xrTableRow6,
|
||||
this.xrTableRow8});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 134F);
|
||||
//
|
||||
// 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 = "[SenderContactPerson]";
|
||||
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 = "[SenderContactPersonDivision]";
|
||||
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell11.Weight = 1D;
|
||||
//
|
||||
// xrTableRow3
|
||||
//
|
||||
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell8});
|
||||
this.xrTableRow3.Name = "xrTableRow3";
|
||||
this.xrTableRow3.Weight = 0.13245033112582783D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.CanShrink = true;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrTableCell8.StylePriority.UseFont = false;
|
||||
this.xrTableCell8.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell8.Text = "[SenderContactPersonMail]";
|
||||
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell8.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 = "[SenderContactPersonPhone]";
|
||||
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 = "[SenderContactPersonFax]";
|
||||
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;
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.5833F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "Mit freundlichen Grüßen";
|
||||
//
|
||||
// xrTable4
|
||||
//
|
||||
this.xrTable4.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.75F);
|
||||
this.xrTable4.Name = "xrTable4";
|
||||
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow10,
|
||||
this.xrTableRow14});
|
||||
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 26F);
|
||||
this.xrTable4.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell9});
|
||||
this.xrTableRow10.Name = "xrTableRow10";
|
||||
this.xrTableRow10.Weight = 0.38095238095238093D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
|
||||
this.xrTableCell9.Name = "xrTableCell9";
|
||||
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell9.StylePriority.UsePadding = false;
|
||||
this.xrTableCell9.Text = "xrTableCell1";
|
||||
this.xrTableCell9.Weight = 3D;
|
||||
//
|
||||
// xrTableRow14
|
||||
//
|
||||
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell12});
|
||||
this.xrTableRow14.Name = "xrTableRow14";
|
||||
this.xrTableRow14.Weight = 0.23809523809523808D;
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Weight = 3D;
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
|
||||
this.xrLabel14.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 189.5833F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "[CreatorName]";
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
|
||||
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);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Abschließende Bemerkungen:";
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport2});
|
||||
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// 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(677F, 25F);
|
||||
//
|
||||
// xrTableRow23
|
||||
//
|
||||
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell32,
|
||||
this.xrTableCell37,
|
||||
this.xrTableCell35,
|
||||
this.xrTableCell33,
|
||||
this.xrTableCell36,
|
||||
this.xrTableCell38,
|
||||
this.xrTableCell34});
|
||||
this.xrTableRow23.Name = "xrTableRow23";
|
||||
this.xrTableRow23.Weight = 1D;
|
||||
//
|
||||
// xrTableCell32
|
||||
//
|
||||
this.xrTableCell32.BackColor = System.Drawing.Color.Gainsboro;
|
||||
this.xrTableCell32.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell32.Name = "xrTableCell32";
|
||||
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell32.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell32.Text = "Zeitraum";
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell32.Weight = 0.62463077449375981D;
|
||||
//
|
||||
// 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[] {
|
||||
this.Detail3,
|
||||
this.GroupFooter1});
|
||||
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
|
||||
this.DetailReport2.DataSource = this.bindingSource1;
|
||||
this.DetailReport2.Level = 0;
|
||||
this.DetailReport2.Name = "DetailReport2";
|
||||
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
|
||||
//
|
||||
// Detail3
|
||||
//
|
||||
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable6});
|
||||
this.Detail3.HeightF = 25F;
|
||||
this.Detail3.Name = "Detail3";
|
||||
//
|
||||
// xrTable6
|
||||
//
|
||||
this.xrTable6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(677F, 25F);
|
||||
this.xrTable6.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow25
|
||||
//
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell42,
|
||||
this.xrTableCell43,
|
||||
this.xrTableCell44,
|
||||
this.xrTableCell45,
|
||||
this.xrTableCell46,
|
||||
this.xrTableCell47});
|
||||
this.xrTableRow25.Name = "xrTableRow25";
|
||||
this.xrTableRow25.Weight = 1D;
|
||||
//
|
||||
// xrTableCell40
|
||||
//
|
||||
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Duration")});
|
||||
this.xrTableCell40.Name = "xrTableCell40";
|
||||
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell40.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell40.StylePriority.UseBorders = false;
|
||||
this.xrTableCell40.StylePriority.UsePadding = false;
|
||||
this.xrTableCell40.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell40.Weight = 0.62463084211025488D;
|
||||
//
|
||||
// xrTableCell42
|
||||
//
|
||||
this.xrTableCell42.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||
this.xrTableCell42.Name = "xrTableCell42";
|
||||
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell42.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell42.StylePriority.UseBorders = false;
|
||||
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell42.Weight = 0.85081229498678679D;
|
||||
//
|
||||
// xrTableCell43
|
||||
//
|
||||
this.xrTableCell43.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
|
||||
this.xrTableCell43.Name = "xrTableCell43";
|
||||
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell43.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell43.StylePriority.UseBorders = false;
|
||||
this.xrTableCell43.StylePriority.UsePadding = false;
|
||||
this.xrTableCell43.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell43.Text = "xrTableCell43";
|
||||
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell43.Weight = 0.23245943032832414D;
|
||||
//
|
||||
// xrTableCell44
|
||||
//
|
||||
this.xrTableCell44.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:0.##}")});
|
||||
this.xrTableCell44.Name = "xrTableCell44";
|
||||
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell44.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell44.StylePriority.UseBorders = false;
|
||||
this.xrTableCell44.StylePriority.UsePadding = false;
|
||||
this.xrTableCell44.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell44.Text = "xrTableCell44";
|
||||
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell44.Weight = 0.2893277257020575D;
|
||||
//
|
||||
// xrTableCell45
|
||||
//
|
||||
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount", "{0:0.00}")});
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell45.Text = "xrTableCell45";
|
||||
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell45.Weight = 0.26310971709438763D;
|
||||
//
|
||||
// xrTableCell46
|
||||
//
|
||||
this.xrTableCell46.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell46.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell46.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.RateFactor")});
|
||||
this.xrTableCell46.Name = "xrTableCell46";
|
||||
this.xrTableCell46.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell46.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell46.StylePriority.UseBorders = false;
|
||||
this.xrTableCell46.StylePriority.UsePadding = false;
|
||||
this.xrTableCell46.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell46.Weight = 0.42042083402151886D;
|
||||
//
|
||||
// xrTableCell47
|
||||
//
|
||||
this.xrTableCell47.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell47.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
|
||||
this.xrTableCell47.Name = "xrTableCell47";
|
||||
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell47.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell47.StylePriority.UseBorders = false;
|
||||
this.xrTableCell47.StylePriority.UsePadding = false;
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell47.Weight = 0.31923915575667006D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel1,
|
||||
this.xrLabel9,
|
||||
this.xrTable4,
|
||||
this.xrLabel14,
|
||||
this.xrLabel15});
|
||||
this.GroupFooter1.HeightF = 206.5833F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// 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("Verdana", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.StylePriority.UsePadding = false;
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// ServiceInvoiceReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.Page1,
|
||||
this.DetailReport});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.ruleRateFactorNull});
|
||||
this.Margins = new System.Drawing.Printing.Margins(75, 75, 158, 50);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||
((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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
|
||||
private DevExpress.XtraReports.UI.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 xrLabel8;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
|
||||
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 xrTableRow3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
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.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable4;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
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 xrTableCell32;
|
||||
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;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
}
|
||||
}
|
||||
32
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.cs
Normal file
32
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace PZDDuesseldorf
|
||||
{
|
||||
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public ServiceInvoiceReport()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
123
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.resx
Normal file
123
ReportImp/PZDDuesseldorf/ServiceInvoiceReport.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<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>
|
||||
1179
ReportImp/PZDDuesseldorf/SettlementReport.Designer.cs
generated
Normal file
1179
ReportImp/PZDDuesseldorf/SettlementReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
228
ReportImp/PZDDuesseldorf/SettlementReport.cs
Normal file
228
ReportImp/PZDDuesseldorf/SettlementReport.cs
Normal file
@@ -0,0 +1,228 @@
|
||||
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 PZDDuesseldorf
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
|
||||
{
|
||||
public Spitzabrechnung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(SettlementRO pRO)
|
||||
{
|
||||
|
||||
if (pRO.ClaimWithEigenbeteiligung < 0)
|
||||
{
|
||||
pRO.FinalSentence = "Bitte verrechnen Sie den Betrag mit den n<>chsten Zahll<6C>ufen und teilen uns diesen mit der Fachabrechnung mit.";
|
||||
|
||||
}
|
||||
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] <20> [HourlyRateOldString] <20>
|
||||
|
||||
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] <20> =";
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
127
ReportImp/PZDDuesseldorf/SettlementReport.resx
Normal file
127
ReportImp/PZDDuesseldorf/SettlementReport.resx
Normal file
@@ -0,0 +1,127 @@
|
||||
<?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="xrLabel6.Text" xml:space="preserve">
|
||||
<value>hiermit erhalten Sie die Spitzabrechnung über die erbrachten Fachleistungen (qualifizierte Assistenz) im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerName]. 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>
|
||||
11
ReportImp/PZDDuesseldorf/app.config
Normal file
11
ReportImp/PZDDuesseldorf/app.config
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -22,14 +22,10 @@ namespace VaroSozialagentur.Invoicing
|
||||
{
|
||||
|
||||
private const decimal AMOUNT_PER_KM_DEFAULT = 0.3m;
|
||||
|
||||
private ServiceCategory fahrtkostenServiceCategory = null;
|
||||
|
||||
private DateTime? accountingPeriodStart = null;
|
||||
private DateTime? accountingPeriodEnd = null;
|
||||
|
||||
|
||||
|
||||
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
|
||||
IList<CompactSupportConceptDC> supportConceptList)
|
||||
{
|
||||
@@ -41,7 +37,26 @@ namespace VaroSozialagentur.Invoicing
|
||||
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
|
||||
}
|
||||
|
||||
public override void SetInvoiceItems(ServiceInvoice invoice,
|
||||
public override void SetServiceInvoicePeriods(ServiceInvoice invoice, CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
|
||||
{
|
||||
base.SetServiceInvoicePeriods(invoice, costBearer2SupportConcept, invoicePeriod, serviceRecords);
|
||||
|
||||
if (invoice.ServiceInvoicePeriodList != null && invoice.ServiceInvoicePeriodList.Count > 1)
|
||||
{
|
||||
ServiceInvoicePeriod newPeriod = null;
|
||||
foreach (var ip in invoice.ServiceInvoicePeriodList)
|
||||
{
|
||||
if (newPeriod == null)
|
||||
newPeriod = ip;
|
||||
else
|
||||
newPeriod.InvoiceItemList.AddRange(ip.InvoiceItemList);
|
||||
}
|
||||
invoice.ServiceInvoicePeriodList = new List<ServiceInvoicePeriod>();
|
||||
invoice.ServiceInvoicePeriodList.Add(newPeriod);
|
||||
}
|
||||
}
|
||||
|
||||
public override void SetInvoiceItems(ServiceInvoice invoice,
|
||||
ServiceInvoicePeriod serviceInvoicePeriod,
|
||||
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
|
||||
CostBearer2SupportConcept cb2sc,
|
||||
@@ -75,22 +90,15 @@ namespace VaroSozialagentur.Invoicing
|
||||
BS.Shared.Services.Calculations calc)
|
||||
{
|
||||
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
|
||||
|
||||
|
||||
var fitem = CreateFahrtkostenZoneItem(serviceRecordsInPeriod, invoicePeriod, scap);
|
||||
|
||||
if (fitem != null)
|
||||
{
|
||||
list.Add(fitem);
|
||||
}
|
||||
fitem = CreateFahrtkostenItem(serviceRecordsInPeriod, scap);
|
||||
|
||||
if (fitem != null)
|
||||
{
|
||||
list.Add(fitem);
|
||||
}
|
||||
return list;
|
||||
|
||||
}
|
||||
|
||||
private InvoiceItem CreateFahrtkostenZoneItem(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap)
|
||||
@@ -137,7 +145,75 @@ namespace VaroSozialagentur.Invoicing
|
||||
return null;
|
||||
}
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||
// Die Fahrtkostenitems laufen hier gar nicht erst rein und ich verstehe nicht wieso :-(
|
||||
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList,
|
||||
DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
|
||||
{
|
||||
//Fasse InvoiceItems mit gleichem Stundensatz zusammen:
|
||||
var newlist = new List<InvoiceItem>();
|
||||
|
||||
var rateToItem = new Dictionary<String, InvoiceItem>();
|
||||
foreach (InvoiceItem iitem in itemList)
|
||||
{
|
||||
InvoiceItem item;
|
||||
var key = GetSummaryItemKey(null, iitem, summaryPerMonth);
|
||||
|
||||
if (rateToItem.ContainsKey(key) && iitem.ItemDescription.Contains("Fahrt"))
|
||||
item = rateToItem[key];
|
||||
else
|
||||
{
|
||||
item = new InvoiceItem();
|
||||
newlist.Add(item);
|
||||
|
||||
item.AmountPerUnit = iitem.AmountPerUnit;
|
||||
if (invoicePeriod != null)
|
||||
{
|
||||
item.ItemPeriodStart = invoicePeriod.StartDate;
|
||||
item.ItemPeriodEnd = invoicePeriod.EndDate;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.ItemPeriodStart = scap.StartDate;
|
||||
item.ItemPeriodEnd = scap.EndDate;
|
||||
}
|
||||
if (summaryPerMonth && iitem.ItemPeriodStart.HasValue)
|
||||
{
|
||||
DateTime start = new DateTime(iitem.ItemPeriodStart.Value.Year, iitem.ItemPeriodStart.Value.Month, 1);
|
||||
DateTime end = start.AddMonths(1).AddDays(-1);
|
||||
|
||||
if (item.ItemPeriodStart < start)
|
||||
{
|
||||
item.ItemPeriodStart = start;
|
||||
}
|
||||
if (item.ItemPeriodEnd > end)
|
||||
{
|
||||
item.ItemPeriodEnd = end;
|
||||
}
|
||||
}
|
||||
item.RateFactor = iitem.RateFactor;
|
||||
|
||||
item.AccountingInterval = iitem.AccountingInterval;
|
||||
item.ItemDescription = iitem.ItemDescription;
|
||||
item.UnitDescription = iitem.UnitDescription;
|
||||
item.SupportConceptApprovalPeriodOid = scap.Oid;
|
||||
|
||||
|
||||
rateToItem[key] = item;
|
||||
}
|
||||
|
||||
|
||||
if (!item.UnitCount.HasValue)
|
||||
{
|
||||
item.UnitCount = 0;
|
||||
}
|
||||
item.UnitCount += iitem.UnitCount ?? 0;
|
||||
}
|
||||
|
||||
BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
|
||||
return newlist;
|
||||
}
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||
{
|
||||
var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
if (iServiceRecord != null)
|
||||
|
||||
@@ -62,6 +62,7 @@ namespace VaroSozialagentur
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
@@ -79,6 +80,7 @@ namespace VaroSozialagentur
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTableAbwesenheiten = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
@@ -111,14 +113,13 @@ namespace VaroSozialagentur
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.xrLabel11 = 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.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
@@ -510,6 +511,10 @@ namespace VaroSozialagentur
|
||||
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
|
||||
this.xrTableCell49.Weight = 0.44692737430167606D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
|
||||
//
|
||||
// formattingRuleStartDate
|
||||
//
|
||||
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
|
||||
@@ -703,7 +708,9 @@ namespace VaroSozialagentur
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 100F;
|
||||
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrPictureBox1});
|
||||
this.topMarginBand1.HeightF = 175F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
@@ -730,6 +737,20 @@ namespace VaroSozialagentur
|
||||
this.GroupFooter1.KeepTogether = true;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.99996F);
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(320F, 20F);
|
||||
this.xrLabel11.StylePriority.UseBackColor = false;
|
||||
this.xrLabel11.StylePriority.UseBorders = false;
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
this.xrLabel11.StylePriority.UsePadding = false;
|
||||
this.xrLabel11.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel11.Text = "F = face to face";
|
||||
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrTableAbwesenheiten
|
||||
//
|
||||
this.xrTableAbwesenheiten.BorderColor = System.Drawing.Color.Black;
|
||||
@@ -1078,23 +1099,13 @@ namespace VaroSozialagentur
|
||||
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
|
||||
this.fieldKontaktArt.Name = "fieldKontaktArt";
|
||||
//
|
||||
// xrLabel11
|
||||
// xrPictureBox1
|
||||
//
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.99996F);
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(320F, 20F);
|
||||
this.xrLabel11.StylePriority.UseBackColor = false;
|
||||
this.xrLabel11.StylePriority.UseBorders = false;
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
this.xrLabel11.StylePriority.UsePadding = false;
|
||||
this.xrLabel11.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel11.Text = "F = face to face";
|
||||
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
|
||||
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
|
||||
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(602.8337F, 48.95833F);
|
||||
this.xrPictureBox1.Name = "xrPictureBox1";
|
||||
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(134.1663F, 126.0417F);
|
||||
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
|
||||
//
|
||||
// Quittierungsbeleg
|
||||
//
|
||||
@@ -1114,17 +1125,17 @@ namespace VaroSozialagentur
|
||||
this.formattingRuleServiceDesc,
|
||||
this.formattingRuleCostBearer,
|
||||
this.formattingRuleEmployeeName});
|
||||
this.Margins = new System.Drawing.Printing.Margins(50, 30, 100, 30);
|
||||
this.Margins = new System.Drawing.Printing.Margins(50, 30, 175, 30);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
@@ -1213,5 +1224,6 @@ namespace VaroSozialagentur
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
|
||||
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
|
||||
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,388 @@
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>21, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
BAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAcwAyADIAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmAHMAMgAyAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgBzADIAMgBcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgBzADIAMgBcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAyADIAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAcwAyADIAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAIABpAG0AIABBAGIAcgBlAGMAaABuAHUAbgBnAHMAegBlAGkAdAByAGEAdQBtAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
|
||||
@@ -482,13 +482,13 @@ namespace VaroSozialagentur
|
||||
//
|
||||
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable6});
|
||||
this.Detail3.HeightF = 29.56523F;
|
||||
this.Detail3.HeightF = 25F;
|
||||
this.Detail3.Name = "Detail3";
|
||||
//
|
||||
// xrTable6
|
||||
//
|
||||
this.xrTable6.Font = new System.Drawing.Font("Calibri", 11F);
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 4.565228F);
|
||||
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
|
||||
@@ -29,6 +29,20 @@ namespace VaroSozialagentur
|
||||
string[] start = pRO.AccountingPeriodStart.ToString().Split(' ');
|
||||
string[] ende = pRO.AccountingPeriodEnd.ToString().Split(' ');
|
||||
|
||||
//if (pRO.ServiceInvoicePeriods != null)
|
||||
//{
|
||||
// foreach (var sip in pRO.ServiceInvoicePeriods)
|
||||
// {
|
||||
// if (sip.ServiceInvoiceItems != null)
|
||||
// {
|
||||
// foreach (var ii in sip.ServiceInvoiceItems)
|
||||
// {
|
||||
// if (ii.ServiceDescription.Contains("Fahrtkosten"));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
lblZeitraum.Text += start[0] + " - " + ende[0];
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
|
||||
@@ -22,6 +22,10 @@ namespace BeWo.Service.DCEntityMapper
|
||||
bDataContract.Start = bEntity.Start;
|
||||
bDataContract.Ende = bEntity.Ende;
|
||||
bDataContract.Pause = bEntity.Pause;
|
||||
if (bEntity.Wohnheim.HasValue)
|
||||
bDataContract.Wohnheim = MapperFactory.WohnheimDC_Wohnheim.MapToNewDC(DAOFactory.GenericDAO.GetByID<Wohnheim>(bEntity.Wohnheim.Value));
|
||||
else
|
||||
bDataContract.Wohnheim = null;
|
||||
|
||||
return bDataContract;
|
||||
}
|
||||
@@ -38,6 +42,10 @@ namespace BeWo.Service.DCEntityMapper
|
||||
bEntity.Start = bDataContract.Start;
|
||||
bEntity.Ende = bDataContract.Ende;
|
||||
bEntity.Pause = bDataContract.Pause;
|
||||
if (bDataContract.Wohnheim != null)
|
||||
bEntity.Wohnheim = bDataContract.Wohnheim.WohnheimOid.Value;
|
||||
else
|
||||
bEntity.Wohnheim = null;
|
||||
|
||||
return bEntity;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.Service.ServiceImplementations;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
@@ -18,9 +20,13 @@ namespace BeWo.Service.Dienstplanung
|
||||
public static DienstplanerRootDC BuildDienstplanerRootObject(DateTime date, long wohnheimOid)
|
||||
{
|
||||
DienstplanerRootDC root = new DienstplanerRootDC();
|
||||
OperationsServiceImp os = new OperationsServiceImp();
|
||||
|
||||
root.AlleDienste = GetAllDienste().OrderBy(d => d.Start).ToList();
|
||||
root.AlleDienste = GetAllDienste(wohnheimOid).OrderBy(d => d.Start).ToList();
|
||||
root.AlleDienste.Insert(0, DienstInfoDC.Platzhalter);
|
||||
root.AbsenceTimes = GetAbsenceTimeVacationByWohnheim(wohnheimOid, date.Year, date.Month);
|
||||
root.OverTimes = GetOverTimesByWohnheim(wohnheimOid, date.Year, date.Month);
|
||||
root.RegelmaessigeDienste = GetRegelmaessigeDienste(wohnheimOid);
|
||||
|
||||
root.TextBoxForeColor = GetColorForForeground();
|
||||
|
||||
@@ -53,8 +59,39 @@ namespace BeWo.Service.Dienstplanung
|
||||
root.StatusColorTrue = "#FF228B22";
|
||||
root.StatusColorFalse = "#FFCD5C5C";
|
||||
|
||||
var wh = DAOFactory.GenericDAO.GetByID<Wohnheim>(wohnheimOid);
|
||||
|
||||
List<long> empOids = new List<long>();
|
||||
#region EmployeeOids holen für Ist- und Saldoberechnung und die Liste der vorhandenen Mitarbeiter
|
||||
foreach (var item in wh.Employee2WohnheimList)
|
||||
{
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
foreach (var item in root.AlleDienstvertretungen)
|
||||
{
|
||||
if (!empOids.Contains(item.EmployeeOid))
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
|
||||
root.AllEmployee = new List<EmployeeDC>();
|
||||
foreach (var block in root.DienstDCListe)
|
||||
{
|
||||
if (!root.AllEmployee.Contains(block.Employee))
|
||||
root.AllEmployee.Add(block.Employee);
|
||||
}
|
||||
#endregion
|
||||
|
||||
root.MonatsZusammenfassung = BerechneSollSaldoUndIst(root, date, empOids);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private static List<RegelmaessigerDienstDC> GetRegelmaessigeDienste(long wOid)
|
||||
{
|
||||
return MapperFactory.RegelmaessigerDienstDC_RegelmaessigerDienst.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive<RegelmaessigerDienst>())
|
||||
.Where(x => x.WohnheimOid == wOid).ToList();
|
||||
}
|
||||
|
||||
public static List<AbsenceTimeDC> GetAbsenceTimeVacationByWohnheim(long wohnId, int year, int month)
|
||||
{
|
||||
var date = new DateTime(year, month, 1);
|
||||
@@ -69,11 +106,29 @@ namespace BeWo.Service.Dienstplanung
|
||||
|
||||
return MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(res);
|
||||
}
|
||||
|
||||
public static List<DienstInfoDC> GetAllDienste()
|
||||
public static List<OvertimeDC> GetOverTimesByWohnheim(long wohnId, int year, int month)
|
||||
{
|
||||
var temp = DAOFactory.GenericDAO.GetAllActive<DienstInfo>();
|
||||
return MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(temp);
|
||||
var date = new DateTime(year, month, 1);
|
||||
var date2 = date.AddMonths(1).AddTicks(-1);
|
||||
var wh = DAOFactory.GenericDAO.GetByID<Wohnheim>(wohnId);
|
||||
var emps = wh.Employee2WohnheimList.Select(x => x.Employee.Oid);
|
||||
|
||||
var allOvertimes = DAOFactory.GenericDAO.GetAllActive<Overtime>().Where(x => x.EmployeeOid.HasValue);
|
||||
|
||||
List<Overtime> ots = allOvertimes.Where(x => emps.Contains(x.EmployeeOid.Value) && x.Date >= date && x.Date <= date2).ToList();
|
||||
|
||||
return MapperFactory.OvertimeDC_Overtime.MapToNewDCs(ots);
|
||||
}
|
||||
|
||||
public static List<DienstInfoDC> GetAllDienste(long? whOid)
|
||||
{
|
||||
List<DienstInfo> list = new List<DienstInfo>();
|
||||
if (whOid == null)
|
||||
list = DAOFactory.GenericDAO.GetAllActive<DienstInfo>().ToList();
|
||||
else
|
||||
list = DAOFactory.SearchDAO.FindDiensteForWohnheim(whOid).ToList();
|
||||
|
||||
return MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(list);
|
||||
}
|
||||
public static void InsertNewDienst(List<DienstInfoDC> dienst)
|
||||
{
|
||||
@@ -154,9 +209,18 @@ namespace BeWo.Service.Dienstplanung
|
||||
for (int i = 0; i < zeile.DienstDictArray.Length; i++)
|
||||
{
|
||||
var empDienste = dienstEintraegeDC
|
||||
.Where(x => x.EmployeeOid == emp.EmployeeOid && x.Zeile == i);
|
||||
.Where(x => x.EmployeeOid == emp.EmployeeOid && x.Zeile == i).ToList();
|
||||
|
||||
zeile.DienstDictArray[i] = empDienste
|
||||
var empDiensteFinal = new List<DienstEintragDC>();
|
||||
foreach (var item in empDienste)
|
||||
{
|
||||
if (!empDiensteFinal.Any(d => d.Datum == item.Datum && d.Zeile == item.Zeile))
|
||||
empDiensteFinal.Add(item);
|
||||
else
|
||||
Console.WriteLine("Key existiert schon");
|
||||
}
|
||||
|
||||
zeile.DienstDictArray[i] = empDiensteFinal
|
||||
.ToDictionary(x => x.Datum.Day, x => x.DienstOid);
|
||||
}
|
||||
|
||||
@@ -400,8 +464,103 @@ namespace BeWo.Service.Dienstplanung
|
||||
{
|
||||
return "#FF6495ED";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static List<DienstplanerMonthlySummaryDC> BerechneSollSaldoUndIst(DienstplanerRootDC root, DateTime date, List<long> empOids)
|
||||
{
|
||||
VacationService vs = new VacationService();
|
||||
var konto = MitarbeiterstundenkontoRO.Create(null, null, date, date.AddMonths(1), empOids);
|
||||
|
||||
var berechnung = new MitarbeiterstundenkontoBerechnung();
|
||||
berechnung.CreateReport(konto);
|
||||
List<DienstplanerMonthlySummaryDC> monatsZusammenfassung = new List<DienstplanerMonthlySummaryDC>();
|
||||
root.StundenBeiAbwesenheit = new Dictionary<long?, decimal>();
|
||||
|
||||
foreach (var item in konto.EmployeeDetailList)
|
||||
{
|
||||
root.StundenBeiAbwesenheit.Add(item.Employee.Oid, item.SollProTag);
|
||||
|
||||
DienstplanerMonthlySummaryDC dc = new DienstplanerMonthlySummaryDC
|
||||
{
|
||||
Employee = MapperFactory.EmployeeDC_Employee.MapToNewDC(item.Employee),
|
||||
Soll = item.StundenSollOhneUrlaubKrankheit,
|
||||
ZeitkontoLetzterMonat = item.UeberstundenVormonat,
|
||||
ZeitkontoAktualisiert = item.Ueberstunden,
|
||||
TageUrlaub = 0,
|
||||
TageKrank = 0
|
||||
};
|
||||
var eintraegeFuerMitarbeiterMonat = root.AlleDienstEintraege.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
var vertretungenFuerMitarbeiterMonat = root.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
var urlaubKrankheitMonat = root.AbsenceTimes.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
var overTimesMonat = root.OverTimes.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
|
||||
decimal stunden = 0;
|
||||
//decimal abzug = 0;
|
||||
|
||||
if (eintraegeFuerMitarbeiterMonat.Count > 0)
|
||||
{
|
||||
foreach (var eintrag in eintraegeFuerMitarbeiterMonat)
|
||||
{
|
||||
stunden += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
}
|
||||
}
|
||||
if (vertretungenFuerMitarbeiterMonat.Count > 0)
|
||||
{
|
||||
foreach (var vertretung in vertretungenFuerMitarbeiterMonat)
|
||||
stunden += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
}
|
||||
if (overTimesMonat.Count > 0)
|
||||
{
|
||||
foreach (var ot in overTimesMonat)
|
||||
stunden += ot.Betrag;
|
||||
}
|
||||
if (urlaubKrankheitMonat.Count > 0)
|
||||
{
|
||||
decimal dauer = 0;
|
||||
|
||||
foreach (var abs in urlaubKrankheitMonat)
|
||||
{
|
||||
// Wenn die Abwesenheit über den Monat hinausgeht, Ende auf Ende des Monats setzen
|
||||
if (abs.End != null)
|
||||
{
|
||||
if (abs.End.Value.Month != date.Month)
|
||||
abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Year));
|
||||
}
|
||||
|
||||
var dauerAbwesenheit = vs.BerechneAnzahlUrlaubstage(null, abs, date.Year);
|
||||
if (abs.Reason.Description.ToLower().Contains("urlaub"))
|
||||
dc.TageUrlaub += dauerAbwesenheit * item.SollProTag;
|
||||
else if (abs.Reason.Description.ToLower().Contains("krank"))
|
||||
dc.TageKrank += dauerAbwesenheit * item.SollProTag;
|
||||
|
||||
dauer += dauerAbwesenheit;
|
||||
|
||||
//Dienste an einem ganzen Abwesenheitstag von den Stunden abziehen
|
||||
foreach (var e in eintraegeFuerMitarbeiterMonat)
|
||||
{
|
||||
if (abs.AbsenceSpan.ContainsDate(e.Datum.Date))
|
||||
{
|
||||
if (dauerAbwesenheit > 0.5m)
|
||||
stunden -= Convert.ToDecimal(e.DauerInStunden);
|
||||
}
|
||||
}
|
||||
foreach (var v in vertretungenFuerMitarbeiterMonat)
|
||||
{
|
||||
if (abs.AbsenceSpan.ContainsDate(v.Datum.Date))
|
||||
{
|
||||
if (dauerAbwesenheit > 0.5m)
|
||||
stunden -= Convert.ToDecimal(v.DauerInStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
stunden += dauer * item.SollProTag;
|
||||
}
|
||||
dc.Ist = stunden;
|
||||
dc.Saldo = dc.Ist - dc.Soll;
|
||||
|
||||
monatsZusammenfassung.Add(dc);
|
||||
}
|
||||
|
||||
return monatsZusammenfassung;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,11 +274,16 @@ namespace BeWo.Service.Plugins
|
||||
//t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
|
||||
//t = "5850903700"; // Alzey Teilhabe
|
||||
//t = "5929601293"; // Lebenshilfe Duisburg Frühförderung (Projekt heißt LebenshilfeDuisburgAtz)
|
||||
//t = "6860475645"; // Lebenshilfe Duisburg Atz (Projekt heißt LebenshilfeDuisburgAtz6860475645)
|
||||
//t = "6860475645"; // Lebenshilfe Duisburg ATZ (Projekt heißt LebenshilfeDuisburgAtz6860475645)
|
||||
//t = "4823067940"; // Die Kette 2
|
||||
//t = "8283849714"; // Forum e.V. (proviel GmbH)
|
||||
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
|
||||
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
|
||||
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
|
||||
//t = "5595701056"; // Domiziel Ansbach
|
||||
//t = "4823067940"; // Die Kette 2
|
||||
//t = "8283849714"; // Forum e.V. (proviel GmbH)
|
||||
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
|
||||
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
|
||||
//t = "5595701056"; // Domiziel Ansbach
|
||||
//t = "9430188510"; // Pro INTEGRA
|
||||
//t = "4820371076"; // Zuhause Wohnen Iris Thimm
|
||||
@@ -291,7 +296,9 @@ namespace BeWo.Service.Plugins
|
||||
//t = "6282665941"; // Diakonisches Werk Regensburg
|
||||
//t = "7712740386"; // Heimstatt St. Marien e.V. (Carl-Sonnenscheinhaus)
|
||||
//t = "5537187628"; // Verband Ev. Kirchengemeinden Dorsten
|
||||
|
||||
//t = "8375099271"; // Neustart - Ambulant Betreutes Wohnen
|
||||
//t = "5478434972"; // LebensWert - Kai Lippel
|
||||
//t = "5381886394"; // PZDDuesseldorf
|
||||
return t;
|
||||
#else
|
||||
if (MultitenancyOperationContextExt.Current != null)
|
||||
|
||||
@@ -575,7 +575,7 @@ namespace BeWo.Service.Plugins
|
||||
var end = DateTimeExtensions.GetMin(absence.End, new DateTime(absYear, 12, 31));
|
||||
|
||||
// Dauer des Urlaubs unter Berücksichtigung von Wochenend- und Feiertagen berechnen
|
||||
var dauer = BerechneAnzahlUrlaubstage(emp, absence, absYear);
|
||||
var dauer = BerechneAnzahlUrlaubstage(absence, null, absYear);
|
||||
// Verfallsdatum des Urlaubs festlegen
|
||||
var expiration = GetExpirationDate(absYear);
|
||||
current.UrlaubsVerfallsdatum = expiration;
|
||||
@@ -711,43 +711,85 @@ namespace BeWo.Service.Plugins
|
||||
return urlaubstage;
|
||||
}
|
||||
|
||||
private decimal BerechneAnzahlUrlaubstage(Employee emp, AbsenceTime absence, int year)
|
||||
public decimal BerechneAnzahlUrlaubstage(AbsenceTime absence, AbsenceTimeDC absenceDC, int year)
|
||||
{
|
||||
if (absence.Start.HasValue)
|
||||
if (absence != null)
|
||||
{
|
||||
decimal days = 0;
|
||||
//int days = 0;
|
||||
|
||||
//DateTime start = absence.Start.Value;
|
||||
DateTime start = (absence.Start.Value.Year == year) ? absence.Start.Value : new DateTime(year, 1, 1);
|
||||
DateTime end = start;
|
||||
DateTime maxend = new DateTime(year, 12, 31);
|
||||
if (absence.End.HasValue)
|
||||
if (absence.Start.HasValue)
|
||||
{
|
||||
end = absence.End.Value;
|
||||
}
|
||||
decimal days = 0;
|
||||
//int days = 0;
|
||||
|
||||
if (maxend < end)
|
||||
{
|
||||
end = maxend;
|
||||
}
|
||||
|
||||
|
||||
while (start <= end)
|
||||
{
|
||||
if (start.DayOfWeek != DayOfWeek.Saturday && start.DayOfWeek != DayOfWeek.Sunday && !IstFeiertag(start))
|
||||
//DateTime start = absence.Start.Value;
|
||||
DateTime start = (absence.Start.Value.Year == year) ? absence.Start.Value : new DateTime(year, 1, 1);
|
||||
DateTime end = start;
|
||||
DateTime maxend = new DateTime(year, 12, 31);
|
||||
if (absence.End.HasValue)
|
||||
{
|
||||
if (start.Date == end.Date && start.TimeOfDay != end.TimeOfDay)
|
||||
days += 0.5m;
|
||||
else
|
||||
days++;
|
||||
end = absence.End.Value;
|
||||
}
|
||||
|
||||
start = start.AddDays(1);
|
||||
if (maxend < end)
|
||||
{
|
||||
end = maxend;
|
||||
}
|
||||
|
||||
|
||||
while (start <= end)
|
||||
{
|
||||
if (start.DayOfWeek != DayOfWeek.Saturday && start.DayOfWeek != DayOfWeek.Sunday && !IstFeiertag(start))
|
||||
{
|
||||
if (start.Date == end.Date && start.TimeOfDay != end.TimeOfDay)
|
||||
days += 0.5m;
|
||||
else
|
||||
days++;
|
||||
}
|
||||
|
||||
start = start.AddDays(1);
|
||||
}
|
||||
return (decimal)days;
|
||||
}
|
||||
return (decimal)days;
|
||||
}
|
||||
|
||||
else if (absenceDC != null)
|
||||
{
|
||||
if (absenceDC.Start.HasValue)
|
||||
{
|
||||
decimal days = 0;
|
||||
//int days = 0;
|
||||
|
||||
//DateTime start = absence.Start.Value;
|
||||
DateTime start = (absenceDC.Start.Value.Year == year) ? absenceDC.Start.Value : new DateTime(year, 1, 1);
|
||||
DateTime end = start;
|
||||
DateTime maxend = new DateTime(year, 12, 31);
|
||||
if (absenceDC.End.HasValue)
|
||||
{
|
||||
end = absenceDC.End.Value;
|
||||
}
|
||||
|
||||
if (maxend < end)
|
||||
{
|
||||
end = maxend;
|
||||
}
|
||||
|
||||
|
||||
while (start <= end)
|
||||
{
|
||||
if (start.DayOfWeek != DayOfWeek.Saturday && start.DayOfWeek != DayOfWeek.Sunday && !IstFeiertag(start))
|
||||
{
|
||||
if (start.Date == end.Date && start.TimeOfDay != end.TimeOfDay)
|
||||
days += 0.5m;
|
||||
else
|
||||
days++;
|
||||
}
|
||||
|
||||
start = start.AddDays(1);
|
||||
}
|
||||
return (decimal)days;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
public Dictionary<long?, decimal> BerechneAnzEinerAbwesenheitFuerMehrereMitarbeiter(List<long?> empOids, int year, string reason)
|
||||
|
||||
@@ -896,7 +896,7 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<DienstInfoDC> GetAllDienste();
|
||||
List<DienstInfoDC> GetAllDienste(long? wOid);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
@@ -1003,8 +1003,6 @@ namespace BeWo.Service.ServiceContracts
|
||||
[OperationContract]
|
||||
void DeleteRegelmaessigerDienst(RegelmaessigerDienstDC dienst);
|
||||
|
||||
List<RegelmaessigerDienstDC> GetRegelmaessigeDienste(long wOid);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
void InsertNewDienstvertretung(DienstvertretungDC dienstvertretung);
|
||||
@@ -1025,10 +1023,6 @@ namespace BeWo.Service.ServiceContracts
|
||||
[OperationContract]
|
||||
void DeleteCertainDienstEintragOutOfTable(long dienstEintragOid);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<AbsenceTimeDC> GetAbsenceTimeVacationByWohnheim(long wohnId, int year, int month);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<ServiceRecordDC> GetServiceRecordsByIds(List<long> serviceRecordOids);
|
||||
|
||||
@@ -5965,11 +5965,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
return MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDCs(costbearer2SupportConcepts);
|
||||
}
|
||||
|
||||
public List<DienstInfoDC> GetAllDienste()
|
||||
public List<DienstInfoDC> GetAllDienste(long? wOid)
|
||||
{
|
||||
try
|
||||
{
|
||||
return DienstplanungsManager.GetAllDienste();
|
||||
return DienstplanungsManager.GetAllDienste(wOid);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -6353,31 +6353,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
public List<RegelmaessigerDienstDC> GetRegelmaessigeDienste(long wOid)
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.RegelmaessigerDienstDC_RegelmaessigerDienst.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive<RegelmaessigerDienst>())
|
||||
.Where(x => x.WohnheimOid == wOid).ToList();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public List<AbsenceTimeDC> GetAbsenceTimeVacationByWohnheim(long wohnId, int year, int month)
|
||||
{
|
||||
try
|
||||
{
|
||||
return DienstplanungsManager.GetAbsenceTimeVacationByWohnheim(wohnId, year, month);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void InsertConfirmationReceiptSignature(ConfirmationReceiptSignatureDC confirmationReceiptSignature)
|
||||
{
|
||||
try
|
||||
@@ -6917,68 +6893,9 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
var cs = new CustomerServiceImp();
|
||||
var es = new EmployeeServiceImp();
|
||||
|
||||
DienstplanerRootDC root = DienstplanungsManager.BuildDienstplanerRootObject(date, wohnheimOid);
|
||||
|
||||
//root.Wohnheime = cs.GetAllActiveWohnheimeCompact();
|
||||
|
||||
root.Feiertage = GetDefaultFeiertageForYear(date.Year);
|
||||
|
||||
root.AbsenceTimes = GetAbsenceTimeVacationByWohnheim(wohnheimOid, date.Year, date.Month);
|
||||
root.RegelmaessigeDienste = GetRegelmaessigeDienste(wohnheimOid);
|
||||
|
||||
var wh = DAOFactory.GenericDAO.GetByID<Wohnheim>(wohnheimOid);
|
||||
|
||||
List<long> empOids = new List<long>();
|
||||
foreach (var item in wh.Employee2WohnheimList)
|
||||
{
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
foreach (var item in root.AlleDienstvertretungen)
|
||||
{
|
||||
if (!empOids.Contains(item.EmployeeOid))
|
||||
empOids.Add((long)item.EmployeeOid);
|
||||
}
|
||||
|
||||
//root.AllEmployee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(empOids));
|
||||
|
||||
var konto = MitarbeiterstundenkontoRO.Create(null, null, date, date.AddMonths(1), empOids);
|
||||
|
||||
var berechnung = new MitarbeiterstundenkontoBerechnung();
|
||||
berechnung.CreateReport(konto);
|
||||
root.MonatsZusammenfassung = new List<DienstplanerMonthlySummaryDC>();
|
||||
foreach (var item in konto.EmployeeDetailList)
|
||||
{
|
||||
DienstplanerMonthlySummaryDC dc = new DienstplanerMonthlySummaryDC
|
||||
{
|
||||
Employee = MapperFactory.EmployeeDC_Employee.MapToNewDC(item.Employee),
|
||||
Soll = item.StundenSollOhneUrlaubKrankheit,
|
||||
ZeitkontoLetzterMonat = item.UeberstundenVormonat,
|
||||
ZeitkontoAktualisiert = item.Ueberstunden,
|
||||
TageUrlaub = item.TageUrlaub != null ? (decimal)item.TageUrlaub : 0,
|
||||
TageKrank = item.TageKrankheit != null ? (decimal)item.TageKrankheit : 0
|
||||
};
|
||||
var eintraegeFuerMitarbeiterMonat = root.AlleDienstEintraege.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
var vertretungenFuerMitarbeiterMonat = root.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == dc.Employee.EmployeeOid).ToList();
|
||||
|
||||
decimal stunden = 0;
|
||||
if (eintraegeFuerMitarbeiterMonat.Count > 0)
|
||||
{
|
||||
foreach (var eintrag in eintraegeFuerMitarbeiterMonat)
|
||||
stunden += Convert.ToDecimal(eintrag.DauerInStunden);
|
||||
}
|
||||
if (vertretungenFuerMitarbeiterMonat.Count > 0)
|
||||
{
|
||||
foreach (var vertretung in vertretungenFuerMitarbeiterMonat)
|
||||
stunden += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
}
|
||||
dc.Ist = stunden;
|
||||
dc.Saldo = dc.Ist - dc.Soll;
|
||||
|
||||
root.MonatsZusammenfassung.Add(dc);
|
||||
}
|
||||
return root;
|
||||
}
|
||||
catch (Exception e)
|
||||
|
||||
@@ -33,5 +33,6 @@ namespace BS.Shared.DataContracts.Compact
|
||||
|
||||
[DataMember]
|
||||
public List<long> EmployeeOids { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -36,19 +36,14 @@ namespace BS.Shared.DataContracts
|
||||
[DataMember]
|
||||
public int Pause { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public WohnheimDC Wohnheim{ get; set; }
|
||||
|
||||
[DataMember]
|
||||
public DienstInfoDC UmschließenderDienst { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
//string vonStunden = Start.TimeOfDay.Hours < 10 ? "0" + Start.TimeOfDay.Hours : Start.TimeOfDay.Hours.ToString();
|
||||
//string vonMinuten = Start.TimeOfDay.Minutes < 10 ? "0" + Start.TimeOfDay.Minutes : Start.TimeOfDay.Minutes.ToString();
|
||||
//string bisStunden = Ende.TimeOfDay.Hours < 10 ? "0" + Ende.TimeOfDay.Hours : Ende.TimeOfDay.Hours.ToString();
|
||||
//string bisMinuten = Ende.TimeOfDay.Minutes < 10 ? "0" + Ende.TimeOfDay.Minutes : Ende.TimeOfDay.Minutes.ToString();
|
||||
|
||||
//string vonbis = vonStunden + ":" + vonMinuten + " Uhr - " + bisStunden + ":" + bisMinuten + " Uhr";
|
||||
//return string.IsNullOrEmpty(Kurz) ? "" : vonbis + " (" + DienstName + ")";
|
||||
//return $"ID:{Oid}|N:{DienstName}|K:{Kurz}";
|
||||
return Kurz;
|
||||
}
|
||||
|
||||
@@ -84,16 +79,6 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
string vonbis = vonStunden + ":" + vonMinuten + " Uhr - " + bisStunden + ":" + bisMinuten + " Uhr";
|
||||
return string.IsNullOrEmpty(Kurz) ? "" : vonbis + " (" + DienstName + ")";
|
||||
//return ToString();
|
||||
//var startHour = Start.Hour < 10 ? "0" + Start.Hour.ToString() : Start.Hour.ToString();
|
||||
//var startMinute = Start.Minute < 10 ? "0" + Start.Minute.ToString() : Start.Minute.ToString();
|
||||
//var endeHour = Ende.Hour < 10 ? "0" + Ende.Hour.ToString() : Ende.Hour.ToString();
|
||||
//var endeMinute = Ende.Minute < 10 ? "0" + Ende.Minute.ToString() : Ende.Minute.ToString();
|
||||
|
||||
//if (DienstName == null)
|
||||
// return "";
|
||||
//else
|
||||
// return DienstName + " | " + startHour + ":" + startMinute + " - " + endeHour + ":" + endeMinute;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,9 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public List<AbsenceTimeDC> AbsenceTimes { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<OvertimeDC> OverTimes { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<EmployeeDC> AllEmployee { get; set; }
|
||||
@@ -52,5 +55,8 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public List<DienstplanerMonthlySummaryDC> MonatsZusammenfassung { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public Dictionary<long?, decimal> StundenBeiAbwesenheit { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,12 +18,5 @@ namespace BS.Shared.DataContracts
|
||||
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
|
||||
[DataMember]
|
||||
public List<AbwesenheitsInformationDC> AlleAbwesenheitsInformationDCs { get; set; }
|
||||
|
||||
//[DataMember]
|
||||
//public List<AbsenceReasonDC> AlleAbwesenheitsgründe { get; set; }
|
||||
//[DataMember]
|
||||
//public List<EmploymentTypeDC> AlleVertragsArten { get; set; }
|
||||
//[DataMember]
|
||||
//public List<CompactTeamDC> AlleTeamsCompact { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,10 @@ namespace BS.Shared.DataContracts
|
||||
[DataMember]
|
||||
public List<WohnheimCustomerRelationDC> RelatedCustomers { get; set; }
|
||||
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return WohnheimName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user