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

This commit is contained in:
2024-02-27 09:21:48 +01:00
32 changed files with 5218 additions and 4810 deletions

View File

@@ -58,7 +58,7 @@ namespace BeWo.View.Detail.Accounting
this._NewGkvAbrechnungPopUpView.CreateButtonClicked += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
//ServiceFacade.DoAccountingServiceSync(svc => svc.InsertNewGkvAbrechnungen(e.Data));
ServiceFacade.DoAccountingServiceSync(svc => svc.InsertNewGkvAbrechnungen(e.Data));
};
this._EquityInvoiceItemEditView = new EquityInvoiceItemEditView();

View File

@@ -133,7 +133,8 @@ namespace BeWo.View.Detail.Accounting
{
popup_organisation.IsOpen = false;
gkvsearchview.ItemSelected -= gkvsearchview_OrganisationSelected;
this.ViewModel.IKEmpfang = e.Data.Name;
ViewModel.IKEmpfang = e.Data.IKKrankenkasse;
ViewModel.IKDatenannahmestelle = e.Data.IKDatenannahmestelle;
popupedit_GkvSearch.Text = e.Data.ToString();
popupedit_GkvSearch.Focus();

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -37,6 +37,30 @@ textarea {
background-position: right;
}
@media(min-width: 576px) {
.text-sm-justify {
text-align: justify !important;
}
}
@media(min-width: 768px) {
.text-md-justify {
text-align: justify !important;
}
}
@media(min-width: 992px) {
.text-lg-justify {
text-align: justify !important;
}
}
@media(min-width: 1200px) {
.text-xl-justify {
text-align: justify !important;
}
}
@media (min-width: 1px) {

View File

@@ -868,9 +868,11 @@ namespace BeWoPlanerMobil.Controllers
return Logout();
}
var historyEntries = OperationsService.LoadBargeldtransaktionshistoryEntries(transactionOid);
Model.BargeldtransaktionshistoryEntries = historyEntries;
Model.BargeldtransaktionshistoryEntries = historyEntries.OrderByDescending(he => he.InsertedOn).ToList();
return PartialView("CustomerBargeldtransaktionshistorienPartial", Model);
}

View File

@@ -44,7 +44,11 @@ namespace BeWoPlanerMobil.Controllers
if(loginState.Message != null && loginState.State > -1)
{
TempData[MobileUtils.TempDataLoginStateKey] = loginState;
return Logout();
if(loginState.State == 0)
{
ViewData[LoginErrorIndex] = loginState.Message;
return Logout();
}
}
Log.Info($"LoginController.Index(): Loggedin User: {MobileSessionFacade.LoggedInUser.LoginName}");

View File

@@ -238,10 +238,10 @@
}
}
function deleteZahlungsbelegsunterschrift(transaktionsOid) {
function deleteZahlungsbelegsunterschrift(transaktionsOid, zahlungsdatum, betrag, zahlungstyp) {
try {
showMessagePopupWithCallback("Transaktionsunterschrift löschen",
"message",
"Sind Sie sicher, dass Sie die Unterschrift für die " + zahlungstyp + " über " + betrag + " vom " + zahlungsdatum + " löschen möchten?",
function () {
showSpinner();
$("#bargeldkassen-container").load("@Url.Action("DeleteTransactionSignature")",
@@ -462,148 +462,153 @@
</div>
</div>
</div>
<div class="w-100">
@*----- Kassenbstand und Anfangsbestand -----*@
<table class="w-100">
<tbody>
<tr>
<td class="text-secondary">
Kassenbestand:
</td>
<td class="text-primary float-right">
@kassenbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Anfangsbestand:
</td>
<td class="text-primary float-right">
@anfangsbestand
</td>
</tr>
</tbody>
</table>
@* Liste mit den Ein- und Auszahlungen *@
<div class="col mb-0 pb-0 mx-0 px-0">
<div class="card h-100">
<div class="card-header" onclick="cardHeaderClick2(this)">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header chevron-identifier-class"></i>
<div class="w-100">
@*----- Kassenbstand und Anfangsbestand -----*@
<table class="w-100">
<tbody>
<tr>
<td class="text-secondary">
Kassenbestand:
</td>
<td class="text-primary float-right">
@kassenbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Anfangsbestand:
</td>
<td class="text-primary float-right">
@anfangsbestand
</td>
</tr>
</tbody>
</table>
@* Liste mit den Ein- und Auszahlungen *@
<div class="col mb-0 pb-0 mx-0 px-0">
<div class="card h-100">
<div class="card-header" onclick="cardHeaderClick2(this)">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header chevron-identifier-class"></i>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<button type="button" class="btn btn-lihnk text-bewo-customer-card-header">
Ein- und Auszahlungen
</button>
</div>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<p>Ein- und Auszahlungen</p>
</div>
</div>
<div class="collapse">
<div class="card-body">
<table class="w-100 mx-0 px-0">
<tbody>
@{
var count = 0;
}
@foreach(var transaktion in bargeldkasse.Bargeldtransaktionen)
{
<tr>
<td colspan="2">
<div class="btn-group w-100" role="gorup">
@if(transaktion.SignatureOid is null)
{
<button class="btn btn-outline-primary" title="Zahlungsbeleg unterschreiben" type="button" onclick="signZahlungsbeleg(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-signature"></i>
</button>
}
else
{
<button class="btn btn-outline-primary" title="Zahlungsbelegsunterschrift löschen" type="button" onclick="deleteZahlungsbelegsunterschrift(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-signature"></i>
<i class="fas fa-arrow-right"></i>
<i class="fas fa-trash-alt"></i>
</button>
}
<button class="btn btn-outline-primary" title="Bargeldtransaktion bearbeiten" type="button" onclick="editBargeldtransaktion(@bargeldkasse.BargeldkassenOid, @transaktion.BargeldtransaktionOid)">
<i class="fas fa-edit"></i>
</button>
<button class="btn btn-outline-primary" title="Zahlungsbeleg herunterladen" type="button" onclick="downloadZahlungsbeleg(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-file-download"></i>
</button>
<button class="btn btn-outline-primary" title="Änderungshistorie anzeigen" type="button" onclick="showBargeldtransaktionshistorie(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-history"></i>
</button>
<button class="btn btn-outline-danger" title="Bargeldtransaktion löschen" type="button" onclick="deleteBargeldransaktion(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-trash-alt"></i>
</button>
</div>
</td>
</tr>
<tr>
<td class="text-secondary">
Datum
</td>
<td class="float-right">
@transaktion.Zahlungsdatum.Value.ToString("dd.MM.yyyy")
</td>
</tr>
<tr>
<td class="text-secondary">
Art
</td>
<td class="float-right">
@transaktion.Zahlungstyp
</td>
</tr>
<tr>
<td class="text-secondary">
Betrag
</td>
<td class="float-right">
@transaktion.Betrag.Value.ToString("0.00 €")
</td>
</tr>
<tr>
<td class="text-secondary">
Belegnummer
</td>
<td class="float-right">
@transaktion.Belegnummer
</td>
</tr>
<tr>
<td class="text-secondary">
Angelegt von
</td>
<td class="float-right">
@transaktion.InsUser
</td>
</tr>
<tr>
<td class="text-secondary">
Notiz
</td>
<td class="float-right">
@transaktion.Notice
</td>
</tr>
if(count < bargeldkasse.Bargeldtransaktionen.Count - 1)
{
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<div class="collapse">
<div class="card-body">
<table class="w-100 mx-0 px-0">
<tbody>
@{
var count = 0;
}
count++;
}
</tbody>
</table>
@foreach(var transaktion in bargeldkasse.Bargeldtransaktionen)
{
var zahlungsdatum = transaktion.Zahlungsdatum.Value.ToString("dd.MM.yyyy");
var betrag = transaktion.Betrag.Value.ToString("0.00 €");
<tr>
<td colspan="2">
<div class="btn-group w-100" role="gorup">
@if(transaktion.SignatureOid is null)
{
<button class="btn btn-outline-primary" title="Zahlungsbeleg unterschreiben" type="button" onclick="signZahlungsbeleg(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-signature"></i>
</button>
}
else
{
<button class="btn btn-outline-primary" title="Zahlungsbelegsunterschrift löschen" type="button" onclick="deleteZahlungsbelegsunterschrift(@transaktion.BargeldtransaktionOid, '@zahlungsdatum', '@betrag', '@transaktion.Zahlungstyp')">
<i class="fas fa-signature"></i>
<i class="fas fa-arrow-right"></i>
<i class="fas fa-trash-alt"></i>
</button>
}
<button class="btn btn-outline-primary" title="Bargeldtransaktion bearbeiten" type="button" onclick="editBargeldtransaktion(@bargeldkasse.BargeldkassenOid, @transaktion.BargeldtransaktionOid)">
<i class="fas fa-edit"></i>
</button>
<button class="btn btn-outline-primary" title="Zahlungsbeleg herunterladen" type="button" onclick="downloadZahlungsbeleg(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-file-download"></i>
</button>
<button class="btn btn-outline-primary" title="Änderungshistorie anzeigen" type="button" onclick="showBargeldtransaktionshistorie(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-history"></i>
</button>
<button class="btn btn-outline-danger" title="Bargeldtransaktion löschen" type="button" onclick="deleteBargeldransaktion(@transaktion.BargeldtransaktionOid)">
<i class="fas fa-trash-alt"></i>
</button>
</div>
</td>
</tr>
<tr>
<td class="text-secondary">
Datum
</td>
<td class="float-right">
@zahlungsdatum
</td>
</tr>
<tr>
<td class="text-secondary">
Art
</td>
<td class="float-right">
@transaktion.Zahlungstyp
</td>
</tr>
<tr>
<td class="text-secondary">
Betrag
</td>
<td class="float-right">
@betrag
</td>
</tr>
<tr>
<td class="text-secondary">
Belegnummer
</td>
<td class="float-right text-sm-justify">
@transaktion.Belegnummer
</td>
</tr>
<tr>
<td class="text-secondary">
Angelegt von
</td>
<td class="float-right text-sm-justify">
@transaktion.InsUser
</td>
</tr>
<tr>
<td class="text-secondary">
Notiz
</td>
<td class="float-right text-sm-justify">
@transaktion.Notice
</td>
</tr>
if(count < bargeldkasse.Bargeldtransaktionen.Count - 1)
{
<tr>
<td colspan="2">
<hr />
</td>
</tr>
}
count++;
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -80,7 +80,7 @@
<td class="text-secondary">
Notiz
</td>
<td class="float-right">
<td class="float-right text-sm-justify">
@historyEntry.Notice
</td>
</tr>

View File

@@ -641,6 +641,7 @@
</div>
</div>
@* ----- Einzelbuchung ----- *@
<div class="container-fluid mb-3" id="main-container">
@if(!Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode)
{
@@ -648,6 +649,7 @@
}
</div>
@* ----- Gruppenbuchung ----- *@
<div class="container mb-3">
@if(Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode)
{
@@ -655,6 +657,7 @@
}
</div>
@* ----- Mehrfachbuchung ----- *@
<div class="container mb-3">
@if(Model.IsInMultiBookingMode && !Model.IsInGroupBookingMode)
{
@@ -662,7 +665,7 @@
}
</div>
<!-- Textbausteine-Popup-->
@* ----- Textbausteine-Popup ----- *@
<div class="modal" tabindex="-1" role="dialog" id="textbausteine-popup">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
@@ -684,7 +687,7 @@
</div>
</div>
<!-- Unterschriften-Layover -->
@* ----- Unterschriften-Layover ----- *@
<div class="container-fluid d-none mb-3" id="signature-container">
<div class="container-fluid">
<div class="row">
@@ -758,13 +761,13 @@
</div>
</div>
<!-- Löschformular -->
@* ----- Löschformular ----- *@
@using(Html.BeginForm("DeleteServiceRecord", "Main", FormMethod.Post, new { id = "deletion-form" }))
{
<input type="hidden" name="serviceRecordOidHolder" id="oidHolder" />
}
<!-- Statistik-Popup -->
@* ----- Statistik-Popup ----- *@
<div id="statistics-popup" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
@@ -789,7 +792,7 @@
</div>
</div>
<!-- Unterschriftenanzeige-Popup -->
@* ----- Unterschriftenanzeige-Popup ----- *@
<div id="signature-img-popup" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
@@ -809,7 +812,7 @@
</div>
</div>
<!-- Bewertungspopup für Ziele -->
@* ----- Bewertungspopup für Ziele ----- *@
@if(AbstractModel.HasRightToRateGoals)
{
<div id="goal-rating-popup" class="modal" tabindex="-1" role="dialog">
@@ -843,7 +846,7 @@
}
<input type="hidden" id="has-any-rating-types" value="@hasRatingTypes" />
<!-- Passwort ändern Popup -->
@* ----- Passwort ändern Popup ----- *@
@using(Html.BeginForm("ChangePassword", "Main", FormMethod.Post, new { id = "change-password-form" }))
{
<div class="modal" id="password-changing-popup" tabindex="-1" role="dialog">

View File

@@ -714,12 +714,12 @@ $nav-pills-link-active-color: $component-active-color !default;
$nav-pills-link-active-bg: $component-active-bg !default;
$nav-divider-color: $gray-200 !default;
$nav-divider-margin-y: $spacer / 2 !default;
$nav-divider-margin-y: $spacer / 2 !default;
// Navbar
$navbar-padding-y: $spacer / 2 !default;
$navbar-padding-y: $spacer / 2 !default;
$navbar-padding-x: $spacer !default;
$navbar-nav-link-padding-x: .5rem !default;
@@ -728,7 +728,7 @@ $navbar-brand-font-size: $font-size-lg !default;
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
$navbar-toggler-padding-y: .25rem !default;
$navbar-toggler-padding-x: .75rem !default;
@@ -842,7 +842,7 @@ $card-bg: $white !default;
$card-img-overlay-padding: 1.25rem !default;
$card-group-margin: $grid-gutter-width / 2 !default;
$card-group-margin: $grid-gutter-width / 2 !default;
$card-deck-margin: $card-group-margin !default;
$card-columns-count: 3 !default;

View File

@@ -43,10 +43,10 @@ $rfs-base-font-size-unit: unit($rfs-base-font-size);
// Remove px-unit from $rfs-base-font-size for calculations
@if $rfs-base-font-size-unit == "px" {
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);
}
@else if $rfs-base-font-size-unit == "rem" {
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);
}
// Cache $rfs-breakpoint unit to prevent multiple calls
@@ -54,144 +54,141 @@ $rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
// Remove unit from $rfs-breakpoint for calculations
@if $rfs-breakpoint-unit-cache == "px" {
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);
}
@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);
}
// Responsive font-size mixin
@mixin rfs($fs, $important: false) {
// Cache $fs unit
$fs-unit: if(type-of($fs) == "number", unit($fs), false);
// Cache $fs unit
$fs-unit: if(type-of($fs) == "number", unit($fs), false);
// Add !important suffix if needed
$rfs-suffix: if($important, " !important", "");
// Add !important suffix if needed
$rfs-suffix: if($important, " !important", "");
// If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
@if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
font-size: #{$fs}#{$rfs-suffix};
}
@else {
// Variables for storing static and fluid rescaling
$rfs-static: null;
$rfs-fluid: null;
// Remove px-unit from $fs for calculations
@if $fs-unit == "px" {
$fs: $fs / ($fs * 0 + 1);
}
@else if $fs-unit == "rem" {
$fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);
}
// Set default font-size
@if $rfs-font-size-unit == rem {
$rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};
}
@else if $rfs-font-size-unit == px {
$rfs-static: #{$fs}px#{$rfs-suffix};
// If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
@if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
font-size: #{$fs}#{$rfs-suffix};
}
@else {
@error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
}
// Variables for storing static and fluid rescaling
$rfs-static: null;
$rfs-fluid: null;
// Only add media query if font-size is bigger as the minimum font-size
// If $rfs-factor == 1, no rescaling will take place
@if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {
$min-width: null;
$variable-unit: null;
// Calculate minimum font-size for given font-size
$fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;
// Calculate difference between given font-size and minimum font-size for given font-size
$fs-diff: $fs - $fs-min;
// Base font-size formatting
// No need to check if the unit is valid, because we did that before
$min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);
// If two-dimensional, use smallest of screen width and height
$variable-unit: if($rfs-two-dimensional, vmin, vw);
// Calculate the variable width between 0 and $rfs-breakpoint
$variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};
// Set the calculated font-size.
$rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};
}
// Rendering
@if $rfs-fluid == null {
// Only render static font-size if no fluid font-size is available
font-size: $rfs-static;
}
@else {
$mq-value: null;
// RFS breakpoint formatting
@if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {
$mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};
}
@else if $rfs-breakpoint-unit == px {
$mq-value: #{$rfs-breakpoint}px;
}
@else {
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
}
@if $rfs-class == "disable" {
// Adding an extra class increases specificity,
// which prevents the media query to override the font size
&,
.disable-responsive-font-size &,
&.disable-responsive-font-size {
font-size: $rfs-static;
// Remove px-unit from $fs for calculations
@if $fs-unit == "px" {
$fs: $fs / ($fs * 0 + 1);
}
}
@else {
font-size: $rfs-static;
}
@else if $fs-unit == "rem" {
$fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);
}
// Set default font-size
@if $rfs-font-size-unit == rem {
$rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};
}
@else if $rfs-font-size-unit == px {
$rfs-static: #{$fs}px#{$rfs-suffix};
}
@else {
@error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
}
// Only add media query if font-size is bigger as the minimum font-size
// If $rfs-factor == 1, no rescaling will take place
@if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {
$min-width: null;
$variable-unit: null;
@if $rfs-two-dimensional {
@media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
// Calculate minimum font-size for given font-size
$fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;
// Calculate difference between given font-size and minimum font-size for given font-size
$fs-diff: $fs - $fs-min;
// Base font-size formatting
// No need to check if the unit is valid, because we did that before
$min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);
// If two-dimensional, use smallest of screen width and height
$variable-unit: if($rfs-two-dimensional, vmin, vw);
// Calculate the variable width between 0 and $rfs-breakpoint
$variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};
// Set the calculated font-size.
$rfs-fluid: #{$min-width} + #{$variable-width} #{$rfs-suffix};
}
// Rendering
@if $rfs-fluid == null {
// Only render static font-size if no fluid font-size is available
font-size: $rfs-static;
}
@else {
$mq-value: null;
// RFS breakpoint formatting
@if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {
$mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
}
}
@else {
@media (max-width: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
@else if $rfs-breakpoint-unit == px {
$mq-value: #{$rfs-breakpoint}px;
}
@else {
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
@if $rfs-class == "disable" {
// Adding an extra class increases specificity,
// which prevents the media query to override the font size
&,
.disable-responsive-font-size &,
&.disable-responsive-font-size {
font-size: $rfs-static;
}
}
@else {
font-size: $rfs-static;
}
@if $rfs-two-dimensional {
@media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
}
}
@else {
@media (max-width: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
}
}
}
}
}
}
}
// The font-size & responsive-font-size mixin uses RFS to rescale font sizes

View File

@@ -5745,8 +5745,14 @@ namespace BeWo.Data.Access
if(costBearer2SupportConceptOid.HasValue)
{
var groupOidsQuery = Session.CreateSQLQuery($"SELECT MIN(Oid) FROM servicerecord WHERE CostBearer2SupportConceptOid = {costBearer2SupportConceptOid} GROUP BY GroupOid");
var groupOids = groupOidsQuery.List<long>().ToArray();
criteria.Add(Restrictions.Eq(ServiceRecord.PropertyName_CostBearer2SupportConceptOid, costBearer2SupportConceptOid));
rowCountCirteria.Add(Restrictions.Eq(ServiceRecord.PropertyName_CostBearer2SupportConceptOid, costBearer2SupportConceptOid));
criteria.Add(Restrictions.Or(Restrictions.IsNull(nameof(ServiceRecord.GroupOid)), Restrictions.In(nameof(ServiceRecord.Oid), groupOids)));
rowCountCirteria.Add(Restrictions.Or(Restrictions.IsNull(nameof(ServiceRecord.GroupOid)), Restrictions.In(nameof(ServiceRecord.Oid), groupOids)));
}
else
{
@@ -5774,7 +5780,6 @@ namespace BeWo.Data.Access
public IEnumerable<ServiceRecord> FindEmployeeServiceRecordsWithoutCustomerPaginated(long pEmployeeOid, long? days, int firstResult, int maxResults, out int rowCount)
{
var criteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.Eq(ServiceRecord.PropertyName_EmployeeOid, pEmployeeOid))
.Add(Restrictions.IsNull(ServiceRecord.PropertyName_CostBearer2SupportConceptOid));
@@ -5791,7 +5796,7 @@ namespace BeWo.Data.Access
}
criteria.AddOrder(Order.Desc(nameof(ServiceRecord.Start))).AddOrder(Order.Desc(nameof(ServiceRecord.End))).AddOrder(Order.Desc(nameof(BeWoEntityBase.InsTs)));
rowCount = rowCountCirteria.SetProjection(Projections.RowCount()).FutureValue<int>().Value;
return criteria.SetFirstResult(firstResult).SetMaxResults(maxResults).Future<ServiceRecord>();
@@ -5799,6 +5804,9 @@ namespace BeWo.Data.Access
public IEnumerable<ServiceRecord> FindServiceRecordsDetailsForLastDaysWithStartEndDatePaginated(long costbearer2SupportConcept, DateTime start, DateTime ende, int firstResult, int maxResults, out int rowCount)
{
var groupOidsQuery = Session.CreateSQLQuery($"SELECT MIN(Oid) FROM servicerecord WHERE CostBearer2SupportConceptOid = {costbearer2SupportConcept} GROUP BY GroupOid");
var groupOids = groupOidsQuery.List<long>().ToArray();
var criteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.Eq(ServiceRecord.PropertyName_CostBearer2SupportConceptOid, costbearer2SupportConcept));
@@ -5813,6 +5821,10 @@ namespace BeWo.Data.Access
rowCountCirteria.Add(Restrictions.Ge(ServiceRecord.PropertyName_Start, start.Date))
.Add(Restrictions.Lt(ServiceRecord.PropertyName_Start, max.Date));
criteria.Add(Restrictions.Or(Restrictions.IsNull(nameof(ServiceRecord.GroupOid)), Restrictions.In(nameof(ServiceRecord.Oid), groupOids)));
rowCountCirteria.Add(Restrictions.Or(Restrictions.IsNull(nameof(ServiceRecord.GroupOid)), Restrictions.In(nameof(ServiceRecord.Oid), groupOids)));
criteria.AddOrder(Order.Desc(nameof(ServiceRecord.Start))).AddOrder(Order.Desc(nameof(ServiceRecord.End))).AddOrder(Order.Desc(nameof(BeWoEntityBase.InsTs)));
rowCount = rowCountCirteria.SetProjection(Projections.RowCount()).FutureValue<int>().Value;
@@ -5871,15 +5883,5 @@ namespace BeWo.Data.Access
return criteria.List<Bargeldtransaktionshistory>().ToList();
}
public Bargeldtransaktionshistory FindMostRecentBargeldtransaktionshistoryEntryByBargeldtransaktionOid(long transactionOid)
{
var criteria = CreateCriteria<Bargeldtransaktionshistory>()
.Add(Restrictions.Eq(nameof(Bargeldtransaktionshistory.BargeldtransaktionOid), transactionOid))
.AddOrder(Order.Desc(nameof(Bargeldtransaktionshistory.InsTs)))
.SetMaxResults(1);
return criteria.List<Bargeldtransaktionshistory>().FirstOrDefault();
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -27,14 +27,19 @@ namespace BeWoNordeifel
foreach (var sd in pRO.Services)
{
if (sd.IsBillable)
if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
{
ServicesOverviewRO.CreateSignatureString(sd);
sd.Notice5 = "E";
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
sd.Notice5 = "GR";
hatGruppen = true;
}
if (sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
{
sd.Notice5 = "F";
}
servicesBillable.Add(sd);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,8 @@
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;
using BS.Shared.Extensions;
namespace BeWoNordeifel.Neu
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
@@ -17,27 +14,34 @@ namespace BeWoNordeifel.Neu
public void SetReportDataSource(Settlement2RO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
decimal rateFactor = 1;
if (pRO.InvoiceItems != null)
foreach (var ii in pRO.InvoiceItems)
{
foreach (var ii in pRO.InvoiceItems)
if (ii.RateFactor.HasValue)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS {3}x {4:c}",
ii.PeriodStartDate, ii.PeriodEndDate,
ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ",
ii.AmountPerUnit);
rateFactor = (100 + ii.RateFactor.Value) / 100;
}
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
{
Zwischensumme.Visible = true;
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
ii.ItemDescription = "Fehlkontakte";
}
else if (ii.ItemDescription.IsNullOrEmpty())
{
ii.ItemDescription = "Fachleistungsstunden";
}
}
this.bindingSource1.DataSource = pRO;
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -526,7 +526,7 @@ namespace KommMit
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(89.99999F, 160.75F);
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(62.91666F, 160.75F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(179.9999F, 42.99997F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
@@ -535,7 +535,7 @@ namespace KommMit
//
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")});
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(467.3332F, 160.75F);
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(433.9999F, 160.7501F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(181.6248F, 42.99997F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
@@ -705,7 +705,7 @@ namespace KommMit
this.xrLabel7.SizeF = new System.Drawing.SizeF(269.1248F, 17.99997F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "Datum, Klient/in";
this.xrLabel7.Text = "Klient/in";
//
// xrLabel6
//
@@ -716,7 +716,7 @@ namespace KommMit
this.xrLabel6.SizeF = new System.Drawing.SizeF(269.9999F, 17.99997F);
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "Datum, Mitarbeiter/in";
this.xrLabel6.Text = "Mitarbeiter/in";
//
// fieldAbrechenbareMinuten
//

View File

@@ -507,7 +507,7 @@ namespace KontaktUndKrisenhilfe.Invoicing
ii.GrossAmountTotal = Math.Round(ii.AmountTotal.Value, 2, MidpointRounding.AwayFromZero);
}
else
ii.UnitCount = unitCountVoll; // UnitCount wird auf Abrechnung benötigt, aber Endbetrag dieser Items 0 EUR (durch max. Std. bei Bewilligung gekappt)
ii.UnitCount = unitCountVoll * rf; // UnitCount wird auf Abrechnung benötigt, aber Endbetrag dieser Items 0 EUR (durch max. Std. bei Bewilligung gekappt)
}
if (ii.MaxApprovedUnitCount < ii.UnitCount)

View File

@@ -38,7 +38,7 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu
{
for (int i = pRO.InvoiceItems.Count - 1; i >= 0; i--)
{
pRO.InvoiceItems[i].DetailDescription = pRO.InvoiceItems[i].GrossAmountTotal != null && pRO.InvoiceItems[i].GrossAmountTotal.Value > 0 ? string.Format("{0:c}", pRO.InvoiceItems[i].GrossAmountTotal.Value) : "gekappt";
pRO.InvoiceItems[i].DetailDescription = pRO.InvoiceItems[i].GrossAmountTotal != null && pRO.InvoiceItems[i].GrossAmountTotal.Value > 0 ? string.Format("{0:c}", pRO.InvoiceItems[i].GrossAmountTotal.Value) : "über Bewilligung";
}
foreach (var ii in pRO.InvoiceItems)

View File

@@ -51,6 +51,13 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ServiceRecordListReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceRecordListReport.Designer.cs">
<DependentUpon>ServiceRecordListReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomGroupDurationCalculator.cs" />
<Compile Include="InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -102,6 +109,10 @@
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServiceRecordListReport.resx">
<DependentUpon>ServiceRecordListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,22 @@
using BeWo.Service.Plugins;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MuenchenerAidsHilfeEV.Service
{
public class CustomGroupDurationCalculator : GroupDurationCalculator
{
public override GroupDurationDC CalculateGroupDuration(int personCount, int employeeCount, decimal totalDuration)
{
return new GroupDurationDC()
{
SingleDuration = ((totalDuration * employeeCount) / personCount),
TotalDuration = totalDuration
};
}
}
}

View File

@@ -0,0 +1,520 @@
using BeWo.Report.ReportObjects;
namespace MuenchenerAidsHilfeEV
{
partial class Leistungen
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.formattingRuleGoalsInvisible = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
this.DataField = new DevExpress.XtraReports.UI.XRControlStyle();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.fieldGoalCaption = new DevExpress.XtraReports.UI.CalculatedField();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).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;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceRecordDetailList.Goals", "{0:0.##}")});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 3.8670635612643496D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceRecordDetailList.Start", "{0:dd/MM/yyyy}")});
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "xrTableCell1";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.81632653061224481D;
//
// xrTableRow1
//
this.xrTableRow1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell4,
this.xrTableCell13,
this.xrTableCell3});
this.xrTableRow1.FormattingRules.Add(this.formattingRuleGoalsInvisible);
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.StylePriority.UseBorders = false;
this.xrTableRow1.Weight = 1D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceRecordDetailList.TimeRange")});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 1.0204081632653059D;
//
// xrTableCell4
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceRecordDetailList.RoundedDuration")});
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.81972789115646294D;
//
// xrTableCell13
//
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceRecordDetailList.fieldGoalCaption")});
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 0.39484120064041206D;
//
// formattingRuleGoalsInvisible
//
this.formattingRuleGoalsInvisible.Condition = "Len([Goals]) == 0";
this.formattingRuleGoalsInvisible.DataMember = "ServiceRecordDetailList";
this.formattingRuleGoalsInvisible.Formatting.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.formattingRuleGoalsInvisible.Name = "formattingRuleGoalsInvisible";
//
// xrTable1
//
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(1017F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UsePadding = false;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1});
this.DetailReport.DataMember = "ServiceRecordDetailList";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 1;
this.DetailReport.Name = "DetailReport";
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.GroupHeader1.HeightF = 25F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(1017F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell8});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Text = "Datum";
this.xrTableCell5.Weight = 0.81632653061224481D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Text = "Uhrzeit";
this.xrTableCell6.Weight = 1.0204081632653059D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "Minuten";
this.xrTableCell7.Weight = 0.81972789115646261D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Text = "Dokumentation";
this.xrTableCell8.Weight = 4.2619047619047619D;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.ReportHeader.HeightF = 73.00002F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(1017F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "[CustomerFirstName] [CustomerLastName]";
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(1017F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "Dokumentation";
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.pageFooterBand1.HeightF = 29.00001F;
this.pageFooterBand1.Name = "pageFooterBand1";
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo2.Format = "Seite {0} von {1}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(390.4999F, 6.00001F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(626.4999F, 23F);
this.xrPageInfo2.StyleName = "PageInfo";
this.xrPageInfo2.StylePriority.UseFont = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 6.00001F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(270F, 23F);
this.xrPageInfo1.StyleName = "PageInfo";
this.xrPageInfo1.StylePriority.UseFont = false;
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.Title.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
//
// FieldCaption
//
this.FieldCaption.BackColor = System.Drawing.Color.White;
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.FieldCaption.BorderWidth = 1F;
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
this.FieldCaption.Name = "FieldCaption";
//
// PageInfo
//
this.PageInfo.BackColor = System.Drawing.Color.White;
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.PageInfo.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
//
// DataField
//
this.DataField.BackColor = System.Drawing.Color.White;
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.DataField.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// fieldGoalCaption
//
this.fieldGoalCaption.DataMember = "ServiceRecordDetailList";
this.fieldGoalCaption.Expression = "IIf(Len([Goals]) > 0, \'Ziele:\', \'\')";
this.fieldGoalCaption.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldGoalCaption.Name = "fieldGoalCaption";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2});
this.DetailReport1.DataMember = "Statistics";
this.DetailReport1.DataSource = this.bindingSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel6,
this.xrLabel5,
this.xrLabel4,
this.xrLabel3});
this.Detail2.Font = new System.Drawing.Font("Arial", 9.75F);
this.Detail2.HeightF = 130.2083F;
this.Detail2.MultiColumn.ColumnCount = 5;
this.Detail2.MultiColumn.Layout = DevExpress.XtraPrinting.ColumnLayout.AcrossThenDown;
this.Detail2.MultiColumn.Mode = DevExpress.XtraReports.UI.MultiColumnMode.UseColumnCount;
this.Detail2.Name = "Detail2";
this.Detail2.StylePriority.UseFont = false;
//
// xrLabel6
//
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Statistics.Text4")});
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.99995F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(204.1667F, 23F);
this.xrLabel6.Text = "xrLabel6";
//
// xrLabel5
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Statistics.Text3")});
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 45.99997F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(204.1667F, 23F);
this.xrLabel5.Text = "xrLabel5";
//
// xrLabel4
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Statistics.Text2")});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 22.99999F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(204.1667F, 23F);
this.xrLabel4.Text = "xrLabel4";
//
// xrLabel3
//
this.xrLabel3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Statistics.Text1")});
this.xrLabel3.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(204.1667F, 23F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "xrLabel3";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceRecordListRO);
//
// Leistungen
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.pageFooterBand1,
this.topMarginBand1,
this.bottomMarginBand1,
this.DetailReport1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldGoalCaption});
this.DataSource = this.bindingSource1;
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleGoalsInvisible});
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 50);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
this.Title,
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRControlStyle Title;
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
private DevExpress.XtraReports.UI.XRControlStyle DataField;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleGoalsInvisible;
private DevExpress.XtraReports.UI.CalculatedField fieldGoalCaption;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
}
}

View File

@@ -0,0 +1,20 @@
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace MuenchenerAidsHilfeEV
{
public partial class Leistungen : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServiceRecordListRO>
{
public Leistungen()
{
InitializeComponent();
}
public void SetReportDataSource(ServiceRecordListRO pRO)
{
if (pRO.Statistics == null || pRO.Statistics.Count == 0)
Detail2.Visible = false;
bindingSource1.DataSource = pRO;
}
}
}

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

View File

@@ -21,62 +21,245 @@ namespace MuenchenerAidsHilfeEV.Translation
AddOrReplaceTranslation(dict, "Zeiterfassung", "Dokumentation");
//AddOrReplaceTranslation(dict, "Hilfepläne", "Bewilligungen");
//AddOrReplaceTranslation(dict, "Hilfeplan", "Bewilligung");
//AddOrReplaceTranslation(dict, "Teilnahme an Hilfeplankonferenz", "Teilnahme an BEW-Begutachtung");
//AddOrReplaceTranslation(dict, "Hilfeplankonferenzen", "BEW-Begutachtungen");
//AddOrReplaceTranslation(dict, "Hilfeplan beantragt am", "Arbeitsaufnahme am");
//AddOrReplaceTranslation(dict, "Hilfeplan eingereicht am", "BRP eingereicht am");
//AddOrReplaceTranslation(dict, "Hilfeplankonferenz", "BEW-Begutachtung am");
//AddOrReplaceTranslation(dict, "Ort des Hilfeplangesprächs", "Ort der BEW-Begutachtung");
//AddOrReplaceTranslation(dict, "Hilfeplanübersicht", "Bewilligungs-Übersicht");
//AddOrReplaceTranslation(dict, "Folgende Hilfepläne laufen demnächst aus:", "Folgende Bewilligungen laufen demnächst aus:");
//AddOrReplaceTranslation(dict, "Kostenträger", "Kostenübernahme");
AddOrReplaceTranslation(dict, "Personen", "Kontakte");
AddOrReplaceTranslation(dict, "Person", "Kontakt");
AddOrReplaceTranslation(dict, "Klient", "Klient_in");
AddOrReplaceTranslation(dict, "Aktenzeichen Klient", "Aktenzeichen Klient_in");
AddOrReplaceTranslation(dict, "Klienten", "Klient_innen");
AddOrReplaceTranslation(dict, "Mitarbeiter", "MA");
AddOrReplaceTranslation(dict, "Abschlüsse der Mitarbeiter", "Abschlüsse der Mitarbeiter_innen");
AddOrReplaceTranslation(dict, "MitarbeiterSingular", "Mitarbeiter_in");
AddOrReplaceTranslation(dict, "MitarbeiterPlural", "Mitarbeiter_innen");
//AddOrReplaceTranslation(dict, "HilfepläneMenuItem", "Bewilligungen");
AddOrReplaceTranslation(dict, "ZeiterfassungMenuItem", "Dokumentation");
AddOrReplaceTranslation(dict, "KlientenMenuItem", "Klient__innen");
AddOrReplaceTranslation(dict, "MitarbeiterMenuItem", "Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "PersonenMenuItem", "Kontakte");
// KLIENT
AddOrReplaceTranslation(dict, "Klient", "Klient__in");
AddOrReplaceTranslation(dict, "Klient:", "Klient__in:");
AddOrReplaceTranslation(dict, "Klienten", "Klient__innen");
AddOrReplaceTranslation(dict, "Klienten:", "Klient__innen:");
AddOrReplaceTranslation(dict, "KlientenMenuItem", "Klient__innen");
AddOrReplaceTranslation(dict, "Klient/in", "Klient__in");
AddOrReplaceTranslation(dict, "Klient/in:", "Klient__in:");
AddOrReplaceTranslation(dict, "Klient/in ist abwesend", "Klient__in ist abwesend");
AddOrReplaceTranslation(dict, "Klient/in hinzufügen", "Klient__in hinzufügen");
AddOrReplaceTranslation(dict, "Klient zuordnen", "Klient__in zuordnen");
AddOrReplaceTranslation(dict, "Zugeordnete Klienten", "Zugeordnete Klient__innen");
AddOrReplaceTranslation(dict, "Klienten hinzufügen", "Klient__in hinzufügen");
AddOrReplaceTranslation(dict, "Klient Ausschluss Kriterien", "Klient__in Ausschluss Kriterien");
AddOrReplaceTranslation(dict, "Klient Wunsch Kriterien", "Klient__in Wunsch Kriterien");
AddOrReplaceTranslation(dict, "Klient Ausschlusskriterien", "Klient__in Ausschlusskriterien");
AddOrReplaceTranslation(dict, "Klient Wunschkriterien", "Klient__in Wunschkriterien");
AddOrReplaceTranslation(dict, "Der Klient ist in dieser Woche abwesened", "Der/Die Klient__in ist in dieser Woche abwesened");
AddOrReplaceTranslation(dict, "Klient(in)", "Klient__in");
AddOrReplaceTranslation(dict, "Aktenzeichen Klient", "Aktenzeichen Klient__in");
AddOrReplaceTranslation(dict, "Aktenzeichen des Klienten", "Aktenzeichen Klient__in");
AddOrReplaceTranslation(dict, "Nach Klient gruppieren", "Nach Klient__in gruppieren");
AddOrReplaceTranslation(dict, "Nach Klient", "Nach Klient__in");
AddOrReplaceTranslation(dict, "Abwesenheiten Klienten", "Abwesenheiten Klient__innen");
AddOrReplaceTranslation(dict, "Neue Abwesenheit für Klient/in", "Neue Abwesenheit für Klient__in");
AddOrReplaceTranslation(dict, "Nur meine Klienten", "Nur meine Klient__innen");
AddOrReplaceTranslation(dict, "Nur Klienten", "Nur Klient__innen");
AddOrReplaceTranslation(dict, "Ausgewählte Klienten anzeigen", "Ausgewählte Klient__innen anzeigen");
AddOrReplaceTranslation(dict, "Klienten PLZ", "Klient__in PLZ");
AddOrReplaceTranslation(dict, "Abwesenheiten Klienten", "Abwesenheiten Klient__innen");
AddOrReplaceTranslation(dict, "Neuen Klienten hinzufügen", "Klient__in hinzufügen");
AddOrReplaceTranslation(dict, "Klienten aus der Gruppe entfernen", "Klient__in aus der Gruppe entfernen");
AddOrReplaceTranslation(dict, "Den Klienten aus der Gruppe entfernen", "Klient__in aus der Gruppe entfernen");
AddOrReplaceTranslation(dict, "Gesamtbuchung aller Klienten", "Gesamtbuchung aller Klient__innen");
AddOrReplaceTranslation(dict, "Verfügbare Klienten", "Verfügbare Klient__innen");
AddOrReplaceTranslation(dict, "Zugeordnete Klient:innen", "Zugeordnete Klient__innen");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Personen", "Diesem/Dieser Klient__in zugeordnete Kontakte");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Betreuer", "Diesem/Dieser Klient__in zugeordnete Betreuer__innen");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Angehörige", "Diesem/Dieser Klient__in zugeordnete Angehörige");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Teams", "Diesem/Dieser Klient__in zugeordnete Teams");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Behinderungen", "Diesem/Dieser Klient__in zugeordnete Behinderungen");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Organisationen", "Diesem/Dieser Klient__in zugeordnete Organisationen");
AddOrReplaceTranslation(dict, "Sammelrechnung für alle Klienten erstellen", "Sammelrechnung für alle Klient__innen erstellen");
AddOrReplaceTranslation(dict, "Klienten ohne Daten anzeigen", "Klient__innen ohne Daten anzeigen");
AddOrReplaceTranslation(dict, "Klienten zuordnen", "Klient__innen zuordnen");
AddOrReplaceTranslation(dict, "Zeiterfassung für ausgewählten Klienten", "Zeiterfassung für ausgewählte__n Klient__in");
AddOrReplaceTranslation(dict, "Für alle Klienten", "Für alle Klient_innen");
AddOrReplaceTranslation(dict, "Nach Klienten sortieren", "Nach Klient__innen sortieren");
AddOrReplaceTranslation(dict, "Nach Klienten", "Nach Klient_innen");
AddOrReplaceTranslation(dict, "Alle Klienten", "Alle Klient__innen");
AddOrReplaceTranslation(dict, "Alle Klienten anzeigen", "Alle Klient_innen anzeigen");
AddOrReplaceTranslation(dict, "Nur Klienten meiner Teams anzeigen", "Nur Klient_innen meiner Teams anzeigen");
AddOrReplaceTranslation(dict, "Nur meine Klienten anzeigen", "Nur meine Klient_innen anzeigen");
AddOrReplaceTranslation(dict, "Diesem Mitarbeiter zugeordnete Klienten", "Zugeordnete Klient__innen");
AddOrReplaceTranslation(dict, "ownChat Kurzanleitung für Klient herunterladen.", "ownChat Kurzanleitung für Klient__in herunterladen.");
AddOrReplaceTranslation(dict, "KlientInnen.", "Klient__innen");
AddOrReplaceTranslation(dict, "einen Klienten", "eine__n Klient__in");
AddOrReplaceTranslation(dict, "Klient/in öffnen", "Klient__in öffnen");
AddOrReplaceTranslation(dict, "eine/n Klient/in", "eine__n Klient__in");
AddOrReplaceTranslation(dict, "den", "den/die");
AddOrReplaceTranslation(dict, "Archivierte Klienten anzeigen", "Archivierte Klient:innen anzeigen");
AddOrReplaceTranslation(dict, " Ohne Klient/in", " Ohne Klient__in");
AddOrReplaceTranslation(dict, "Ohne Klient/in", "Ohne Klient__in");
AddOrReplaceTranslation(dict, "Bitte wählen Sie einen Klienten aus.", "Bitte wählen Sie eine__n Klient__in aus.");
AddOrReplaceTranslation(dict, "Für Klienten meiner Teams", "Für Klient_innen meiner Teams");
AddOrReplaceTranslation(dict, "Für meine Klienten", "Für meine Klient_innen");
AddOrReplaceTranslation(dict, "Klient/in auswählen", "Klient_in auswählen");
AddOrReplaceTranslation(dict, "Für diesen Klienten wurden bereits Leistungen hinterlegt. Sie müssen diese Leistungen erst löschen bevor Sie den Klient wechseln können.", "Für diese__n Klient__in wurden bereits Leistungen hinterlegt. Sie müssen diese Leistungen erst löschen bevor Sie den Klient wechseln können.");
AddOrReplaceTranslation(dict, "Möchten Sie diese Leistung wirklich auf Klient {0} umbuchen?", "Möchten Sie diese Leistung wirklich auf Klient__in {0} umbuchen?");
AddOrReplaceTranslation(dict, "Bitte wählen Sie mindestens einen Klienten aus, für den Sie eine Gruppenbuchung anlegen möchten.", "Bitte wählen Sie mindestens eine__n Klient__in aus, für den Sie eine Gruppenbuchung anlegen möchten.");
AddOrReplaceTranslation(dict, "Zeiterfassung für ausgewählten Klienten", "Zeiterfassung für ausgewählte__n Klient__in");
AddOrReplaceTranslation(dict, "für ausgewählten Klienten", "für ausgewählte__n Klient__in");
AddOrReplaceTranslation(dict, "Bei der ausgewählten Klient:in wurden keine Betreuungszeiten hinterlegt.", "Bei der/dem ausgewählte__n Klient__in wurden keine Betreuungszeiten hinterlegt.");
AddOrReplaceTranslation(dict, "Möchten Sie diesen Eintrag wirklich auf Klient {0} umbuchen?", "Möchten Sie diesen Eintrag wirklich auf Klient__in {0} umbuchen?");
AddOrReplaceTranslation(dict, "Für Klient '{0}' wurde bereits ein Hilfeplan angelegt. Der Hilfeplan wird dadurch auch gelöscht!\n Möchten Sie wirklich fortfahren und den Klient löschen?", "Für Klient__in '{0}' wurde bereits ein Hilfeplan angelegt. Der Hilfeplan wird dadurch auch gelöscht!\n Möchten Sie wirklich fortfahren und den/die Klient__in löschen?");
AddOrReplaceTranslation(dict, "Wollen Sie den Klient '{0}' wirklich archivieren?", "Wollen Sie den/die Klient__in '{0}' wirklich archivieren?");
AddOrReplaceTranslation(dict, "Wollen Sie den Klient '{0}' wirklich aus dem Archiv holen?", "Wollen Sie den/die Klient__in '{0}' wirklich aus dem Archiv holen?");
AddOrReplaceTranslation(dict, "Wollen Sie den Klient '{0}' wirklich löschen?", "Wollen Sie den/die Klient__in '{0}' wirklich löschen?");
AddOrReplaceTranslation(dict, "Wollen Sie den Klient '{0}' wirklich reaktivieren?", "Wollen Sie den/die Klient__in '{0}' wirklich reaktivieren?");
AddOrReplaceTranslation(dict, "eines Klienten", "eines/einer Klient__in");
AddOrReplaceTranslation(dict, "Klient hinzufügen", "Klient__in hinzufügen");
AddOrReplaceTranslation(dict, "Klienten Notiz Kategorie", "Klienten__in Notiz Kategorie");
//MITARBEITER
AddOrReplaceTranslation(dict, "MitarbeiterSingular", "Mitarbeiter__in");
AddOrReplaceTranslation(dict, "MitarbeiterPlural", "Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "MitarbeiterMenuItem", "Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "vom Support-Mitarbeiter", "von dem/der Support-Mitarbeiter__in");
AddOrReplaceTranslation(dict, "ein Support-Mitarbeiter", "ein__e Support-Mitarbeiter__in");
AddOrReplaceTranslation(dict, "einem unserer Support-Mitarbeiter", "einem/einer unserer Support-Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "ownChat Kurzanleitung für Mitarbeiter herunterladen.", "ownChat Kurzanleitung für Mitarbeiter__in herunterladen.");
AddOrReplaceTranslation(dict, "Mitarbeiterverfügbarkeit", "Mitarbeiter__innenverfügbarkeit");
AddOrReplaceTranslation(dict, "Mitarbeiterfarben", "Mitarbeiter__innenfarben");
AddOrReplaceTranslation(dict, "Nur Mitarbeiter", "Nur Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "MitarbeiterSingular:", "Mitarbeiter__in:");
AddOrReplaceTranslation(dict, "MitarbeiterPlural:", "Mitarbeiter__innen:");
AddOrReplaceTranslation(dict, "Verfügbare Mitarbeiter anzeigen", "Verfügbare Mitarbeiter__innen anzeigen");
AddOrReplaceTranslation(dict, "Ausgewählte Mitarbeiter anzeigen", "Ausgewählte Mitarbeiter__innen anzeigen");
AddOrReplaceTranslation(dict, "Mitarbeiter Ausschluss Kriterien", "Mitarbeiter__in Ausschluss Kriterien");
AddOrReplaceTranslation(dict, "Mitarbeiter Wunsch Kriterien", "Mitarbeiter__in Wunsch Kriterien");
AddOrReplaceTranslation(dict, "Neue Abwesenheit für Mitarbeiter/in", "Neue Abwesenheit für Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Abwesenheiten Mitarbeiter", "Abwesenheiten Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Mitarbeiter/in", "Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Mitarbeiter/in:", "Mitarbeiter__in:");
AddOrReplaceTranslation(dict, "Mitarbeiter/in hinzufügen", "Mitarbeiter__in hinzufügen");
AddOrReplaceTranslation(dict, "Mitarbeiter/in öffnen", "Mitarbeiter__in öffnen");
AddOrReplaceTranslation(dict, "Es wurde der Vertretung kein Mitarbeiter zugeteilt", "Es wurde der Vertretung kein__e Mitarbeiter__in zugeteilt");
AddOrReplaceTranslation(dict, "Bitte wählen sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus.", "Bitte wählen sie eine__n Mitarbeiter__in und eine Abwesenheitskategorie aus.");
AddOrReplaceTranslation(dict, "Mitarbeiter/in abwesend", "Mitarbeiter__in abwesend");
AddOrReplaceTranslation(dict, "Mitarbeiter/in vertretend", "Mitarbeiter/in vertretend");
AddOrReplaceTranslation(dict, "Bitte wählen Sie eine/n Mitarbeiter/in und eine Abwesenheitskategorie aus.", "Bitte wählen Sie eine__n Mitarbeiter__in und eine Abwesenheitskategorie aus.");
AddOrReplaceTranslation(dict, "Neuen Mitarbeiter hinzufügen", "Neue:n Mitarbeiter__in hinzufügen");
AddOrReplaceTranslation(dict, "Mitarbeiter aus der Liste entfernen", "Mitarbeiter__in aus der Liste entfernen");
AddOrReplaceTranslation(dict, "Ausgewählte Mitarbeiter", "Ausgewählte Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Bitte wählen Sie mindestens einen Mitarbeiter aus, für den dieses Angebot gebucht werden soll.", "Bitte wählen Sie mindestens eine__n Mitarbeiter__in aus, für den dieses Angebot gebucht werden soll.");
AddOrReplaceTranslation(dict, "Sie besitzen nicht die erforderlichen Rechte um eine Buchung eines anderen Mitarbeiters zu ändern!", "Sie besitzen nicht die erforderlichen Rechte um eine Buchung anderer Mitarbeiter__innen zu ändern!");
AddOrReplaceTranslation(dict, "Der/die Mitarbeiter/in wurde bereits mit dieser Rolle zugewiesen.", "Der/die Mitarbeiter__in wurde bereits mit dieser Rolle zugewiesen.");
AddOrReplaceTranslation(dict, "Diesem Mitarbeiter zugeordnete Klienten", "Diesem/Dieser Mitarbeiter__in zugeordnete Klient__innen");
AddOrReplaceTranslation(dict, "diese/n Mitarbeiter/in", "diese:n Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Mitarbeiterlizenzen", "Mitarbeitendenlizenzen");
AddOrReplaceTranslation(dict, "Neuen Mitarbeiter einfügen", "Neue:n Mitarbeiter__in einfügen");
AddOrReplaceTranslation(dict, "Mitarbeiter hinzufügen", "Mitarbeiter__in hinzufügen");
AddOrReplaceTranslation(dict, "Bitte wählen Sie einen Mitarbeiter aus.", "Bitte wählen Sie eine__n Mitarbeiter__in aus.");
AddOrReplaceTranslation(dict, "Der Mitarbeiter", "Der/Die Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Mitarbeiter ohne Daten anzeigen", "Mitarbeiter__innen ohne Daten anzeigen");
AddOrReplaceTranslation(dict, " Ohne Mitarbeiter/in", " Ohne Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Ohne Mitarbeiter/in", "Ohne Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Nur für ausgewählten Mitarbeiter erstellen", "Nur für ausgewählte__n Mitarbeiter__in erstellen");
AddOrReplaceTranslation(dict, "Bitte wählen Sie eine/n Mitarbeiter/in aus.", "Bitte wählen Sie eine__n Mitarbeiter__in aus.");
AddOrReplaceTranslation(dict, "Alle Mitarbeiter", "Alle Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Nach Mitarbeiter auswerten", "Nach Mitarbeiter__in auswerten");
AddOrReplaceTranslation(dict, "für Mitarbeiter", "für Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Mitarbeiter dem Team hinzufügen", "Mitarbeiter__in dem Team hinzufügen");
AddOrReplaceTranslation(dict, "verfügbare Mitarbeiter", "verfügbare Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "zugeordnete Mitarbeiter", "zugeordnete Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Für alle Mitarbeiter", "Für alle Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Name des Mitarbeiters", "Name des/der Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Es muss mindestens ein Mitarbeiter ausgewählt werden!", "Es muss mindestens ein__e Mitarbeiter__in ausgewählt werden!");
AddOrReplaceTranslation(dict, "Bitte geben Sie einen Mitarbeiter an.", "Bitte geben Sie eine__n Mitarbeiter__in an.");
AddOrReplaceTranslation(dict, "Zugeordnete Mitarbeiter", "Zugeordnete Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Mitarbeiter zuordnen", "Mitarbeiter__in zuordnen");
AddOrReplaceTranslation(dict, "Bitte wählen Sie mindestens einen Mitarbeiter aus.", "Bitte wählen Sie mindestens eine__n Mitarbeiter__in aus.");
AddOrReplaceTranslation(dict, "Bitte wählen Sie mindestens einen Mitarbeiter aus, für den Sie eine Mehrfachbuchung anlegen möchten.", "Bitte wählen Sie mindestens eine__n Mitarbeiter__in aus, für den Sie eine Mehrfachbuchung anlegen möchten.");
AddOrReplaceTranslation(dict, "Bitte wählen Sie mindestens einen Mitarbeiter aus, für den Sie eine Gruppenbuchung anlegen möchten.", "Bitte wählen Sie mindestens eine__n Mitarbeiter__in aus, für den Sie eine Gruppenbuchung anlegen möchten.");
AddOrReplaceTranslation(dict, "Für Mitarbeiter ", "Für Mitarbeiter__in ");
AddOrReplaceTranslation(dict, "Abschlüsse der Mitarbeiter", "Abschlüsse der Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Mitarbeiterauslastung", "Mitarbeiter__innenauslastung");
AddOrReplaceTranslation(dict, "Mitarbeiterauswertung", "Mitarbeiter__innenauswertung");
AddOrReplaceTranslation(dict, "Mitarbeiterstundenkonto", "Mitarbeiter__innenstundenkonto");
AddOrReplaceTranslation(dict, "einen neuen Mitarbeiter", "eine__n neue:n Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Wollen Sie den Mitarbeiter '{0}' wirklich archivieren?", "Wollen Sie den/die Mitarbeiter__in '{0}' wirklich archivieren?");
AddOrReplaceTranslation(dict, "Wollen Sie den Mitarbeiter '{0}' wirklich löschen?", "Wollen Sie den/die Mitarbeiter__in '{0}' wirklich löschen?");
AddOrReplaceTranslation(dict, "den Mitarbeiter", "den/die Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Archivierte Mitarbeiter", "Archivierte Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Nach Mitarbeiter gruppieren", "Nach Mitarbeiter__innen gruppieren");
AddOrReplaceTranslation(dict, "Nach Mitarbeiter", "Nach Mitarbeiter__in");
AddOrReplaceTranslation(dict, "Archivierte Mitarbeiter anzeigen", "Archivierte Mitarbeiter__innen anzeigen");
AddOrReplaceTranslation(dict, "Sofern Sie davon ausgehen, dass zur Lösung Ihrer Support-Anfrage ein Zugriff auf Ihre Datenbank benötigt wird, markieren Sie bitte diese Option. In diesem Fall wird zusätzlich zu Ihrer Anfrage eine sogenannte Support-PIN übermitteln. Eine solche PIN benötigt der Support um auf Ihre Datenbank zugreifen zu können. Sie ist nur einmalig nutzbar/gültig. Dies stellt sicher, dass ein Support-Mitarbeiter nicht ohne Ihre Einwilligung auf Ihre Datenbank zugreifen kann. Jeder Support-Zugriff auf Ihre Datenbank wird zudem mit Hilfe der PIN protokolliert.", "Sofern Sie davon ausgehen, dass zur Lösung Ihrer Support-Anfrage ein Zugriff auf Ihre Datenbank benötigt wird, markieren Sie bitte diese Option. In diesem Fall wird zusätzlich zu Ihrer Anfrage eine sogenannte Support-PIN übermitteln. Eine solche PIN benötigt der Support um auf Ihre Datenbank zugreifen zu können. Sie ist nur einmalig nutzbar/gültig. Dies stellt sicher, dass ein__e Support-Mitarbeiter__in nicht ohne Ihre Einwilligung auf Ihre Datenbank zugreifen kann. Jeder Support-Zugriff auf Ihre Datenbank wird zudem mit Hilfe der PIN protokolliert.");
AddOrReplaceTranslation(dict, "Mitarbeiter/in vertretend", "Mitarbeiter__in vertretend");
AddOrReplaceTranslation(dict, "Mitarbeiterabschlüsse", "Abschlüsse von Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Rollen der Mitarbeiter", "Rollen der Mitarbeiter__innen");
AddOrReplaceTranslation(dict, "Mitarbeiter Notiz Kategorie", "Mitarbeiter__in Notiz Kategorie");
AddOrReplaceTranslation(dict, "Aufgabe allen Mitarbeitern hinzufügen", "Aufgabe allen Mitarbeiter__innen hinzufügen");
//BENUTZER
AddOrReplaceTranslation(dict, "BenutzerMenuItem", "Benutzer__innen");
AddOrReplaceTranslation(dict, "BenutzergruppenMenuItem", "Benutzer__innengruppen");
AddOrReplaceTranslation(dict, "BenutzerSingular", "Benutzer__in");
AddOrReplaceTranslation(dict, "BenutzerPlural", "Benutzer__innen");
AddOrReplaceTranslation(dict, "Benutzergruppen", "Benutzer__innengruppen");
AddOrReplaceTranslation(dict, "Benutzergruppe", "Benutzer__innengruppe");
AddOrReplaceTranslation(dict, "vom Benutzer", "von dem/der Benutzer__in");
AddOrReplaceTranslation(dict, "kein Benutzer", "kein__e Benutzer__in");
AddOrReplaceTranslation(dict, "der Benutzer", "der/die Benutzer__in");
AddOrReplaceTranslation(dict, "den Benutzer", "den/die Benutzer__in");
AddOrReplaceTranslation(dict, "Benutzername", "Anmeldename");
AddOrReplaceTranslation(dict, "Benutzername:", "Anmeldename:");
AddOrReplaceTranslation(dict, "Benutzernamen", "Anmeldenamen");
AddOrReplaceTranslation(dict, "Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.", "Bitte geben Sie Ihren Anmeldenamen und Ihr Passwort ein.");
AddOrReplaceTranslation(dict, "einem anderen Benutzer", "einem/einer anderen Benutzer__in");
AddOrReplaceTranslation(dict, "einen neuen Benutzer", "eine__n neue__n Benutzer__in");
AddOrReplaceTranslation(dict, "Ihren eigenen Benutzer", "Ihre__n eigene__n Benutzer__in");
AddOrReplaceTranslation(dict, "Sehr geehrter BeWoPlaner Benutzer", "Sehr geehrte__r BeWoPlaner Benutzer__in");
AddOrReplaceTranslation(dict, "Benutzerpasswort", "Benutzer__innenpasswort");
AddOrReplaceTranslation(dict, "Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.", "Bitte geben Sie Ihren Anmeldenamen und Ihr Passwort ein.");
AddOrReplaceTranslation(dict, "Archivierte Benutzer", "Archivierte Benutzer__innen");
AddOrReplaceTranslation(dict, "Gelöschte Benutzer", "Gelöschte Benutzer__innen");
AddOrReplaceTranslation(dict, "Benutzer", "Benutzer__innen");
AddOrReplaceTranslation(dict, "Benutzer", "Benutzer_innen");
AddOrReplaceTranslation(dict, "Benutzergruppen", "Benutzer_innengruppen");
AddOrReplaceTranslation(dict, "Benutzergruppe", "Benutzer_innengruppe");
//ERSTELLER
AddOrReplaceTranslation(dict, "Ersteller Nachname", "Ersteller__in Nachname");
AddOrReplaceTranslation(dict, "Ersteller Vorname", "Ersteller__in Vorname");
AddOrReplaceTranslation(dict, "Ersteller", "Ersteller__in");
//AddOrReplaceTranslation(dict, "FLS", "h");
//ANSPRECHPARTNER
AddOrReplaceTranslation(dict, "Ansprechpartner", "Ansprechpartner__in");
AddOrReplaceTranslation(dict, "Absender Ansprechpartner", "Absender Ansprechpartner__in");
AddOrReplaceTranslation(dict, "Dieser Organisation zugeordnete Ansprechpartner", "Dieser Organisation zugeordnete Ansprechpartner__innen");
AddOrReplaceTranslation(dict, "den gewählten Ansprechpartner", "den/die gewählte__n Ansprechpartner__in");
//AddOrReplaceTranslation(dict, "Hilfeplankonferenzen innerhalb der nächsten zwei Wochen:", "BEW-Begutachtungen");
//BETREUER
AddOrReplaceTranslation(dict, "BetreuerSingular", "Betreuer__in");
AddOrReplaceTranslation(dict, "BetreuerPlural", "Betreuer__innen");
AddOrReplaceTranslation(dict, "Betreuer(in)", "Betreuer__in");
AddOrReplaceTranslation(dict, "Betreuer zuordnen", "Betreuer__in zuordnen");
AddOrReplaceTranslation(dict, "Diesem Klienten zugeordnete Betreuer", "Diesem/Dieser Klient__in zugeordnete Betreuer__innen");
AddOrReplaceTranslation(dict, "Neuen Betreuer hinzufügen", "Neue__n Betreuer__in hinzufügen");
AddOrReplaceTranslation(dict, "Betreuer hinzufügen", "Betreuer__in hinzufügen");
AddOrReplaceTranslation(dict, "einen Betreuer", "eine__n Betreuer__in");
//AddOrReplaceTranslation(dict, "Weiteren Kostenträger hinzufügen", "Weitere Kostenübernahme hinzufügen");
//EMPFÄNGER
AddOrReplaceTranslation(dict, "EmpfängerSingular", "Empfänger__in");
AddOrReplaceTranslation(dict, "EmpfängerPlural", "Empfänger__innen");
AddOrReplaceTranslation(dict, "EmpfängerSingular:", "Empfänger__in:");
AddOrReplaceTranslation(dict, "EmpfängerPlural:", "Empfänger__innen:");
AddOrReplaceTranslation(dict, "Empfänger Adresse", "Empfänger__in Adresse");
//ABSENDER
AddOrReplaceTranslation(dict, "Absender", "Absender__in");
AddOrReplaceTranslation(dict, "Absender Ansprechpartner", "Absender__in Ansprechpartner__in");
//SONSTIGE
AddOrReplaceTranslation(dict, "Ihren Systemadministrator", "Ihre__n Systemadministrator__in");
AddOrReplaceTranslation(dict, "Vertretenden auswählen", "Vertretende__n auswählen");
AddOrReplaceTranslation(dict, "Vertreter", "Vertreter__in");
//AddOrReplaceTranslation(dict, "<Kein Hilfeplan ausgewählt>", "<Keine Bewilligung ausgewählt>");
//AddOrReplaceTranslation(dict, "Auch archivierte Hilfepläne anzeigen", "Auch archivierte Bewilligungen anzeigen");
//AddOrReplaceTranslation(dict, "Nur Hilfepläne anzeigen, die innerhalb der nächsten {0} Monate auslaufen", "Nur Bewilligungen anzeigen, die innerhalb der nächsten {0} Monate auslaufen");
//AddOrReplaceTranslation(dict, "Ausgewählte Hilfepläne", "Ausgewählte Bewilligungen");
//AddOrReplaceTranslation(dict, "Abgelaufene Hilfepläne anzeigen", "Abgelaufene Bewilligungen anzeigen");
AddOrReplaceTranslation(dict, "Alle Klienten anzeigen", "Alle Klient_innen anzeigen");
AddOrReplaceTranslation(dict, "Nur meine Klienten anzeigen", "Nur meine Klient_innen anzeigen");
AddOrReplaceTranslation(dict, "Nur Klienten meiner Teams anzeigen", "Nur Klient_innen meiner Teams anzeigen");
return dict;
}
}

View File

@@ -146,6 +146,11 @@ namespace Nous.Invoicing
ii.UnitDescription = "3 Schulbegleitung nach §35a SGB VIII";
}
}
else if(ii.ItemDescription.ToLower().Contains("aft"))
{
ii.ItemDescription = "Aufsuchende Familientherapie nach §27 Abs. 3 SGB VIII";
ii.UnitDescription = "Aufsuchende Familientherapie nach §27 Abs. 3 SGB VIII";
}
ii.Notice = iServiceRecord.Employee.LastName;

View File

@@ -131,6 +131,12 @@ namespace Nous
ii.ServiceDescription = "Assistenzkraft";
}
}
// AFT
else if (ii.ServiceDescription.Contains("Aufsuchende Familientherapie nach §27 Abs. 3 SGB VIII"))
{
this.lblTitel.Text = "Rechnung \r\nMonat [AccountingPeriodStart!MMMM yyyy] Aufsuchende Familientherapie nach §27 Abs. 3 SGB VIII für\r\n[CustomerLastName], [CustomerFirstName] geb.: [CustomerBirthdate!dd.MM.yyyy]";
ii.ServiceDescription = "Fachkraft";
}
else if (ii.ServiceDescription.Contains("Schul"))
{
this.lblTitel.Text = "Rechnung \r\nMonat [AccountingPeriodStart!MMMM yyyy] Inklusionsbegleitung nach §35a SGB VIII für\r\n[CustomerLastName], [CustomerFirstName] geb.: [CustomerBirthdate!dd.MM.yyyy]";

View File

@@ -4103,6 +4103,7 @@ namespace BeWo.Service.ServiceImplementations
{
var changedOrDeletedTransactionDC = pBargeldkasse.Bargeldtransaktionen.FirstOrDefault(transaction => transaction.BargeldtransaktionOid.HasValue && transaction.BargeldtransaktionOid.Value.Equals(originalTransaction.BargeldtransaktionOid.Value));
// Die Transaktion wurde entfernt
if(changedOrDeletedTransactionDC is null && originalTransaction.BargeldtransaktionOid.HasValue)
{
if(originalTransaction.SignatureOid.HasValue)
@@ -4128,10 +4129,14 @@ namespace BeWo.Service.ServiceImplementations
{
var newSignatureState = SignatureStateType.None;
// Wenn die Transaktion eine Unterschrift vor der Änderung hatte, wird diese als ungültig gespeichert
// Wenn die Transaktion eine Unterschrift vor der Änderung hatte, wird diese als ungültig gespeichert und die Transaktion gelöscht.
if(changedOrDeletedTransactionDC.SignatureOid.HasValue)
{
newSignatureState = SignatureStateType.Invalid;
if(originalTransaction.BargeldtransaktionOid.HasValue)
{
deletedOids.AddIfNotIn(originalTransaction.BargeldtransaktionOid.Value);
}
}
oids2ChangeTypes.AddIfNotIn(new KeyValuePair<long, KeyValuePair<StatementType, SignatureStateType>>(
@@ -4162,7 +4167,7 @@ namespace BeWo.Service.ServiceImplementations
transactionHistoryEntries.Add(CreateTransactionHistoryObject(deletedTransaction, StatementType.Delete, signatureStateType));
}
DAOFactory.GenericDAO.Delete(signatures2Delete);
MapperFactory.BargeldkassenDCBargeldkasseDC_BargeldkassenDCBargeldkasse.MergeWithEntity(pBargeldkasse, lOriginal);
@@ -4189,6 +4194,8 @@ namespace BeWo.Service.ServiceImplementations
DAOFactory.GenericDAO.Insert(transactionHistoryEntries);
DAOFactory.GenericDAO.Delete(DAOFactory.GenericDAO.LoadByIDs<Signature>(signatures2Delete.Where(s => s.Oid.HasValue).Select(s => s.Oid.Value)));
return MapperFactory.BargeldkassenDCBargeldkasseDC_BargeldkassenDCBargeldkasse.MapToNewDC(lOriginal);
}
catch (Exception e)

View File

@@ -91,5 +91,13 @@ namespace BS.Shared.DataContracts.Compact
[DataMember]
public string Function { get; set; }
[DataMember]
public string IKKrankenkasse { get; set; }
[DataMember]
public string IKKostentrager { get; set; }
[DataMember]
public string IKDatenannahmestelle { get; set; }
}
}