diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index ed9de3dd6..4c7898ff7 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -1140,7 +1140,7 @@ namespace BeWo showStackTrace = false; showSupportForm = false; } - else if (stacktrace.IndexOf("GenericADOException") >= 0 && stacktrace.IndexOf("could not insert") >= 0 && stacktrace.IndexOf("Incorrect string value") >= 0) + else if (stacktrace.IndexOf("GenericADOException") >= 0 && (stacktrace.IndexOf("could not insert") >= 0 || stacktrace.IndexOf("could not update") >= 0) && stacktrace.IndexOf("Incorrect string value") >= 0) { displayMessage = "Ihre Eingabe enthält ungültige Zeichen. Wenn Sie einen Text aus einem anderen Programm kopiert haben, entfernen Sie bitte vor dem Speichern die ungültigen Zeichen oder geben Sie den Text manuell ein."; showStackTrace = true; diff --git a/BeWo/Converter/ValidationConverter.cs b/BeWo/Converter/ValidationConverter.cs index 6ee6613a2..37f55b2e2 100644 --- a/BeWo/Converter/ValidationConverter.cs +++ b/BeWo/Converter/ValidationConverter.cs @@ -18,7 +18,7 @@ namespace BeWo.Converter { if(value is string val_str && parameter is ValidationType val_type) { - return Validator.IsValid(val_type, val_str); + return GkvValidator.IsValid(val_type, val_str); } return null; diff --git a/BeWo/Converter/ValidationToTooltipConverter.cs b/BeWo/Converter/ValidationToTooltipConverter.cs index 1aa37ac78..50a9d77b4 100644 --- a/BeWo/Converter/ValidationToTooltipConverter.cs +++ b/BeWo/Converter/ValidationToTooltipConverter.cs @@ -22,7 +22,7 @@ namespace BeWo.Converter if (value is bool val_bool && parameter is ValidationType val_type) { - return val_bool ? null : Validator.InvalidTooltipTxt(val_type); + return val_bool ? null : GkvValidator.InvalidTooltipTxt(val_type); } return "xxx"; diff --git a/BeWo/DebugConfig.cs b/BeWo/DebugConfig.cs index 94d39cc51..86333065f 100644 --- a/BeWo/DebugConfig.cs +++ b/BeWo/DebugConfig.cs @@ -133,10 +133,10 @@ namespace BeWo new DebugConfig() { DebugConfigMode = DebugConfigMode.FeatureDakota, - AutoLogin = false, - SelectView = UIContext.Organisation, - SelectIndex = 8, - DefaultLoginUsername = "m1", + AutoLogin = true, + //SelectView = UIContext.Organisation, + //SelectIndex = 8, + DefaultLoginUsername = "admin", DefaultLoginPassword = "bewobewo", DefaultProfilename = "5000000000", EnableAutoRemoteDebugging = true diff --git a/BeWo/View/Master/ReportView.xaml.cs b/BeWo/View/Master/ReportView.xaml.cs index 89b5713ab..a72964b5f 100644 --- a/BeWo/View/Master/ReportView.xaml.cs +++ b/BeWo/View/Master/ReportView.xaml.cs @@ -515,7 +515,7 @@ namespace BeWo.View.Master if(!OpenViews.ContainsKey(tabitem_abwesenheitsTabelle)) { - OpenViews[tabitem_abwesenheitsTabelle] = new AbwesenheitstabelleView(); + OpenViews[tabitem_abwesenheitsTabelle] = new AbwesenheitsView(); } Show(tabitem_abwesenheitsTabelle); diff --git a/BeWo/ViewModel/InvoiceBaseVM.cs b/BeWo/ViewModel/InvoiceBaseVM.cs index 2736480b9..e82a4aa2b 100644 --- a/BeWo/ViewModel/InvoiceBaseVM.cs +++ b/BeWo/ViewModel/InvoiceBaseVM.cs @@ -920,6 +920,7 @@ namespace BeWo.ViewModel public StoredFileVM XRechnungStoredFileVM { get; set; } public long? Oid => DataContract.InvoiceBaseOid; + public string InvoiceId => DataContract.InvoiceId; public string SenderStreet => DataContract.SenderStreet; public string SenderTown => DataContract.SenderTown; public string SenderPostCode => DataContract.SenderPostCode; diff --git a/BeWo/ViewModel/OrganisationVM.cs b/BeWo/ViewModel/OrganisationVM.cs index bd5785db1..5289a71a8 100644 --- a/BeWo/ViewModel/OrganisationVM.cs +++ b/BeWo/ViewModel/OrganisationVM.cs @@ -713,8 +713,8 @@ namespace BeWo.ViewModel } public bool IsIKNumberValid - => Validator.IsIKNumberValid(IKKrankenkasse) - && Validator.IsLeistungserbringergruppeValid(Leistungserbringergruppe); + => GkvValidator.IsIKNumberValid(IKKrankenkasse) + && GkvValidator.IsLeistungserbringergruppeValid(Leistungserbringergruppe); public string IKKrankenkasse { diff --git a/BeWoPlanerMobil/Views/Main/Main.cshtml b/BeWoPlanerMobil/Views/Main/Main.cshtml index afceba1df..2bb8ed245 100644 --- a/BeWoPlanerMobil/Views/Main/Main.cshtml +++ b/BeWoPlanerMobil/Views/Main/Main.cshtml @@ -160,22 +160,22 @@ } @{ - var shouldShowSignaturePopup = TempData[TempDataConstants.ShowSignatureSuggestionPopup] is true; + var shouldShowSignaturePopup = TempData[TempDataConstants.ShowSignatureSuggestionPopup] is true; - if(TempData[TempDataConstants.AfterInsertKey] is true) - { + if(TempData[TempDataConstants.AfterInsertKey] is true) + { window.clearLocalBeWoStorage("@Model.BookingModePrefix"); - } + } - if(Model.LastCreatedServiceRecordOid > 0) - { - if(shouldShowSignaturePopup && Model.ShowSignature) - { + if(Model.LastCreatedServiceRecordOid > 0) + { + if(shouldShowSignaturePopup && Model.ShowSignature) + { showMessagePopupWithCallback("Erfolgreich gespeichert", "Möchten Sie den Eintrag unterschreiben lassen?", function() { - initializeSignature(@Model.LastCreatedServiceRecordOid); + window.showNewSignaturePopup(@Model.LastCreatedServiceRecordOid); }, false); } @@ -244,8 +244,8 @@ } }(jQuery)); - $(window).resize(function() { - @* Wird für die neue Unterschriftenle *@ + $(window).resize(function() { + @* Wird für die neue Unterschriftenle *@ updateCanvasSize($("#sketch-pad")); }); @@ -285,7 +285,7 @@ return @(Model is { IsServiceRecordNoticeMandatory: true } ? "true" : "false"); } - function getIsServiceRecordGoalMandatory() { + function getIsServiceRecordGoalMandatory() { return @(Model is { IsServiceRecordGoalMandatory: true } ? "true" : "false"); } @@ -325,107 +325,107 @@ function reloadServiceRecordsAfterValidation() { - } - - function getSelectedScCbRelOids(prefix) { - const checkedCheckboxes = $(`#${prefix}-cb2sc-list input[type=checkbox]:checked`); - const oids = []; - - checkedCheckboxes.each( - (index, item) => { - oids.push(parseInt($(item).val(), 10)); - } - ); - - return oids; } - function updateScCbRelOids(prefix, isGroupTabActive) { - const oids = getSelectedScCbRelOids(prefix); - const selectedGroups = []; + function getSelectedScCbRelOids(prefix) { + const checkedCheckboxes = $(`#${prefix}-cb2sc-list input[type=checkbox]:checked`); + const oids = []; - $(`#${prefix}-g-list input[type=hidden]`).each( - (index, item) => { - const memberOids = commaSeparatedOid2Array($(item).val()); + checkedCheckboxes.each( + (index, item) => { + oids.push(parseInt($(item).val(), 10)); + } + ); - let isSelected = true; - for(let i = 0; i < memberOids.length; i++) { - if(false === oids.includes(memberOids[i])) { - isSelected = false; - break; - } - } + return oids; + } - const groupOid = $(item).attr("id").split("-")[2]; + function updateScCbRelOids(prefix, isGroupTabActive) { + const oids = getSelectedScCbRelOids(prefix); + const selectedGroups = []; - if(isSelected) { - selectedGroups.push(groupOid); - } + $(`#${prefix}-g-list input[type=hidden]`).each( + (index, item) => { + const memberOids = commaSeparatedOid2Array($(item).val()); - $(`#${prefix}-group-checkbox-${groupOid}`).prop("checked", isSelected); - } - ); + let isSelected = true; + for(let i = 0; i < memberOids.length; i++) { + if(false === oids.includes(memberOids[i])) { + isSelected = false; + break; + } + } - if(prefix === "gb") { - window.updateLocallyStoredGroupBookingCb2ScRelOids(); - } else if(prefix === "mb") { - window.updateLocallyStoredMultiBookingCb2ScRelOids(); - } + const groupOid = $(item).attr("id").split("-")[2]; - const addScCbRelOidsUrl = prefix === "gb" ? "@Url.Action("AddScCbRelsToGroupBooking")" : "@Url.Action("AddScCbRelsToMultiBooking")"; - const reloadBookingFormUrl = prefix === "gb" ? "@Url.Action("ReloadGroupBookingForm")" : "@Url.Action("ReloadMultiBookingForm")"; + if(isSelected) { + selectedGroups.push(groupOid); + } - $(`#${prefix}-sc-cb-rel-tab-content`).load(addScCbRelOidsUrl, - { - relOids: oids, - groupOids: selectedGroups, - isGroupTabActive: isGroupTabActive - }, - () => { - $(`#${prefix}-selection-container`).load(reloadBookingFormUrl, () => { - if(prefix === "gb") { - window.updateCategory("@Model.BookingModePrefix", @Model.SelectedServiceCategoryOid); - window.updateServiceDescription("@Model.BookingModePrefix", @Model.SelectedServiceDescriptionOid); - window.updateEmployeeOids("@Model.BookingModePrefix", getGroupBookingEmployeeOids()); - window.updateStartDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-date-input`).val()); - window.updateStartTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-time-input`).val()); - window.updateEndDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-date-input`).val()); - window.updateEndTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-time-input`).val()); - window.updateDurationUnit("gb", ($("#gb-hours-minutes-dropdown-btn").text().trim() === "Stunden" ? "h" : "m")); - toggleGroupBookingForm(); - } else if(prefix === "mb") { - changeMultiBookingFormEnableState($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true); + $(`#${prefix}-group-checkbox-${groupOid}`).prop("checked", isSelected); + } + ); - window.updateCategory("@Model.BookingModePrefix", @Model.SelectedServiceCategoryOid); - window.updateServiceDescription("@Model.BookingModePrefix", @Model.SelectedServiceDescriptionOid); - window.updateEmployeeOids("@Model.BookingModePrefix", getMultiBookingEmployeeOids()); - window.updateStartDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-date-input`).val()); - window.updateStartTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-time-input`).val()); - window.updateEndDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-date-input`).val()); - window.updateEndTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-time-input`).val()); - window.updateDurationUnit("mb", ($("#mb-hours-minutes-dropdown-btn").text().trim() === "Stunden" ? "h" : "m")); - } + if(prefix === "gb") { + window.updateLocallyStoredGroupBookingCb2ScRelOids(); + } else if(prefix === "mb") { + window.updateLocallyStoredMultiBookingCb2ScRelOids(); + } - $("#goals-tree").load("@Url.Action("ReloadGoals")", () => { - $("#tree").load("@Url.Action("LoadUpToDateTextModules")", () => { logDebug("Textbausteine geladen"); }); - }); - }); - }); - } + const addScCbRelOidsUrl = prefix === "gb" ? "@Url.Action("AddScCbRelsToGroupBooking")" : "@Url.Action("AddScCbRelsToMultiBooking")"; + const reloadBookingFormUrl = prefix === "gb" ? "@Url.Action("ReloadGroupBookingForm")" : "@Url.Action("ReloadMultiBookingForm")"; - function updateGroupOfPeople(element, prefix) { - const item = $(element); - const groupOid = item.attr("id").split("-")[3]; - const isSelected = item.prop("checked"); + $(`#${prefix}-sc-cb-rel-tab-content`).load(addScCbRelOidsUrl, + { + relOids: oids, + groupOids: selectedGroups, + isGroupTabActive: isGroupTabActive + }, + () => { + $(`#${prefix}-selection-container`).load(reloadBookingFormUrl, () => { + if(prefix === "gb") { + window.updateCategory("@Model.BookingModePrefix", @Model.SelectedServiceCategoryOid); + window.updateServiceDescription("@Model.BookingModePrefix", @Model.SelectedServiceDescriptionOid); + window.updateEmployeeOids("@Model.BookingModePrefix", getGroupBookingEmployeeOids()); + window.updateStartDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-date-input`).val()); + window.updateStartTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-time-input`).val()); + window.updateEndDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-date-input`).val()); + window.updateEndTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-time-input`).val()); + window.updateDurationUnit("gb", ($("#gb-hours-minutes-dropdown-btn").text().trim() === "Stunden" ? "h" : "m")); + toggleGroupBookingForm(); + } else if(prefix === "mb") { + changeMultiBookingFormEnableState($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true); - const memberOids = commaSeparatedOid2Array($(`#${prefix}-i-${groupOid}`).val()); + window.updateCategory("@Model.BookingModePrefix", @Model.SelectedServiceCategoryOid); + window.updateServiceDescription("@Model.BookingModePrefix", @Model.SelectedServiceDescriptionOid); + window.updateEmployeeOids("@Model.BookingModePrefix", getMultiBookingEmployeeOids()); + window.updateStartDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-date-input`).val()); + window.updateStartTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-start-time-input`).val()); + window.updateEndDate("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-date-input`).val()); + window.updateEndTime("@Model.BookingModePrefix", $(`#@Model.BookingModePrefix-end-time-input`).val()); + window.updateDurationUnit("mb", ($("#mb-hours-minutes-dropdown-btn").text().trim() === "Stunden" ? "h" : "m")); + } - for(let i = 0; i < memberOids.length; i++) { - $(`#${prefix}-cb2sc-checkbox-${memberOids[i]}`).prop("checked", isSelected); - } + $("#goals-tree").load("@Url.Action("ReloadGoals")", () => { + $("#tree").load("@Url.Action("LoadUpToDateTextModules")", () => { logDebug("Textbausteine geladen"); }); + }); + }); + }); + } - updateScCbRelOids(prefix, true); - } + function updateGroupOfPeople(element, prefix) { + const item = $(element); + const groupOid = item.attr("id").split("-")[3]; + const isSelected = item.prop("checked"); + + const memberOids = commaSeparatedOid2Array($(`#${prefix}-i-${groupOid}`).val()); + + for(let i = 0; i < memberOids.length; i++) { + $(`#${prefix}-cb2sc-checkbox-${memberOids[i]}`).prop("checked", isSelected); + } + + updateScCbRelOids(prefix, true); + }
diff --git a/BeWoPlanerMobil/Views/Main/SingleSignaturePopupPartial.cshtml b/BeWoPlanerMobil/Views/Main/SingleSignaturePopupPartial.cshtml index 034472b95..4a1d65db3 100644 --- a/BeWoPlanerMobil/Views/Main/SingleSignaturePopupPartial.cshtml +++ b/BeWoPlanerMobil/Views/Main/SingleSignaturePopupPartial.cshtml @@ -1,8 +1,9 @@ -@model BeWoPlanerMobil.Models.MainModel +@using BeWoPlanerMobil.Util +@model BeWoPlanerMobil.Models.MainModel @@ -171,6 +189,8 @@ else var info = $"{nameAndDateOfBirth} | {supportConceptTimeSpan}"; +
+