Ambulant Betreutes Wohnen Astrid Pulm monatliche Mitarbeiterunterschrift auf Quittierungsbeleg hinzugefügt

MoK: PasswordSecurity in _Layout.cshtml verlegt, Meine Teams und Meine Klienten im Quittierungsbelegsmodul werden jetzt richtig geladen
This commit is contained in:
2023-11-13 11:33:08 +01:00
parent b0e4b5b28d
commit 80eaef3d77
16 changed files with 2099 additions and 1419 deletions

View File

@@ -12,7 +12,6 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using DevExpress.XtraReports.UI;
namespace BeWoPlanerMobil.Controllers
{
@@ -44,7 +43,7 @@ namespace BeWoPlanerMobil.Controllers
}
[Authorize]
public ActionResult Customer()
public ActionResult Customer(long? id)
{
try
{
@@ -58,13 +57,20 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedCustomerFilter = customerFilter;
InitViewModel();
if(id.HasValue)
{
LoadCustomerToModel(id);
}
}
catch (Exception e)
{
Log.Info($"Exception: " + e.Message + "\n" + e.StackTrace);
Log.Info("Exception: " + e.Message + "\n" + e.StackTrace);
if (e.InnerException != null)
{
Log.Info($"\n\nInnerException: " + e.InnerException.Message + "\n" + e.InnerException.StackTrace);
Log.Info("\n\nInnerException: " + e.InnerException.Message + "\n" + e.InnerException.StackTrace);
}
throw;
@@ -98,30 +104,23 @@ namespace BeWoPlanerMobil.Controllers
Model.AllAbsenceReasons = AbstractModel.HasRightToViewCustomerAbsenceTimes ? CustomerService.GetAllAbsenceReasons() : new List<AbsenceReasonDC>();
}
[Authorize]
public ActionResult PreselectCustomer(long? customerOid)
private void LoadCustomerToModel(long? customerOid)
{
if (Model is null || !MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
{
return Logout();
}
if(!(customerOid > 0) || !Model.Customers.Any(c => c.CustomerOid.Equals(customerOid.Value))) return;
Model.FolderTree = OperationsService.GetFolderTree(TableID.Customer, customerOid.Value);
Model.SelectedCustomerOid = customerOid;
var customer = CustomerService.LoadCustomer(customerOid.Value);
InitViewModel();
if(customerOid > 0 && Model.Customers.Any(customer => customer.CustomerOid.Equals(customerOid.Value)))
if(!(customer is null))
{
Model.SelectedCustomerOid = customerOid;
Model.FolderTree = OperationsService.GetFolderTree(TableID.Customer, customerOid.Value);
var customer = CustomerService.LoadCustomer(customerOid.Value);
Model.ICD10Diagnosen = OperationsService.GetDiagiosisStringsForICD10Codes(customer.ICD10DiagnosisCodes);
Model.SelectedCustomer = customer;
var bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, customerOid.Value);
Model.Bargeldkassen = bargeldkassen;
}
return RedirectToActionPermanent("Customer");
Model.SelectedCustomer = customer;
var bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, customerOid.Value);
Model.Bargeldkassen = bargeldkassen;
}
[Authorize]
@@ -138,24 +137,7 @@ namespace BeWoPlanerMobil.Controllers
var selectedCustomerOidString = formCollection[FormCollectionConstants.SelectedCustomerOidKey];
if (long.TryParse(selectedCustomerOidString, out var selectedCustomerOid))
{
var isCustomerInList = Model.Customers.Any(customer => customer.CustomerOid == selectedCustomerOid);
if(isCustomerInList)
{
Model.FolderTree = OperationsService.GetFolderTree(TableID.Customer, selectedCustomerOid);
Model.SelectedCustomerOid = selectedCustomerOid == -1 ? (long?)null : selectedCustomerOid;
var customer = selectedCustomerOid != -1 ? CustomerService.LoadCustomer(selectedCustomerOid) : null;
if(!(customer is null))
{
Model.ICD10Diagnosen = OperationsService.GetDiagiosisStringsForICD10Codes(customer.ICD10DiagnosisCodes);
}
Model.SelectedCustomer = customer;
var bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, selectedCustomerOid);
Model.Bargeldkassen = bargeldkassen;
}
LoadCustomerToModel(selectedCustomerOid);
}
return RedirectToActionPermanent("Customer");
@@ -301,24 +283,24 @@ namespace BeWoPlanerMobil.Controllers
return Logout();
}
var firstname = formCollection["vorname"]?.RemoveUppercaseEsszett();
var lastname = formCollection["nachname"]?.RemoveUppercaseEsszett();
var firstname = formCollection["vorname"]?.RemoveUppercaseEsszett();
var lastname = formCollection["nachname"]?.RemoveUppercaseEsszett();
var geburtdatum = formCollection["geburtstag"]?.RemoveUppercaseEsszett();
var geschlecht = formCollection["geschlecht"]?.RemoveUppercaseEsszett();
var geschlecht = formCollection["geschlecht"]?.RemoveUppercaseEsszett();
var adresszusatz = formCollection["adresszusatz"]?.RemoveUppercaseEsszett();
var street = formCollection["strasse"]?.RemoveUppercaseEsszett();
var postalCode = formCollection["plz"]?.RemoveUppercaseEsszett();
var city = formCollection["ort"]?.RemoveUppercaseEsszett();
var street = formCollection["strasse"]?.RemoveUppercaseEsszett();
var postalCode = formCollection["plz"]?.RemoveUppercaseEsszett();
var city = formCollection["ort"]?.RemoveUppercaseEsszett();
var nameInvoiceAddress = formCollection["name-rechnungsadresse"]?.RemoveUppercaseEsszett();
var streetInvoiceAddress = formCollection["strasse-rechnungsadresse"]?.RemoveUppercaseEsszett();
var nameInvoiceAddress = formCollection["name-rechnungsadresse"]?.RemoveUppercaseEsszett();
var streetInvoiceAddress = formCollection["strasse-rechnungsadresse"]?.RemoveUppercaseEsszett();
var postalCodeInvoiceAddress = formCollection["plz-rechnungsadresse"]?.RemoveUppercaseEsszett();
var cityInvoiceAddress = formCollection["ort-rechnungsadresse"]?.RemoveUppercaseEsszett();
var cityInvoiceAddress = formCollection["ort-rechnungsadresse"]?.RemoveUppercaseEsszett();
var mobile = formCollection["handy"]?.RemoveUppercaseEsszett();
var phone = formCollection["telefon"]?.RemoveUppercaseEsszett();
var fax = formCollection["fax"]?.RemoveUppercaseEsszett();
var mobile = formCollection["handy"]?.RemoveUppercaseEsszett();
var phone = formCollection["telefon"]?.RemoveUppercaseEsszett();
var fax = formCollection["fax"]?.RemoveUppercaseEsszett();
var eMailAddress = formCollection["mail"]?.RemoveUppercaseEsszett();
var notice = formCollection["notiz"]?.RemoveUppercaseEsszett();
@@ -391,7 +373,7 @@ namespace BeWoPlanerMobil.Controllers
CustomerService.UpdateCustomer(customer);
return RedirectToActionPermanent("PreselectCustomer", new { customerOid = customer.CustomerOid });
return RedirectToActionPermanent("Customer", new { id = customer.CustomerOid });
}
[Authorize]
@@ -503,6 +485,152 @@ namespace BeWoPlanerMobil.Controllers
return RedirectToActionPermanent("Customer");
}
#endregion
#region Abwesenheiten
// ToDo: Zu CreateOrUpdateAbsenceTime umbauen!
[Authorize]
[HttpPost]
public ActionResult CreateOrUpdateAbsenceTime(FormCollection formCollection)
{
var selectedAbsenceTime = Model.SelectedAbsenceTime;
var oid = selectedAbsenceTime?.AbsenceTimeOid;
var isNew = oid is null;
var startDateString = formCollection["customer-absence-time-start-date"];
var startTimeString = formCollection["customer-absence-time-start-time"];
var endDateString = formCollection["customer-absence-time-end-date"];
var endTimeString = formCollection["customer-absence-time-end-time"];
var category = formCollection["customer-absence-time-category"];
var notice = formCollection["customer-absence-time-notice"];
var startString = $"{startDateString} {startTimeString ?? "00:00"}";
var endString = $"{endDateString} {endTimeString ?? "00:00"}";
var start = DateTime.Parse(startString);
var end = string.IsNullOrWhiteSpace(endDateString) && string.IsNullOrWhiteSpace(endTimeString) ? null : (DateTime?) DateTime.Parse(endString);
var categoryOid = long.Parse(category);
var absenceReason = Model.AllAbsenceReasons.FirstOrDefault(ar => ar.AbsenceReasonOid.HasValue && ar.AbsenceReasonOid.Value.Equals(categoryOid));
var customer = Model.SelectedCustomer;
if(isNew)
{
var absenceTime = new AbsenceTimeDC
{
CustomerOid = customer.CustomerOid,
Reason = absenceReason,
Start = start,
End = end,
Notice = notice
};
OperationsService.InsertNewCustomerAbsenceTime(customer.CustomerOid.Value, absenceTime);
}
else
{
selectedAbsenceTime.Start = start;
selectedAbsenceTime.End = end;
selectedAbsenceTime.Reason = absenceReason;
selectedAbsenceTime.Notice = notice;
OperationsService.UpdateAbsenceTime(selectedAbsenceTime);
}
LoadCustomerToModel(customer.CustomerOid);
Model.SelectedAbsenceTime = null;
Model.SelectedAbsenceReason = -1;
return RedirectToActionPermanent("Customer", new { id = customer.CustomerOid });
}
[Authorize]
[HttpPost]
public ActionResult DeleteAbsenceTime(FormCollection formCollection)
{
var customer = Model.SelectedCustomer;
var isParsingSuccessful = long.TryParse(formCollection["customer-absence-time-to-delete-oid"], out var absenceTimeOid);
if(isParsingSuccessful)
{
var absenceTime2Delete = customer.AbsenceTimes.FirstOrDefault(at => at.AbsenceTimeOid.HasValue && at.AbsenceTimeOid.Value.Equals(absenceTimeOid));
if(!(absenceTime2Delete is null))
{
customer.AbsenceTimes.Remove(absenceTime2Delete);
CustomerService.UpdateCustomer(customer);
}
}
return RedirectToActionPermanent("Customer", new { id = customer?.CustomerOid });
}
// ToDo: Fehlermeldungen einbauen!
[Authorize]
[HttpPost]
public ActionResult SelectAbsenceTime(long absenceTimeOid)
{
if(absenceTimeOid == 0)
{
return RedirectToActionPermanent("Customer", Model);
//return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator.";
}
var selectedAbsenceTime = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Value.Equals(absenceTimeOid));
if(selectedAbsenceTime is null)
{
return RedirectToActionPermanent("Customer", Model);
//return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator.";
}
Model.SelectedAbsenceTime = selectedAbsenceTime;
Model.SelectedAbsenceReason = selectedAbsenceTime.Reason.AbsenceReasonOid;
//return LeerzeichenFuerGetMethoden;
return RedirectToActionPermanent("Customer", Model);
}
[Authorize]
public string SetSelectedAbsenceTimeOid(long absenceTimeOid)
{
var selectedAbsenceTime = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Value.Equals(absenceTimeOid));
if(selectedAbsenceTime is null)
{
return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator.";
}
Model.SelectedAbsenceTime = selectedAbsenceTime;
Model.SelectedAbsenceReason = selectedAbsenceTime.Reason.AbsenceReasonOid;
return LeerzeichenFuerGetMethoden;
}
[Authorize]
public ActionResult LoadAbsenceTimeToForm()
{
return PartialView("CustomerAbsenceTimeFormPartial", Model);
}
[Authorize]
public string DeselectAbsenceTime()
{
Model.SelectedAbsenceTime = null;
Model.SelectedAbsenceReason = -1;
return LeerzeichenFuerGetMethoden;
}
#endregion
}
public enum CustomerReportType

View File

@@ -166,7 +166,7 @@ namespace BeWoPlanerMobil.Controllers
AbstractModel.ShowServiceRecordInsertedOn = !UserSettingsUtils.GetSettingValueAsBool(mandatorSettings, SettingsKeys.HideServiceRecordInsertedByAndInsertedOn);
Model.ShowSignature = UserSettingsUtils.GetSettingValueAsBool(mandatorSettings, SettingsKeys.ShowSignature);// && AbstractModel.HasRightToProvideSingleSignature;
Model.ShowSignature = UserSettingsUtils.GetSettingValueAsBool(mandatorSettings, SettingsKeys.ShowSignature) && AbstractModel.HasRightToProvideSingleSignature;
#if DEBUG
//Model.ShowSignature = true;
@@ -2629,7 +2629,8 @@ namespace BeWoPlanerMobil.Controllers
{
if(Model?.SelectedSupportConcept?.Customer?.Oid.HasValue ?? false)
{
return RedirectToActionPermanent("PreselectCustomer", "Customer", new {Model.SelectedSupportConcept.Customer.CustomerOid});
//return RedirectToActionPermanent("PreselectCustomer", "Customer", new {Model.SelectedSupportConcept.Customer.CustomerOid});
return RedirectToActionPermanent("Customer", "Customer", new { id = Model.SelectedSupportConcept.Customer.Oid });
}
if(Model?.SelectedSupportConcept is null && (CustomerModel)Session[ModelSessionConstants.CustomerModelKey] != null)

View File

@@ -14,6 +14,7 @@ using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using BeWo.Service.Plugins;
namespace BeWoPlanerMobil.Controllers
{
@@ -190,24 +191,26 @@ namespace BeWoPlanerMobil.Controllers
var teamOid = Model.SelectedTeamOid;
var customerOid = Model.SelectedCustomerOid ?? 0;
var creator = PluginLoader.FindClass<DefaultReportCreator>() ?? new DefaultReportCreator();
switch(Model.SelectedFilterItem?.FilterEnum)
{
case QBFilterEnum.AlleKlienten:
reportObjects = ServicesOverviewRO.Create(reportTimeFrame.Month, reportTimeFrame.Year, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid);
break;
case QBFilterEnum.NurKlientenMeinesTeams:
var teamRelatedCustomerOids = GetTeamCustomerOids();
var teamRelatedCustomerOids = creator.GetKlientenOidsMeinesTeams(null);
reportObjects.AddRange(teamRelatedCustomerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
case QBFilterEnum.MeineKlienten:
var myRelatedCustomerOids = DefaultReportCreator.GetMeineKlientenOids();
var myRelatedCustomerOids = creator.GetMeineKlientenOids();
reportObjects.AddRange(myRelatedCustomerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
case QBFilterEnum.KlientenAuswahl:
reportObjects = new List<ServicesOverviewRO> { ServicesOverviewRO.Create(customerOid, reportTimeFrame.Month, reportTimeFrame.Year, false, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid) };
break;
case QBFilterEnum.TeamAuswahl:
var customerOids = GetTeamCustomerOids(teamOid);
var customerOids = creator.GetKlientenOidsMeinesTeams(teamOid);
reportObjects.AddRange(customerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
default:
@@ -444,18 +447,6 @@ namespace BeWoPlanerMobil.Controllers
return $"vom {vom}.{month}. bis {bis}.{month}.{year}";
}
private IEnumerable<long> GetTeamCustomerOids(long? teamOid = null)
{
var customerOids = new List<long>();
if(MobileSessionFacade.LoggedInEmployee?.EmployeeOid != null)
{
customerOids.AddRangeIfElementsNotIn(EmployeeService.GetTeamRelatedCustomerOids(MobileSessionFacade.LoggedInEmployee.EmployeeOid.Value, teamOid));
}
return customerOids;
}
[Authorize]
public string SetCustomer(long customerOid)
{
@@ -867,24 +858,26 @@ namespace BeWoPlanerMobil.Controllers
var teamOid = Model.SelectedTeamOid;
var customerOid = Model.SelectedCustomerOid ?? 0;
var creator = PluginLoader.FindClass<DefaultReportCreator>() ?? new DefaultReportCreator();
switch(Model.SelectedFilterItem.FilterEnum)
{
case QBFilterEnum.AlleKlienten:
reportObjects = ServicesOverviewRO.Create(reportTimeFrame.Month, reportTimeFrame.Year, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid);
break;
case QBFilterEnum.NurKlientenMeinesTeams:
var teamRelatedCustomerOids = GetTeamCustomerOids();
var teamRelatedCustomerOids = creator.GetKlientenOidsMeinesTeams(null);
reportObjects.AddRange(teamRelatedCustomerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
case QBFilterEnum.MeineKlienten:
var myRelatedCustomerOids = DefaultReportCreator.GetMeineKlientenOids();
var myRelatedCustomerOids = creator.GetMeineKlientenOids();
reportObjects.AddRange(myRelatedCustomerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
case QBFilterEnum.KlientenAuswahl:
reportObjects = new List<ServicesOverviewRO> { ServicesOverviewRO.Create(customerOid, reportTimeFrame.Month, reportTimeFrame.Year, false, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid) };
break;
case QBFilterEnum.TeamAuswahl:
var customerOids = GetTeamCustomerOids(teamOid);
var customerOids = creator.GetKlientenOidsMeinesTeams(teamOid);
reportObjects.AddRange(customerOids.Select(cOid => ServicesOverviewRO.Create(cOid, reportTimeFrame.Month, reportTimeFrame.Year, true, organisationOid, employeeOid, reportTimeFrame.StartDay, reportTimeFrame.EndDay, serviceCategoryOid)));
break;
default:

View File

@@ -50,7 +50,7 @@ namespace BeWoPlanerMobil.Models
#if DEBUG
showEmployeeSignatureSetting = "1";
#endif
return CheckRight(UserRightType.Analysis_ServiceOverview_View) && showEmployeeSignatureSetting != null && showEmployeeSignatureSetting.Equals("1");
return CheckRights(new List<UserRightType>{ UserRightType.Analysis_ServiceOverview_View, UserRightType.Signature_ProvideMonthlySignature }) && showEmployeeSignatureSetting != null && showEmployeeSignatureSetting.Equals("1");
}
}
@@ -117,6 +117,11 @@ namespace BeWoPlanerMobil.Models
return MobileSessionFacade.CheckForUserRight(userRightType);
}
public static bool CheckRights(List<UserRightType> userRightTypes)
{
return userRightTypes.All(MobileSessionFacade.CheckForUserRight);
}
public static bool CheckForAtLeastOneRight(UserRightType[] rights)
{
return rights.Any(MobileSessionFacade.CheckForUserRight);

View File

@@ -143,7 +143,7 @@ namespace BeWoPlanerMobil.Models
{
get
{
var result = new List<SelectListItem>();
var result = new List<SelectListItem> { new SelectListItem { Value = "-1", Text = string.Empty } };
foreach(var absenceReason in AllAbsenceReasons)
{
@@ -162,5 +162,7 @@ namespace BeWoPlanerMobil.Models
return result;
}
}
public AbsenceTimeDC SelectedAbsenceTime { get; set; }
}
}

View File

@@ -42,6 +42,33 @@ function showMessagePopupWithHtml(title, messageAsHtml) {
);
}
function showMessagePopupWithHtmlAndCallback(title, messageAsHtml, callback, executeCallbackByBothButtons) {
$("#popupTitle").text(title);
$("#modal-body").html(messageAsHtml);
$("#message-popup-ok-btn").off("click");
$("#message-popup-ok-btn").on("click", function () {
callback();
});
if(executeCallbackByBothButtons === true) {
$("#message-popup-close-btn, #message-popup-esc-btn").off("click");
$("#message-popup-close-btn, #message-popup-esc-btn").on("click",
function () {
callback();
});
}
$("#messagePopup").modal(
{
backdrop: "static",
keyboard: false
}
);
}
function showMessagePopupWithCallback(title, message, callback, executeCallbackByBothButtons) {
$("#popupTitle").text(title);

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,17 @@
@using BeWoPlanerMobil.Models;
@using BeWoPlanerMobil.Util
@using BS.Shared
@using BS.Shared.Extensions
@model CustomerModel
@*
ToDos:
1. Formularvalidierung mittels Klassen und Bootstrap
2. Ganztagsfunktionalität einbauen
3. Controller-Funktionen implementieren:
1. Bearbeiten einer existierenden Abwesenheit
2. Anlegen einer neuen Abwesenheit
ToDos:
1. Formularvalidierung
2. Ganztagsfunktionalität einbauen
3. Controller-Funktionen implementieren:
1. Bearbeiten einer existierenden Abwesenheit
2. Anlegen einer neuen Abwesenheit
*@
<script type="text/javascript">
@@ -29,12 +30,12 @@
var initialDatePrependWidth = 0;
function calcAbsenceTimePrependWidth() {
try {
setTimeout(function() {
if (initialDatePrependWidth <= 0 && $.isNumeric(getMaxWidth("customer-absence-time-prepend"))) {
setTimeout(function () {
if(initialDatePrependWidth <= 0 && $.isNumeric(getMaxWidth("customer-absence-time-prepend"))) {
initialDatePrependWidth = getMaxWidth("customer-absence-time-prepend");
}
if (initialDatePrependWidth <= 0) {
if(initialDatePrependWidth <= 0) {
return;
}
@@ -42,138 +43,222 @@
$(".customer-absence-time-prepend").width(getMaxWidth("customer-absence-time-prepend"));
});
} catch (error) {
} catch(error) {
showErrorPopup(error);
}
}
function validateAbsenceTimeForm() {
try {
$("#form-validation-result-column").addClass("d-none");
$("#form-validation-result-container").html("");
var validationMessage = "";
var allDay = $("#customer-absence-time-allday-cb").is(":checked");
var startDateString = $("#customer-absence-time-start-date").val();
var endDateString = $("#customer-absence-time-end-date").val();
var startTimeString = $("#customer-absence-time-start-time").val();
var endTimeString = $("#customer-absence-time-end-time").val();
var isInfinite = endDateString.length === 0 && endTimeString.length === 0;
var start = allDay ? moment(startDateString, "DD.MM.YYYY") : moment(startDateString + " " + startTimeString, "DD.MM.YYYY hh:mm");
var end = allDay ? moment(endDateString, "DD.MM.YYYY") : moment(endDateString + " " + endTimeString, "DD.MM.YYYY hh:mm");
var isStartValid = start.isValid();
var isEndValid = end.isValid() || isInfinite;
if(!isStartValid || !isEndValid) {
return "Die Datumsangaben sind ungültig!";
}
var selectedOption = $("#absence-reason-select option:selected");
if(!isInfinite && isStartValid === true && end.isBefore(start)) {
validationMessage = "Das Enddatum muss vor dem Startdatum liegen.";
}
if(selectedOption.val() === "-1") {
if(validationMessage.length === 0) {
validationMessage = "Die Kategorie darf nicht leer sein.";
} else {
validationMessage += "<br />Die Kategorie darf nicht leer sein.";
}
}
return validationMessage;
} catch(error) {
showErrorPopup(error);
}
}
function toggleAllDay() {
try {
$("#customer-absence-time-start-time, #customer-absence-time-end-time").prop("disabled", $("#customer-absence-time-allday-cb").is(":checked"));
} catch(error) {
showErrorPopup(error);
}
}
function submitCustomerAbsenceTimesForm() {
try {
var validationMessage = validateAbsenceTimeForm();
} catch (error) {
if(validationMessage !== undefined && validationMessage !== null && validationMessage.length > 0) {
$("#form-validation-result-column").removeClass("d-none");
$("#form-validation-result-container").html(validationMessage);
return;
}
showSpinner();
$("#create-absence-time-form").submit();
} catch(error) {
showErrorPopup(error);
}
}
function clearCustomerAbsenceTimesForm() {
try {
} catch (error) {
$("#customer-absence-time-notice, #customer-absence-time-start-date, #customer-absence-time-end-date, #customer-absence-time-start-time, #customer-absence-time-end-time").val("");
$.get("@Url.Action("DeselectAbsenceTime")").success(function() {
$("#customer-absence-time-modal-body").load('@Url.Action("LoadAbsenceTimeToForm", "Customer")').load();
});
} catch(error) {
showErrorPopup(error);
}
}
</script>
<div class="form-row">
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-start-date-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Startdatum
</div>
</div>
<input type="text" id="customer-absence-time-start-date" name="Datum" class="form-control datetimepicker-input" data-target="#customer-absence-time-start-date-picker" data-toggle="datetimepicker" />
<div class="input-group-append" data-target="#customer-absence-time-start-date-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-calendar-alt"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-end-date-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Enddatum
</div>
</div>
<input type="text" id="customer-absence-time-end-date" name="Enddatum" class="form-control datetimepicker-input" data-target="#customer-absence-time-end-date-picker" data-toggle="datetimepicker" />
<div class="input-group-append" data-target="#customer-absence-time-end-date-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-calendar-alt"></i>
</div>
</div>
</div>
</div>
</div>
</div>
@using(Html.BeginForm("CreateOrUpdateAbsenceTime", "Customer", FormMethod.Post, new { id = "create-absence-time-form" }))
{
var isAllDay = Model.SelectedAbsenceTime?.Start?.IsTimeZero() ?? false;
var allDay = isAllDay ? "checked" : "";
var isDisabled = isAllDay ? "disabled" : "";
var startDate = Model.SelectedAbsenceTime?.Start?.ToString("dd.MM.yyyy");
var endDate = Model.SelectedAbsenceTime?.End?.ToString("dd.MM.yyyy");
var startTime = Model.SelectedAbsenceTime?.Start?.ToString("HH:mm");
var endTime = Model.SelectedAbsenceTime?.End?.ToString("HH:mm");
<div class="form-row">
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-start-time-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Von
</div>
</div>
<input type="text" id="customer-absence-time-start-time" name="Start" class="form-control datetimepicker-input" data-target="#customer-absence-time-start-time-picker" />
<div class="input-group-append" data-target="#customer-absence-time-start-time-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-clock"></i>
</div>
</div>
</div>
<input type="hidden" name="customer-absence-time-oid" value="@Model.SelectedAbsenceTime?.AbsenceTimeOid" />
<div class="form-row">
<div class="col-lg d-none" id="form-validation-result-column">
<div class="alert alert-danger" role="alert" id="form-validation-result-container"></div>
</div>
</div>
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-end-time-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Bis
</div>
</div>
<input type="text" id="customer-absence-time-end-time" name="Ende" class="form-control datetimepicker-input" data-target="#customer-absence-time-end-time-picker" />
<div class="input-group-append" data-target="#customer-absence-time-end-time-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-clock"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md">
<div class="custom-control custom-checkbox custom-control-inline">
<input type="checkbox" class="custom-control-input" name="allday-cb" id="customer-absence-time-allday-cb" />
<label class="custom-control-label" for="customer-absence-time-allday-cb">Ganztäglich</label>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md">
<div class="form-group my-2">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Kategorie
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-start-date-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Startdatum
</div>
</div>
<input type="text" id="customer-absence-time-start-date" name="customer-absence-time-start-date" class="form-control datetimepicker-input" data-target="#customer-absence-time-start-date-picker" data-toggle="datetimepicker" value="@startDate" />
<div class="input-group-append" data-target="#customer-absence-time-start-date-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-calendar-alt"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-end-date-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Enddatum
</div>
</div>
<input type="text" id="customer-absence-time-end-date" name="customer-absence-time-end-date" class="form-control datetimepicker-input" data-target="#customer-absence-time-end-date-picker" data-toggle="datetimepicker" value="@endDate" />
<div class="input-group-append" data-target="#customer-absence-time-end-date-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-calendar-alt"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-start-time-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Von
</div>
</div>
<input type="text" @isDisabled id="customer-absence-time-start-time" name="customer-absence-time-start-time" class="form-control datetimepicker-input" data-target="#customer-absence-time-start-time-picker" value="@startTime" />
<div class="input-group-append" data-target="#customer-absence-time-start-time-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-clock"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg">
<div class="form-group my-2">
<div class="input-group date" id="customer-absence-time-end-time-picker" data-target-input="nearest">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Bis
</div>
</div>
<input type="text" @isDisabled id="customer-absence-time-end-time" name="customer-absence-time-end-time" class="form-control datetimepicker-input" data-target="#customer-absence-time-end-time-picker" value="@endTime" />
<div class="input-group-append" data-target="#customer-absence-time-end-time-picker" data-toggle="datetimepicker">
<div class="input-group-text px-2">
<i class="fas fa-clock"></i>
</div>
</div>
</div>
@Html.DropDownListFor(m => m.SelectedAbsenceReason, Model.AbsenceReasonItems, new { @class = "custom-select", Id = "absence-reason-select" })
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Erläuterung
</div>
</div>
<textarea class="form-control" id="notice" name="Notice" maxlength="1024" ></textarea>
<div class="form-row">
<div class="col-md">
<div class="custom-control custom-checkbox custom-control-inline">
<input type="checkbox" class="custom-control-input" name="customer-absence-time-allday-cb" id="customer-absence-time-allday-cb" onclick="toggleAllDay()" @allDay />
<label class="custom-control-label" for="customer-absence-time-allday-cb">Ganztäglich</label>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md">
<div class="form-group my-2">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Kategorie
</div>
</div>
@Html.DropDownListFor(m => m.SelectedAbsenceReason, Model.AbsenceReasonItems, new { @class = "custom-select", Id = "absence-reason-select", Name = "customer-absence-time-category" })
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-absence-time-prepend">
Erläuterung
</div>
</div>
<textarea class="form-control" id="customer-absence-time-notice" name="customer-absence-time-notice" maxlength="1024">@(Model.SelectedAbsenceTime?.Notice ?? string.Empty)</textarea>
</div>
</div>
</div>
</div>
}

View File

@@ -4,19 +4,114 @@
@model CustomerModel
<script type="text/javascript">
$(window).ready(function() {
@if(!(Model.SelectedAbsenceTime is null))
{
<text>
$("#customer-absence-times-form-popup").modal("show");
</text>
}
});
function deleteAbsenceTime(absenceTimeOid, absenceTimeSpanDescription) {
try {
event.stopPropagation();
var word = absenceTimeSpanDescription.includes("Ab") ? "" : "vom ";
showMessagePopupWithCallback("Abwesenheit löschen",
"Möchten Sie wirklich die Abwesenheit " + word + absenceTimeSpanDescription.toLowerCase() + " löschen?",
function() {
$("#customer-absence-time-to-delete-oid").val(absenceTimeOid);
showSpinner();
document.getElementById("customer-absence-delete-form").submit();
$("#customer-absence-delete-form").submit();
},
false);
} catch (error) {
showErrorPopup(error);
}
}
function selectAbsenceTime(absenceTimeOid) {
try {
event.stopPropagation();
$.get("@Url.Action("SetSelectedAbsenceTimeOid")", { absenceTimeOid: absenceTimeOid }).success(function(result) {
if(result !== undefined && result !== null && result.length > 1) {
showMessagePopupWithHtml("Fehler", "<div class='alert alert-danger' role='alert'>" + result + "</div>");
} else if(result !== undefined && result !== null && result.length === 1) {
$("#customer-absence-time-modal-body").load('@Url.Action("LoadAbsenceTimeToForm", "Customer")', function () {
$("#customer-absence-times-form-popup").modal("show");
});
}
});
} catch (error) {
showErrorPopup(error);
}
}
</script>
@foreach(var absenceTime in Model.SelectedCustomer.AbsenceTimes)
@foreach(var absenceTime in Model.SelectedCustomer.AbsenceTimes.OrderBy(at => at.Start))
{
if(absenceTime.Start is null)
{
continue;
}
@*
ToDo: Startdatum und -zeit, Enddatum und -zeit, Kategorie, Erläuterung
*@
<div class="row mb-3">
<div class="card w-100">
<div class="card-header" onclick="cardHeaderClick2(this)">
<div class="row">
<div class="col-sm-auto mr-auto">
<div class="input-group">
<div class="input-group-prepend">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header chevron-identifier-class"></i>
</div>
<p class="form-control text-bewo-customer-card-header border-0 bg-transparent" style="user-select: none !important;">
@absenceTime.Start.Value.GetIntervalDescription(absenceTime.End)
</p>
</div>
</div>
<div class="col-sm-auto">
<div class="btn-toolbar justify-content-between">
<div class="btn-group pr-1" role="group">
<button class="btn btn-primary" type="button" onclick="selectAbsenceTime(@absenceTime.AbsenceTimeOid)">
<span class="fas fa-edit mr-0 pr-0"></span>
</button>
</div>
<div class="btn-group" role="group">
<button class="btn btn-danger" type="button" onclick="deleteAbsenceTime(@absenceTime.AbsenceTimeOid, '@absenceTime.Start.Value.GetIntervalDescription(absenceTime.End)')">
<span class="fas fa-trash mr-0 pr-0"></span>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="collapse">
<div class="card-body">
<div class="container-fluid px-0">
<div class="row">
<div class="col-auto mr-auto text-secondary">
Kategorie:
</div>
<div class="col-auto">
@absenceTime.Reason.Description
</div>
</div>
<div class="row">
<div class="col-auto mr-auto text-secondary">
Erläuterung:
</div>
<div class="col-auto">
@absenceTime.Notice
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}

View File

@@ -110,7 +110,7 @@
@{
var employeeSignatureState = result.EmployeeSignatureState;
var customerSignatureState = result.CustomerSignatureState;
var canCustomerSign = customerSignatureState != SignatureState.All;
var canEmployeeSign = employeeSignatureState != SignatureState.All;

View File

@@ -72,9 +72,339 @@
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/service-record-time-calc.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/js-helper.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/logging.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/password-security.js")" type="text/javascript"></script>
@*<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/password-security.js")" type="text/javascript"></script>*@
<script type="text/javascript">
class PasswordSecurity {
numbers = "0123456789";
lowercaseLetters = "abcdefghijklmnopqrstuvwxyz";
uppercaseLetters = "ABDEFGHIJKLMNOPQRSTUVWXYZ";
lowercaseUmlauts = "äöüß";
uppercaseUmlauts = "ÄÖÜ";
specialChars1 = "\\\"\'µ@€!";
specialChars2 = "&/()=?+*";
specialChars3 = ",.-;:_><|";
specialChars4 = "§$%'{[]}´";
specialChars5 = "`^°~²³";
<script>
isPartial = false;
partialPassword = "";
passwordLengthDifference = 0;
score = 0;
previousValue = 0;
schalter = false;
previousValues = [];
passwordLabelId = "";
constructor(pwLabelId) {
this.passwordLabelId = pwLabelId;
}
validatePassword(password) {
if (false === isUndefinedOrNull(password) && password.length > 0) {
var sx = "";
var passwordStrength = -1;
for (var i = 0; i < password.length; i++) {
sx += password[i];
if (sx.length < this.partialPassword.length) {
this.isPartial = true;
this.passwordLengthDifference = this.partialPassword.length - sx.length;
}
if (this.partialPassword !== sx) {
this.partialPassword = sx;
}
passwordStrength = this.calculatePasswordStrength(sx);
}
this.displayPasswordStrength(passwordStrength);
return;
}
this.score = 0;
this.previousValue = 0;
this.displayPasswordStrength(-1);
}
getIntegerFromArray(arr, index) {
if (arr === undefined || arr === null || arr.length < index) {
return 0;
}
var intValue = $.parseInt(arr[index], 10);
return $.isNumeric(intValue) ? intValue : 0;
}
getLastValue() {
if (this.previousValues === undefined || this.previousValues === null || this.previousValues.length === 0) {
return 0;
}
return this.previousValues[this.previousValues.length - 1];
}
calculatePasswordStrength(passwordToValidate) {
var passwordStrength = 0;
this.previousValue = 0;
if (this.isPartial === true) {
if (this.passwordLengthDifference === 1) {
this.score -= this.getLastValue();
this.previousValues.pop();
} else {
for (var i = 0; i < this.passwordLengthDifference; i++) {
this.score -= this.getLastValue();
this.previousValues.pop();
}
}
this.isPartial = false;
} else {
var passwordLength = passwordToValidate.length;
if (passwordLength >= 6 && passwordLength < 9) {
this.score += 1;
this.previousValue = 1;
this.schalter = true;
}
if (passwordLength >= 9 && passwordLength < 12) {
this.score += 2;
this.previousValue = 2;
this.schalter = true;
}
if (passwordLength >= 12 && passwordLength < 18) {
this.score += 3;
this.previousValue = 3;
this.schalter = true;
}
if (passwordLength >= 18) {
this.score += 4;
this.previousValue = 4;
this.schalter = true;
}
var passwordAsArray = Array.from(passwordToValidate);
// Zahlen
var containsNumbers = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.numbers.includes(passwordAsArray[i])) {
containsNumbers = true;
break;
}
}
// Kleinbuchstaben
var containsLowercaseLetters = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.lowercaseLetters.includes(passwordAsArray[i])) {
containsLowercaseLetters = true;
break;
}
}
// Großbuchstaben
var containsUppercaseLetters = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.uppercaseLetters.includes(passwordAsArray[i])) {
containsUppercaseLetters = true;
break;
}
}
// Kleinumlaute
var containsLowercaseUmlauts = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.lowercaseUmlauts.includes(passwordAsArray[i])) {
containsLowercaseUmlauts = true;
break;
}
}
// Großumlaute
var containsUppercaseUmlauts = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.uppercaseUmlauts.includes(passwordAsArray[i])) {
containsUppercaseUmlauts = true;
break;
}
}
// Sonderzeichen 1
var containsSpecialCharacters1 = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.specialChars1.includes(passwordAsArray[i])) {
containsSpecialCharacters1 = true;
break;
}
}
var containsSpecialCharacters2 = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.specialChars2.includes(passwordAsArray[i])) {
containsSpecialCharacters2 = true;
break;
}
}
var containsSpecialCharacters3 = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.specialChars3.includes(passwordAsArray[i])) {
containsSpecialCharacters3 = true;
break;
}
}
var containsSpecialCharacters4 = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.specialChars4.includes(passwordAsArray[i])) {
containsSpecialCharacters4 = true;
break;
}
}
var containsSpecialCharacters5 = false;
for (var i = 0; i < passwordAsArray.length; i++) {
if (this.specialChars5.includes(passwordAsArray[i])) {
containsSpecialCharacters5 = true;
break;
}
}
if (containsNumbers === true) {
this.addScoreValue(3);
}
if (containsLowercaseLetters === true) {
this.addScoreValue(2);
}
if (containsUppercaseLetters === true) {
this.addScoreValue(3);
}
if (containsLowercaseUmlauts === true) {
this.addScoreValue(2);
}
if (containsUppercaseUmlauts === true) {
this.addScoreValue(2);
}
if (containsSpecialCharacters1 === true) {
this.addScoreValue(4);
}
if (containsSpecialCharacters2 === true) {
this.addScoreValue(4);
}
if (containsSpecialCharacters3 === true) {
this.addScoreValue(4);
}
if (containsSpecialCharacters4 === true) {
this.addScoreValue(4);
}
if (containsSpecialCharacters5 === true) {
this.addScoreValue(4);
}
this.previousValues.push(this.previousValue);
}
if (this.score <= 15) {
passwordStrength = 0;
}
if (this.score > 15 && this.score <= 55) {
passwordStrength = 1;
}
if (this.score > 55 && this.score <= 115) {
passwordStrength = 2;
}
if (this.score > 115 && this.score <= 155) {
passwordStrength = 3;
}
if (this.score > 155) {
passwordStrength = 4;
}
return passwordStrength;
}
addScoreValue(defaultValue) {
if (defaultValue === undefined || defaultValue === null || false === $.isNumeric(defaultValue)) {
return;
}
this.score += defaultValue;
if (this.schalter === true) {
this.previousValue += defaultValue;
} else {
this.previousValue = defaultValue;
}
}
displayPasswordStrength(passwordStrength) {
var passwordLabel = $("#" + this.passwordLabelId);
if (passwordStrength === undefined || !$.isNumeric(passwordStrength) || !passwordLabel.length) {
return;
}
passwordLabel.removeClass("text-success text-danger text-warning");
switch (passwordStrength) {
case -1:
passwordLabel.addClass("d-none");
passwordLabel.html("");
break;
case 0:
passwordLabel.removeClass("d-none");
passwordLabel.html("Passwortstärke: Sehr schwach");
passwordLabel.addClass("text-danger");
break;
case 1:
passwordLabel.removeClass("d-none");
passwordLabel.html("Passwortstärke: Schwach");
passwordLabel.addClass("text-danger");
break;
case 2:
passwordLabel.removeClass("d-none");
passwordLabel.html("Passwortstärke: Mittel");
passwordLabel.addClass("text-warning");
break;
case 3:
passwordLabel.removeClass("d-none");
passwordLabel.html("Passwortstärke: Stark");
passwordLabel.addClass("text-success");
break;
case 4:
passwordLabel.removeClass("d-none");
passwordLabel.html("Passwortstärke: Sehr stark");
passwordLabel.addClass("text-success");
break;
}
}
}
</script>
<script type="text/javascript">
window.addEventListener("error", (event) => {
hideSpinner();

View File

@@ -444,7 +444,7 @@ namespace BeWo.Report
return new XtraReport();
}
public static IList<long> GetMeineKlientenOids()
public IList<long> GetMeineKlientenOids()
{
IList<long> customerOids = new List<long>();
@@ -483,11 +483,16 @@ namespace BeWo.Report
return customerOids;
}
/// <summary>
/// Lädt die Oids der Klienten, die im Reiter "Betreuung" mit dem vom angemeldeten Mitarbeiter geleiteten Team verknüpft sind.
/// </summary>
/// <param name="teamOid">Die Oid des Teams oder aller Teams des Mitarbeiters, falls null</param>
/// <returns>CustomerOids, die im Reiter "Betreuung" mit dem vom angemeldeten Mitarbeiter geleiteten Team - falls die teamOid null ist, aller Teams des Mitarbeiters - verknüpft sind.</returns>
public virtual IList<long> GetKlientenOidsMeinesTeams(long? teamOid)
{
IList<long> customerOids = new List<long>();
ApplicationUser loggedInUser = null;
ApplicationUser loggedInUser;
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
{
@@ -498,7 +503,7 @@ namespace BeWo.Report
loggedInUser = SessionFacade.LoggedInUser;
}
if (loggedInUser != null && loggedInUser.Employee != null)
if (loggedInUser?.Employee != null)
{
var teams = new List<Team>();
@@ -551,9 +556,7 @@ namespace BeWo.Report
customerOids.Add(c.Oid.Value);
}
}
}
}
}

View File

@@ -80,6 +80,18 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.lblFehlkontakt = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.lblUnterschriftKlient = new DevExpress.XtraReports.UI.XRLabel();
@@ -113,18 +125,6 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.lblFehlkontakt = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
@@ -792,6 +792,198 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMoFehlkontakte", "{0:0.##}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(330.0001F, 0.7083397F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel9
//
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(245F, 0.7083397F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel9.StylePriority.UseBackColor = false;
this.xrLabel9.StylePriority.UseBorders = false;
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UsePadding = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel10
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(415F, 0.7083397F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(320F, 20F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseBorders = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Fachleistungen in Minuten";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel11
//
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
this.xrLabel11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel11.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(415F, 20.70832F);
this.xrLabel11.Name = "xrLabel11";
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 = " Ohne Faktor 1,2 (wird erst bei Abrechnung eingerechnet)";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0.7083397F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel12.StylePriority.UseBackColor = false;
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
this.xrLabel12.Text = "E = ear to ear, face to face";
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.70832F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel13.StylePriority.UseBackColor = false;
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UsePadding = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "GR = Gruppenangebot";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblFehlkontakt
//
this.lblFehlkontakt.Font = new System.Drawing.Font("Arial", 10F);
this.lblFehlkontakt.LocationFloat = new DevExpress.Utils.PointFloat(0F, 40.70827F);
this.lblFehlkontakt.Name = "lblFehlkontakt";
this.lblFehlkontakt.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblFehlkontakt.SizeF = new System.Drawing.SizeF(245F, 20F);
this.lblFehlkontakt.StylePriority.UseBackColor = false;
this.lblFehlkontakt.StylePriority.UseBorders = false;
this.lblFehlkontakt.StylePriority.UseFont = false;
this.lblFehlkontakt.StylePriority.UsePadding = false;
this.lblFehlkontakt.StylePriority.UseTextAlignment = false;
this.lblFehlkontakt.Text = "F = Fehlkontakt";
this.lblFehlkontakt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel21
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 40.70833F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(320F, 20F);
this.xrLabel21.StylePriority.UseBackColor = false;
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Fehlkontakte in Minuten";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel20
//
this.xrLabel20.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMFehlkontakte", "{0:0.##}")});
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(329.9999F, 40.70833F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel20.StylePriority.UseBackColor = false;
this.xrLabel20.StylePriority.UseBorders = false;
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UsePadding = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel19
//
this.xrLabel19.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(245F, 40.70833F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel19.StylePriority.UseBackColor = false;
this.xrLabel19.StylePriority.UseBorders = false;
this.xrLabel19.StylePriority.UseFont = false;
this.xrLabel19.StylePriority.UsePadding = false;
this.xrLabel19.StylePriority.UseTextAlignment = false;
this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel23
//
this.xrLabel23.BackColor = System.Drawing.Color.Transparent;
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(329.9998F, 20.70832F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel23.StylePriority.UseBackColor = false;
this.xrLabel23.StylePriority.UseBorders = false;
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.StylePriority.UsePadding = false;
this.xrLabel23.StylePriority.UseTextAlignment = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel22
//
this.xrLabel22.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel22.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(244.9998F, 20.70832F);
this.xrLabel22.Name = "xrLabel22";
this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel22.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel22.StylePriority.UseBackColor = false;
this.xrLabel22.StylePriority.UseBorders = false;
this.xrLabel22.StylePriority.UseFont = false;
this.xrLabel22.StylePriority.UsePadding = false;
this.xrLabel22.StylePriority.UseTextAlignment = false;
this.xrLabel22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel18
//
this.xrLabel18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -1152,198 +1344,6 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMoFehlkontakte", "{0:0.##}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(330.0001F, 0.7083397F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel9
//
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(245F, 0.7083397F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel9.StylePriority.UseBackColor = false;
this.xrLabel9.StylePriority.UseBorders = false;
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UsePadding = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel10
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(415F, 0.7083397F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(320F, 20F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseBorders = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Fachleistungen in Minuten";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel11
//
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
this.xrLabel11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel11.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(415F, 20.70832F);
this.xrLabel11.Name = "xrLabel11";
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 = " Ohne Faktor 1,2 (wird erst bei Abrechnung eingerechnet)";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0.7083397F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel12.StylePriority.UseBackColor = false;
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
this.xrLabel12.Text = "E = ear to ear, face to face";
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.70832F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel13.StylePriority.UseBackColor = false;
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UsePadding = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "GR = Gruppenangebot";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblFehlkontakt
//
this.lblFehlkontakt.Font = new System.Drawing.Font("Arial", 10F);
this.lblFehlkontakt.LocationFloat = new DevExpress.Utils.PointFloat(0F, 40.70827F);
this.lblFehlkontakt.Name = "lblFehlkontakt";
this.lblFehlkontakt.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblFehlkontakt.SizeF = new System.Drawing.SizeF(245F, 20F);
this.lblFehlkontakt.StylePriority.UseBackColor = false;
this.lblFehlkontakt.StylePriority.UseBorders = false;
this.lblFehlkontakt.StylePriority.UseFont = false;
this.lblFehlkontakt.StylePriority.UsePadding = false;
this.lblFehlkontakt.StylePriority.UseTextAlignment = false;
this.lblFehlkontakt.Text = "F = Fehlkontakt";
this.lblFehlkontakt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel21
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 40.70833F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(320F, 20F);
this.xrLabel21.StylePriority.UseBackColor = false;
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Fehlkontakte in Minuten";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel20
//
this.xrLabel20.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMFehlkontakte", "{0:0.##}")});
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(329.9999F, 40.70833F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel20.StylePriority.UseBackColor = false;
this.xrLabel20.StylePriority.UseBorders = false;
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UsePadding = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel19
//
this.xrLabel19.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(245F, 40.70833F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel19.StylePriority.UseBackColor = false;
this.xrLabel19.StylePriority.UseBorders = false;
this.xrLabel19.StylePriority.UseFont = false;
this.xrLabel19.StylePriority.UsePadding = false;
this.xrLabel19.StylePriority.UseTextAlignment = false;
this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel23
//
this.xrLabel23.BackColor = System.Drawing.Color.Transparent;
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(329.9998F, 20.70832F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel23.StylePriority.UseBackColor = false;
this.xrLabel23.StylePriority.UseBorders = false;
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.StylePriority.UsePadding = false;
this.xrLabel23.StylePriority.UseTextAlignment = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel22
//
this.xrLabel22.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel22.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(244.9998F, 20.70832F);
this.xrLabel22.Name = "xrLabel22";
this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel22.SizeF = new System.Drawing.SizeF(85F, 20F);
this.xrLabel22.StylePriority.UseBackColor = false;
this.xrLabel22.StylePriority.UseBorders = false;
this.xrLabel22.StylePriority.UseFont = false;
this.xrLabel22.StylePriority.UsePadding = false;
this.xrLabel22.StylePriority.UseTextAlignment = false;
this.xrLabel22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);

View File

@@ -85,6 +85,15 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.lblFehlkontakt = new DevExpress.XtraReports.UI.XRLabel();
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.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.lblUnterschriftMitarbeiter = new DevExpress.XtraReports.UI.XRLabel();
this.xrTableAbwesenheiten = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -113,16 +122,9 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.lblFehlkontakt = new DevExpress.XtraReports.UI.XRLabel();
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.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
@@ -835,6 +837,8 @@ namespace AmbulantBetreutesWohnenAstridPulm
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel19,
this.xrPictureBox3,
this.xrLabel23,
this.xrLabel20,
this.xrLabel21,
@@ -855,6 +859,156 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel23
//
this.xrLabel23.BackColor = System.Drawing.Color.Transparent;
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(266F, 19.99995F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(73.99991F, 20F);
this.xrLabel23.StylePriority.UseBackColor = false;
this.xrLabel23.StylePriority.UseBorders = false;
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.StylePriority.UsePadding = false;
this.xrLabel23.StylePriority.UseTextAlignment = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel20
//
this.xrLabel20.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMFehlkontakte", "{0:0.##}")});
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(266F, 39.99996F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(74.00003F, 20F);
this.xrLabel20.StylePriority.UseBackColor = false;
this.xrLabel20.StylePriority.UseBorders = false;
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UsePadding = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel21
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(340F, 39.99996F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(406.8054F, 20F);
this.xrLabel21.StylePriority.UseBackColor = false;
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Fehlkontakte in Minuten";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblFehlkontakt
//
this.lblFehlkontakt.Font = new System.Drawing.Font("Arial", 10F);
this.lblFehlkontakt.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.99996F);
this.lblFehlkontakt.Name = "lblFehlkontakt";
this.lblFehlkontakt.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblFehlkontakt.SizeF = new System.Drawing.SizeF(245F, 20F);
this.lblFehlkontakt.StylePriority.UseBackColor = false;
this.lblFehlkontakt.StylePriority.UseBorders = false;
this.lblFehlkontakt.StylePriority.UseFont = false;
this.lblFehlkontakt.StylePriority.UsePadding = false;
this.lblFehlkontakt.StylePriority.UseTextAlignment = false;
this.lblFehlkontakt.Text = "F = Fehlkontakt";
this.lblFehlkontakt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 19.99995F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel13.StylePriority.UseBackColor = false;
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UsePadding = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "GR = Gruppenangebot";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel12.StylePriority.UseBackColor = false;
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
this.xrLabel12.Text = "E = ear to ear, face to face";
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel11
//
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
this.xrLabel11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel11.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(340F, 19.99995F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.SizeF = new System.Drawing.SizeF(406.8055F, 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 = " Ohne Faktor 1,2 (wird erst bei Abrechnung eingerechnet)";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel10
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(340F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(406.8055F, 20F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseBorders = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Fachleistungen in Minuten";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMoFehlkontakte", "{0:0.##}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(266F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(73.99991F, 20F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblUnterschriftMitarbeiter
//
this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top;
@@ -1158,160 +1312,31 @@ namespace AmbulantBetreutesWohnenAstridPulm
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// xrLabel20
// xrLabel19
//
this.xrLabel20.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMFehlkontakte", "{0:0.##}")});
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(266F, 39.99996F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(74.00003F, 20F);
this.xrLabel20.StylePriority.UseBackColor = false;
this.xrLabel20.StylePriority.UseBorders = false;
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UsePadding = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrLabel19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy,}")});
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(453.8055F, 235.3958F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(100F, 23F);
this.xrLabel19.Visible = false;
//
// xrLabel21
// xrPictureBox3
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(340F, 39.99996F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(406.8054F, 20F);
this.xrLabel21.StylePriority.UseBackColor = false;
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Fehlkontakte in Minuten";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// lblFehlkontakt
//
this.lblFehlkontakt.Font = new System.Drawing.Font("Arial", 10F);
this.lblFehlkontakt.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.99996F);
this.lblFehlkontakt.Name = "lblFehlkontakt";
this.lblFehlkontakt.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblFehlkontakt.SizeF = new System.Drawing.SizeF(245F, 20F);
this.lblFehlkontakt.StylePriority.UseBackColor = false;
this.lblFehlkontakt.StylePriority.UseBorders = false;
this.lblFehlkontakt.StylePriority.UseFont = false;
this.lblFehlkontakt.StylePriority.UsePadding = false;
this.lblFehlkontakt.StylePriority.UseTextAlignment = false;
this.lblFehlkontakt.Text = "F = Fehlkontakt";
this.lblFehlkontakt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 19.99995F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel13.StylePriority.UseBackColor = false;
this.xrLabel13.StylePriority.UseBorders = false;
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UsePadding = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.Text = "GR = Gruppenangebot";
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(245F, 20F);
this.xrLabel12.StylePriority.UseBackColor = false;
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
this.xrLabel12.Text = "E = ear to ear, face to face";
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel11
//
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
this.xrLabel11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel11.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(340F, 19.99995F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.SizeF = new System.Drawing.SizeF(406.8055F, 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 = " Ohne Faktor 1,2 (wird erst bei Abrechnung eingerechnet)";
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel10
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(340F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(406.8055F, 20F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseBorders = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Fachleistungen in Minuten";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel1
//
this.xrLabel1.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMoFehlkontakte", "{0:0.##}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(266F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(73.99991F, 20F);
this.xrLabel1.StylePriority.UseBackColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrPictureBox3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "EmployeeSignature"),
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(554.3056F, 235.3958F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(100F, 23F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// xrLabel23
//
this.xrLabel23.BackColor = System.Drawing.Color.Transparent;
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(266F, 19.99995F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(73.99991F, 20F);
this.xrLabel23.StylePriority.UseBackColor = false;
this.xrLabel23.StylePriority.UseBorders = false;
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.StylePriority.UsePadding = false;
this.xrLabel23.StylePriority.UseTextAlignment = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// Quittierungsbeleg2
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1440,5 +1465,7 @@ namespace AmbulantBetreutesWohnenAstridPulm
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox3;
}
}

View File

@@ -116,50 +116,14 @@ namespace AmbulantBetreutesWohnenAstridPulm
// 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)

View File

@@ -271,7 +271,7 @@ namespace BeWo.Service.Plugins
//t = "4817284046"; // Verein für Sozialmedizin Stade e.V.
//t = "6323001211"; // ASB Faßbacher Hof gGmbH
//t = "9389386079"; // VARO Sozialagentur
//t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
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)
@@ -326,7 +326,7 @@ namespace BeWo.Service.Plugins
//t = "5065709552"; // Biotop e.V.
//t = "9094672461"; // Transkulturelles Betreuungsbüro (Toprak GmbH)
//t = "9008813932"; // Aids Hilfe Giessen
t = "4052216789"; // Perspektiven e.V.
//t = "4052216789"; // Perspektiven e.V.
//t = "7663765314"; // Christina Frommen (Frommen BeWo)
//t = "5462295916"; // BeWo Dellbrueck
//t = "2120989920"; // Sozialbüro Schüßler und Wilckens GbR