diff --git a/BeWoPlanerMobil/Controllers/CustomerController.cs b/BeWoPlanerMobil/Controllers/CustomerController.cs index b3cd35f9c..e91b3bacd 100644 --- a/BeWoPlanerMobil/Controllers/CustomerController.cs +++ b/BeWoPlanerMobil/Controllers/CustomerController.cs @@ -458,7 +458,7 @@ namespace BeWoPlanerMobil.Controllers } [Authorize] - public string UnselectBargeldkasse() + public string DeselectBargeldkasse() { if(Model is null) { @@ -471,60 +471,14 @@ namespace BeWoPlanerMobil.Controllers return LeerzeichenFuerGetMethoden; } - - [Authorize] - public string GetBargeldkassenName(long oid) - { - if(Model is null) - { - Logout(); - return LeerzeichenFuerGetMethoden; - } - - var bargeldkassenname = Model.Bargeldkassen.FirstOrDefault(bargeldkasse => bargeldkasse.BargeldkassenOid.HasValue && bargeldkasse.BargeldkassenOid.Value.Equals(oid))?.Kassenname; - - return bargeldkassenname ?? LeerzeichenFuerGetMethoden; - } - [Authorize] public ActionResult LoadFormPartial() { + Model.SelectedBargeldkasse = null; + return PartialView("CustomerBargeldkassenFormPartial", Model); } - - - - - - - - // ToDo: Erstmal durch Get - [Authorize] - public string SaveBargeldkassenName(string newName, long oid) - { - if(Model is null) - { - Logout(); - return LeerzeichenFuerGetMethoden; - } - - var bargeldkasse = Model.Bargeldkassen.FirstOrDefault(bk => bk.BargeldkassenOid.HasValue && bk.BargeldkassenOid.Value.Equals(oid)); - - if(bargeldkasse is null || string.IsNullOrWhiteSpace(newName) || newName.Equals(bargeldkasse.Kassenname) || Model.SelectedCustomerOid is null) - { - return LeerzeichenFuerGetMethoden; - } - - bargeldkasse.Kassenname = newName; - - OperationsService.UpdateBargeldkasse(bargeldkasse); - - Model.Bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, Model.SelectedCustomerOid.Value); - - return LeerzeichenFuerGetMethoden; - } - [Authorize] [HttpPost] public ActionResult DeleteBargeldkasse(FormCollection formCollection) @@ -550,9 +504,6 @@ namespace BeWoPlanerMobil.Controllers return RedirectToActionPermanent("Customer"); } - - - [Authorize] [HttpPost] public ActionResult CreateOrUpdateBargeldkasse(FormCollection formCollection) @@ -565,18 +516,26 @@ namespace BeWoPlanerMobil.Controllers var name = formCollection["bargeldkassenname"]; var rawAnfangsbestand = formCollection["bargeldkassenanfangsbestand"]; - var isSuccessful = decimal.TryParse(rawAnfangsbestand, out var anfangsbestand); + decimal.TryParse(rawAnfangsbestand, out var anfangsbestand); if(Model.SelectedBargeldkasse is null) { var rawAuszahlungsintervall = formCollection["auszahlungsintervall-select"]; + var auszahlungsintervall = int.TryParse(rawAuszahlungsintervall, out var parsedAuszahlungsintervall) ? (Auszahlungsintervall)parsedAuszahlungsintervall : Auszahlungsintervall.Kein; + var newBargeldkasse = new BargeldkassenDC { Anfangsbestand = anfangsbestand, - Kassenname = name + Kassenname = name, + Auszahlungsintervall = auszahlungsintervall, + ObjectOid = Model.SelectedCustomerOid, + ObjectTid = TableID.Customer }; - + + OperationsService.InsertNewBargeldkasse(newBargeldkasse); + + LoadCustomerToModel(Model.SelectedCustomerOid); } else { @@ -590,6 +549,8 @@ namespace BeWoPlanerMobil.Controllers bargeldkasse.Anfangsbestand = anfangsbestand; OperationsService.UpdateBargeldkasse(bargeldkasse); + + LoadCustomerToModel(Model.SelectedCustomerOid); } Model.SelectedBargeldkasse = null; diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/group-booking.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/group-booking.js index 9d13a05f5..6453af84f 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/group-booking.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/group-booking.js @@ -35,47 +35,67 @@ } function updateGroupBookingCb2ScList(result) { - var list = $("#selected-cb2sc-list"); + try { + var list = $("#selected-cb2sc-list"); - if(isEmptyOrSpaces(result) || result === "SessionTimeout") { - window.location.href = getRedirectLink(); - return; + if(isEmptyOrSpaces(result) || result === "SessionTimeout") { + window.location.href = getRedirectLink(); + return; + } + + var groupBookingSelectionObject = $.parseJSON(result); + + var resultList = groupBookingSelectionObject.SelectedRelations; + + list.empty(); + + $.each(resultList, + function (index, customListItem) { + var html = '
' + customListItem.Text1 + '
' + customListItem.Text2 + '
'; + + list.append(html); + }); + + updateGroupBookingGroupList(groupBookingSelectionObject); + } catch (error) { + if (stringContainsDoctype(result)) { + showErrorPopup(error, result); + } else { + showErrorPopup(error); + } } - - var groupBookingSelectionObject = $.parseJSON(result); - - var resultList = groupBookingSelectionObject.SelectedRelations; - - list.empty(); - - $.each(resultList, - function(index, customListItem) { - var html = '
' + customListItem.Text1 + '
' + customListItem.Text2 + '
'; - - list.append(html); - }); - - updateGroupBookingGroupList(groupBookingSelectionObject); } function removeCb2ScRelation(relOid) { - $("#relation-item-" + relOid).remove(); + try { + $("#relation-item-" + relOid).remove(); - if($("#cb2sc-checkbox-"+ relOid).length) { - $("#cb2sc-checkbox-" + relOid).prop("checked", false); - } + if($("#cb2sc-checkbox-" + relOid).length) { + $("#cb2sc-checkbox-" + relOid).prop("checked", false); + } - if($("#selected-cb2sc-list").find(".list-group-item").length === 0) { - deactivateGroupBookingForm(); + if($("#selected-cb2sc-list").find(".list-group-item").length === 0) { + deactivateGroupBookingForm(); - $("#group-booking-supportconcepts input:checked").each(function() { - $(this).prop("checked", false); + $("#group-booking-supportconcepts input:checked").each(function () { + $(this).prop("checked", false); + }); + } + + $.get(getRemoveCb2ScRelFromGroupBookingUrl(), {pRelOid: relOid}).done(function (result) { + try { + updateGroupBookingGroupList($.parseJSON(result)); + } catch (error) { + if(stringContainsDoctype(result)) { + showErrorPopup(error, result); + } else { + showErrorPopup(error); + } + } }); + } catch (error) { + showErrorPopup(error); } - - $.get(getRemoveCb2ScRelFromGroupBookingUrl(), { pRelOid: relOid }).done(function(result) { - updateGroupBookingGroupList($.parseJSON(result)); - }); } function updateGroupBookingGroupList(groupBookingSelectionObject) { diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js index 51246abab..df1a631cd 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js @@ -284,7 +284,7 @@ function cardHeaderClick(chevronId, cardBodyId) { function cardHeaderClick2(element, callback) { try { - if (element === undefined || element === null) { + if(element === undefined || element === null) { return; } @@ -485,4 +485,20 @@ function showMessagePopupWithHtmlAndCallback(title, messageAsHtml, hasCloseButto keyboard: false } ); +} + +function stringContainsDoctype(strValue) { + return strValue !== undefined && strValue !== null && (typeof strValue === "string" || strValue instanceof String) && strValue.length > 0 && strValue.includes("DOCTYPE"); +} + +function parseJason(jsonToParse) { + try { + return $.parseJSON(jsonToParse); + } catch (error) { + if(stringContainsDoctype(jsonResult)) { + showErrorPopup(error, jsonResult); + } else { + showErrorPopup(error); + } + } } \ No newline at end of file diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js index 5c45ddb89..d0a49efe5 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js @@ -77,20 +77,20 @@ function initializeSignature(selectedServiceRecordOid) { return; } - var serviceRecord2Monatsunterschrift = $.parseJSON(jsonServiceRecord2Monatsunterschrift); + var serviceRecord2Monatsunterschrift = parseJason(jsonServiceRecord2Monatsunterschrift); var hasMonatsunterschrift = serviceRecord2Monatsunterschrift.HasMonatsunterschrift; var record = serviceRecord2Monatsunterschrift.ServiceRecord; - var startDate = record.Start[18] === "1" ? "" : record.Start.slice(11, 16); - var endDate = record.End[18] === "1" ? "" : record.End.slice(11, 16); - var jahr = record.Start.slice(0, 4); - var monat = record.Start.slice(5, 7); - var tag = record.Start.slice(8, 10); - var datum = tag + "." + monat + "." + jahr; + var startDate = record.Start[18] === "1" ? "" : record.Start.slice(11, 16); + var endDate = record.End[18] === "1" ? "" : record.End.slice(11, 16); + var jahr = record.Start.slice(0, 4); + var monat = record.Start.slice(5, 7); + var tag = record.Start.slice(8, 10); + var datum = tag + "." + monat + "." + jahr; var serviceDescriptionName = record.ServiceDescription.Name; - var serviceCategoryName = record.ServiceDescription.Category.Name; + var serviceCategoryName = record.ServiceDescription.Category.Name; var nameAndDateOfBirth = $("#selectedSupportConceptCustomerInfo").text(); var supportConceptInterval = $("#selectedSupportConceptInfo").text(); @@ -148,8 +148,8 @@ function initializeSignature(selectedServiceRecordOid) { $.post(url, { blob: dataUrl, timeStamp: formattedDate, serviceRecordOid: selectedServiceRecordOid }).done(function(json) { hideSpinner(); - - if(isEmptyOrSpaces(json)) { + + if(json === "1") { $("#signature-container").removeClass("d-block"); $("#main-container, #checkbox-container").show(); showMessagePopupWithCallback("Unterschrift", "Die Unterschrift wurde erfolgreich gespeichert.", function() { @@ -158,7 +158,9 @@ function initializeSignature(selectedServiceRecordOid) { location.reload(); }, true); } else { - showMessagePopup("Fehler", json); + var errorMessage = json === "0" ? "Es ist ein Fehler beim Speichern der Unterschrift aufgetreten. Bitte wenden Sie sich an Ihren Administrator." : json; + + showMessagePopup("Fehler", errorMessage); $("#signature-alert").addClass("d-none"); signaturePad.clear(); } diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js index 4d0e7b468..0e2a3249d 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js @@ -18,7 +18,7 @@ function getSupportConceptStatistics(cb2ScRRelOid) { $.get(url, { oid: cb2ScRRelOid }).done(function(jsonObject) { try { - var scStatistics = $.parseJSON(jsonObject); + var scStatistics = parseJason(jsonObject); $("#period-statistics-container").empty(); diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js index 6a13cebbb..5072a40d8 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js @@ -32,7 +32,7 @@ function updateSelectedList(jsonResult, listId, itemIdPrefix, isCustomer, popupI return; } - var listItems = $.parseJSON(jsonResult); + var listItems = parseJason(jsonResult); var list = $("#" + listId); list.empty(); diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js index 9485b6abe..d3a1e4943 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js @@ -29,38 +29,43 @@ } function updateSelectedResourceList(jsonResult, listId, listItemIdPrefix, popupId, checkBoxIdPrefix, url, filterAppointmentsUrl, selectAllCheckBoxId) { - var list = $("#" + listId); - - list.empty(); + try { + var list = $("#" + listId); - if(isEmptyOrSpaces(jsonResult)) { - return; - } + list.empty(); - var resourceList = $.parseJSON(jsonResult); - - $.each(resourceList, function(index, customListItem) { - var listItemId = listItemIdPrefix + "" + customListItem.ResourceOid; - var checkBoxId = "resource-" + customListItem.ResourceOid + "" + checkBoxIdPrefix + ""; - - // Liste mit den ausgewählten Ressourcen - var html = - "
" + - "
" + + if(isEmptyOrSpaces(jsonResult)) { + return; + } + + var resourceList = parseJason(jsonResult); + + $.each(resourceList, function (index, customListItem) { + var listItemId = listItemIdPrefix + "" + customListItem.ResourceOid; + var checkBoxId = "resource-" + customListItem.ResourceOid + "" + checkBoxIdPrefix + ""; + + // Liste mit den ausgewählten Ressourcen + var html = + "
" + + "
" + "
" + - "
" + - "" + - "
" + - "

" + customListItem.Name + "

" + - "

" + - "" + - "
" + + "
" + + "" + "
" + - "
" + - "
"; + "

" + customListItem.Name + "

" + + "

" + + "" + + "
" + + "
" + + "
" + + "
"; - list.append(html); - }); + list.append(html); + }); + + } catch (error) { + showErrorPopup(error); + } } function removeSelectedResource(listItemId, checkBoxId, popupId, url, listId, fetchAppointmentsUrl, listItemIdPrefix, checkBoxIdPrefix, selectAllCheckBoxId) { diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js index bd71397ef..5b2c74618 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js @@ -131,7 +131,7 @@ function deleteServiceRecord(serviceRecordOid) { } else { // Meldungen hideSpinner(); - var validationResult = $.parseJSON(result); + var validationResult = parseJason(result); if(validationResult.Message === null) { $("#oidHolder").val(serviceRecordOid); @@ -229,7 +229,7 @@ function validateForm(form, prefix) { var [doku1, doku2, doku3, doku4, doku5] = getDokuTexte(); $.get(getCheckRightsUrl(), {von: start.format("DD.MM.YYYY"), bis: end.format("DD.MM.YYYY"), inEditMode: isInEditingMode, dateString: start.format("DD.MM.YYYY"), startString: start.format("HH:mm"), endString: end.format("HH:mm"), doku1, doku2, doku3, doku4, doku5 }).done(function (result) { - var message = $.parseJSON(result); + var message = parseJason(result); if(message.Message === null) { form.submit(); @@ -322,7 +322,7 @@ function rateGoal(ratingTypeOid) { $.get(url, { ratingTypeOid: ratingTypeOid, goalOid: goalOid }).done( function (result) { - var obj = $.parseJSON(result); + var obj = parseJason(result); $("#goal-rating-" + goalOid).text(obj.RatingName); diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js index 865eb94c8..02aaab2bf 100644 --- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js +++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js @@ -138,7 +138,7 @@ function validateAppointmentForm() { } // ALT! - //var unavailableResources = $.parseJSON(result); + //var unavailableResources = parseJason(result); //var resourceCount = 0; //var names = ""; @@ -191,7 +191,7 @@ function insertOrUpdateAppointment(formattedStartDate, formattedEndDate, formatt endTimeRaw: formattedEndTime } ).done(function(result) { - var isOverlapping = $.parseJSON(result); + var isOverlapping = parseJason(result); if(isOverlapping === true) { hideSpinner(); diff --git a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml index 12ace523f..32aac8bed 100644 --- a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml +++ b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml @@ -64,7 +64,7 @@ function deselectBargeldkasse() { try { - $.get("@Url.Action("UnselectBargeldkasse")"); + $.get("@Url.Action("DeselectBargeldkasse")"); } catch(error) { showErrorPopup(error); } @@ -73,14 +73,11 @@ function editBtnClickTest(bargeldkassenOid, bargeldkassenname) { try { event.stopPropagation(); - - $.get("@Url.Action("SelectBargeldkasse")", {oid: bargeldkassenOid}).success(function () { - $("#customer-absence-time-modal-body").load("@Url.Action("LoadFormPartial")", function() { + $("#customer-bargeldkassen-modal-body").load("@Url.Action("LoadFormPartial")", function() { $("#customer-bargeldkassen-form-popup-title").text(bargeldkassenname + " bearbeiten"); $("#customer-bargeldkassen-form-popup").modal("show"); calcBargeldkassenFormPrependWidth(); }); - }); } catch(error) { showErrorPopup(error); } @@ -90,7 +87,7 @@ try { event.stopPropagation(); - showMessagePopupWithHtmlAndCallback("Bargeldkasse löschen", "Möchten Sie die Bargeldkasse \"" + bargeldkassenname + "\" wirklich löschen?", function () { + showMessagePopupWithHtmlAndCallback("Bargeldkasse löschen", "Möchten Sie die Bargeldkasse \"" + bargeldkassenname + "\" wirklich löschen?", function () { showSpinner(); $("#bk-to-delete-oid").val(bargeldkassenOid); document.getElementById("bargeldkassendeleteform").submit(); @@ -102,20 +99,24 @@ function addNewBargeldkasse() { try { - $.get("@Url.Action("UnselectBargeldkasse")").success(function () { - $("#customer-absence-time-modal-body").load("@Url.Action("LoadFormPartial")", function() { - $("#customer-bargeldkassen-form-popup-title").text(""); + $("#customer-bargeldkassen-modal-body").load("@Url.Action("LoadFormPartial")", + function () { + $("#customer-bargeldkassen-form-popup-title").text("Bargeldkasse hinzufügen"); $("#customer-bargeldkassen-form-popup").modal("show"); calcBargeldkassenFormPrependWidth(); }); - }); } catch(error) { showErrorPopup(error); } } - +
+
+ +
+
+
@foreach(var bargeldkasse in Model.Bargeldkassen) @@ -131,61 +132,72 @@ @bargeldkasse.Kassenname
-
- - -
-
- @{ +
+
+ @{ - var anfangsbestand = bargeldkasse.Anfangsbestand?.ToString("0.00 €") ?? "0,00 €"; + var anfangsbestand = bargeldkasse.Anfangsbestand?.ToString("0.00 €") ?? "0,00 €"; - var einzahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Einzahlung).Sum(bkt => bkt.Betrag) ?? 0m; - var auszahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Auszahlung).Sum(bkt => bkt.Betrag) ?? 0m; + var einzahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Einzahlung).Sum(bkt => bkt.Betrag) ?? 0m; + var auszahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Auszahlung).Sum(bkt => bkt.Betrag) ?? 0m; - var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €"); - } - -
- - - - - - - - - - - - - - - - - - - -
- Kassenbestand: - - @kassenbestand -
- Anfangsbestand: - - @anfangsbestand -
- Startdatum: - -
- Enddatum: - -
+ var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €"); + } + +
+
+ +
+
+ +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +
+ Kassenbestand: + + @kassenbestand +
+ Anfangsbestand: + + @anfangsbestand +
+ Startdatum: + +
+ Enddatum: + +
+
@@ -216,8 +228,8 @@
-