- Diverse Bugfixes Mok

- Kontaktdaten geändert bei LH Frankfurt Oder
This commit is contained in:
Christian
2025-07-04 00:30:36 +02:00
parent 3696ef50f5
commit f8b180975d
19 changed files with 183 additions and 118 deletions

View File

@@ -48,7 +48,7 @@
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>269</ApplicationRevision>
<ApplicationRevision>270</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>

View File

@@ -407,20 +407,18 @@ namespace BeWo.View.Navigation
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
//var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.Getvor());
//var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenForType(TableID.Customer));
//if (alleVorlagen.Count > 0)
//{
// var c = (CompactCustomerDC)((Hyperlink)sender).Tag;
var alleVorlagen = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenForType(TableID.Customer));
if (alleVorlagen.Count > 0)
{
var c = (CompactCustomerDC)((Hyperlink)sender).Tag;
DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, TableID.Customer, c.CustomerOid);
}
else
{
// DokumentViewHelper.OpenTemplateSelectionDialog(alleVorlagen, TableID.Customer, c.CustomerOid);
//}
//else
//{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
//var folderDCs = VMFactory.CreateFolderList(TableID.Vorlagentabelle, (long)vm.DocTreeItemOid);
//}

View File

@@ -2259,8 +2259,8 @@ namespace BeWo.ViewModel
ServiceCategoryDC firstCat = null;
if (_ServiceAccountings != null && allDict != null)
{
var globalServices = _ServiceAccountings.FindAll(sa => sa.ServiceDescription.ScopeType == ScopeTypeId.Global);
var individualServices = _ServiceAccountings.FindAll(sa => sa.ServiceDescription.ScopeType == ScopeTypeId.Individual);
var globalServices = _ServiceAccountings.FindAll(sa => sa.ServiceDescription.ScopeType == ScopeTypeId.Global && (!sa.ServiceDescription.Category.OhneHilfeplan.HasValue || sa.ServiceDescription.Category.OhneHilfeplan.Value != AccountingvisibilityType.Never));
var individualServices = _ServiceAccountings.FindAll(sa => sa.ServiceDescription.ScopeType == ScopeTypeId.Individual && (!sa.ServiceDescription.Category.OhneHilfeplan.HasValue || sa.ServiceDescription.Category.OhneHilfeplan.Value != AccountingvisibilityType.Never));
if (globalServices.Count > 0)
{

View File

@@ -88,6 +88,8 @@ namespace BeWoPlanerMobil.Controllers
//Load SupportConcepts
if (Model.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
{
//var test = OperationsService.GetAllActiveSupportConceptCostbearer(false, true, Model.LoggedInEmployee.EmployeeOid.Value);
Model.SupportConcepts = EmployeeService.GetActiveSupportConceptsForEmployee(Model.LoggedInEmployee.EmployeeOid, Model.SelectedSupportConceptFilter);
}
else
@@ -143,7 +145,7 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedConceptCostBearerRelations = new List<SupportConceptCostBearerRelDC>();
Model.MultiBookingSelectedConceptCostBearerRelations = new List<SupportConceptCostBearerRelDC>();
//Model.MultiBookingSelectedConceptCostBearerRelations = new List<SupportConceptCostBearerRelDC>();
Model.GoalRatingTypes = OperationsService.GetAllRatingTypes().OrderBy(o => o.Position).ToList();
@@ -206,6 +208,9 @@ namespace BeWoPlanerMobil.Controllers
Model.GroupBookingSelectedEmployees = Model.AllEmployees.Where(employee => Model.GroupBookingSelectedEmployeeOids.Contains(employee.EmployeeOid)).ToList();
Model.GroupBookingSelectedSupportConcepts = Model.SupportConcepts.Where(s => Model.GroupBookingSelectedSupportConceptOids.Contains(s.SupportConceptOid.Value)).ToList();
Model.MultiBookingSelectedEmployees = Model.AllEmployees.Where(employee => Model.MultiBookingSelectedEmployeeOids.Contains(employee.EmployeeOid)).ToList();
Model.MultiBookingSelectedSupportConcepts = Model.SupportConcepts.Where(s => Model.MultiBookingSelectedSupportConceptOids.Contains(s.SupportConceptOid.Value)).ToList();
//Model.Group = Model.SupportConceptListObjectsForGroupBooking.Where(s => Model.GroupBookingSelectedSupportConceptOids.Contains(s.SupportConceptOid.Value)).ToList();
if (Model.SelectedCostBearerSupportConceptOid.HasValue && Model.SelectedCostBearerSupportConceptOid != -1)
@@ -222,7 +227,10 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedGoals = Model.AllGoals.Where(g => Model.SelectedGoalOids.Contains(g.ValueListEntryOid.Value)).ToList();
}
if (Model.IsInEditingMode && Model.SelectedServiceRecordOid.HasValue)
{
Model.SelectedServiceRecord = Model.GetServiceRecord(Model.SelectedServiceRecordOid.Value);
}
}
private void LoadSupportConceptThings(long? cb2ScOid)
@@ -579,7 +587,10 @@ namespace BeWoPlanerMobil.Controllers
if(supportConcept is null)
{
Log.Info($"Hilfeplan von Bewilligung mit Oid {Model.SelectedCostBearerSupportConceptOid} nicht gefunden beim Laden der Ziele (LoadGoals).");
if (Model.SelectedCostBearerSupportConceptOid.Value > 0)
{
Log.Info($"Hilfeplan von Bewilligung mit Oid {Model.SelectedCostBearerSupportConceptOid} nicht gefunden beim Laden der Ziele (LoadGoals).");
}
return;
}
@@ -884,59 +895,67 @@ namespace BeWoPlanerMobil.Controllers
[Authorize]
public ActionResult SaveSignature(FormCollection formCollection)
{
var blob = formCollection[FormCollectionConstants.ServiceRecordSignatureBlobKey];
var date = DateTime.Parse(formCollection[FormCollectionConstants.ServiceRecordSignatureDateKey]);
long.TryParse(formCollection[FormCollectionConstants.ServiceRecordSignatureRecordOidKey], out var serviceRecordOid);
var serviceRecord = Model.ServiceRecords.FirstOrDefault(sr => sr.ServiceRecordOid.HasValue && sr.ServiceRecordOid.Value.Equals(serviceRecordOid));
if(serviceRecordOid < 1 || serviceRecord is null)
try
{
var message2Log = string.Empty;
var blob = formCollection[FormCollectionConstants.ServiceRecordSignatureBlobKey];
var date = DateTime.Parse(formCollection[FormCollectionConstants.ServiceRecordSignatureDateKey]);
long.TryParse(formCollection[FormCollectionConstants.ServiceRecordSignatureRecordOidKey], out var serviceRecordOid);
if(serviceRecordOid < 1)
var serviceRecord = Model.ServiceRecords.FirstOrDefault(sr => sr.ServiceRecordOid.HasValue && sr.ServiceRecordOid.Value.Equals(serviceRecordOid));
if (serviceRecordOid < 1 || serviceRecord is null)
{
message2Log = $"Einzelunterschrift konnte nicht gespeichert werden, da die ServiceRecordOid {serviceRecordOid} ungültig ist.";
}
else if(serviceRecord is null)
{
message2Log = "Einzelunterschrift konnte nicht gespeichert werden, da der Zeiterfassungseintrag im Model nicht gefunden werden konnte.";
}
var message2Log = string.Empty;
Log.Error(message2Log);
if (serviceRecordOid < 1)
{
message2Log = $"Einzelunterschrift konnte nicht gespeichert werden, da die ServiceRecordOid {serviceRecordOid} ungültig ist.";
}
else if (serviceRecord is null)
{
message2Log = "Einzelunterschrift konnte nicht gespeichert werden, da der Zeiterfassungseintrag im Model nicht gefunden werden konnte.";
}
TempData[TempDataConstants.ErrorMessageKey] = "Beim Speichern der Unterschrift ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator.";
return RedirectToActionPermanent("Main", "Main");
}
Log.Error(message2Log);
long? oid;
using(var signatureBitmap = SignatureUtils.Base64StringToBitmap(blob.Split(',')[1]))
{
var isValid = SignatureUtils.ValidateSignature(signatureBitmap);
if(!isValid)
{
TempData[TempDataConstants.ErrorMessageKey] = "Das Unterschriftenfeld darf nicht leer sein.";
TempData[TempDataConstants.ErrorMessageKey] = "Beim Speichern der Unterschrift ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator.";
return RedirectToActionPermanent("Main", "Main");
}
oid = OperationsService.InsertSignature(new SignatureDC
{
DataBild = blob,
Zeitstempel = date,
ServiceRecordOid = serviceRecordOid
}).SignatureOid;
}
long? oid;
if(oid is null)
{
TempData[TempDataConstants.ErrorMessageKey] = "Beim Speichern der Unterschrift ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator.";
using (var signatureBitmap = SignatureUtils.Base64StringToBitmap(blob.Split(',')[1]))
{
var isValid = SignatureUtils.ValidateSignature(signatureBitmap);
if (!isValid)
{
TempData[TempDataConstants.ErrorMessageKey] = "Das Unterschriftenfeld darf nicht leer sein.";
return RedirectToActionPermanent("Main", "Main");
}
oid = OperationsService.InsertSignature(new SignatureDC
{
DataBild = blob,
Zeitstempel = date,
ServiceRecordOid = serviceRecordOid
}).SignatureOid;
}
if (oid is null)
{
TempData[TempDataConstants.ErrorMessageKey] = "Beim Speichern der Unterschrift ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator.";
}
else
{
TempData[TempDataConstants.InfoMessageKey] = $"Die Unterschrift von {serviceRecord.Customer} für den Eintrag vom {MainModel.GetServiceRecordTimeHeader(serviceRecord, false)} wurde erfolgreich gespeichert.";
}
}
else
catch (Exception ex)
{
TempData[TempDataConstants.InfoMessageKey] = $"Die Unterschrift von {serviceRecord.Customer} für den Eintrag vom {MainModel.GetServiceRecordTimeHeader(serviceRecord, false)} wurde erfolgreich gespeichert.";
Log.Error("Fehler beim Speichern der Einzelunterschrift: " + ex.Message, ex);
}
return RedirectToActionPermanent("Main", "Main");
}
@@ -1091,7 +1110,7 @@ namespace BeWoPlanerMobil.Controllers
betrag = betragAsDecimal;
}
Log.Info($"CreateOrUpdateServiceRecord: datum:{collection[FormCollectionConstants.DateKey]}; start:{collection[FormCollectionConstants.StartKey]}; ende:{collection[FormCollectionConstants.EndKey]}; dauer:{collection[FormCollectionConstants.DurationKey]}; doku:{doku1}; aktion:{(Model.IsInEditingMode ? "Speichern" : "Anlegen")}");
Log.Info($"CreateOrUpdateServiceRecord: datum:{collection[FormCollectionConstants.DateKey]}; start:{collection[FormCollectionConstants.StartKey]}; ende:{collection[FormCollectionConstants.EndKey]}; dauer:{collection[FormCollectionConstants.DurationKey]}; aktion:{(Model.IsInEditingMode ? "Speichern" : "Anlegen")}");
if(string.IsNullOrEmpty(collection[FormCollectionConstants.DateKey]))
{
@@ -2689,7 +2708,7 @@ namespace BeWoPlanerMobil.Controllers
{
employeeOids.AddRangeIfElementsNotIn(Model.MultiBookingSelectedEmployees.Select(e => e.EmployeeOid));
var cb2ScOids = Model.MultiBookingSelectedConceptCostBearerRelations.Where(w => w.CostBearer2SupportConceptOid.HasValue).Select(s => s.CostBearer2SupportConceptOid.Value).ToList();
var cb2ScOids = Model.SelectedConceptCostBearerRelations.Where(w => w.CostBearer2SupportConceptOid.HasValue).Select(s => s.CostBearer2SupportConceptOid.Value).ToList();
var relations = CustomerService.GetSupportConceptCostBearerRelationsById(cb2ScOids);
foreach(var costBearer2SupportConceptRel in relations)
@@ -3236,7 +3255,8 @@ namespace BeWoPlanerMobil.Controllers
{
Model.Categories2Descriptions.Clear();
Model.MultiBookingSelectedConceptCostBearerRelations.Clear();
//Model.MultiBookingSelectedConceptCostBearerRelations.Clear();
Model.SelectedConceptCostBearerRelationOids.Clear();
Model.MultiBookingSelectedEmployeeOids.Clear();
Model.MultiBookingSelectedGroupOfPeopleOids.Clear();
Model.MultiBookingSelectedCostbearerRelOids.Clear();
@@ -3265,7 +3285,7 @@ namespace BeWoPlanerMobil.Controllers
ResetBookingMode(BookingMode.SingleBookingMode);
//LoadServiceCategoriesToModel(Model.SelectedCostBearerSupportConceptOid);
LoadServiceCategoriesToModel(Model.SelectedCostBearerSupportConceptOid);
return View("Main", Model);
}
@@ -4227,8 +4247,8 @@ namespace BeWoPlanerMobil.Controllers
var groupCostBearerRelations = CustomerService.GetSupportConceptCostBearerRelationsById(singleRels);
Model.MultiBookingSelectedConceptCostBearerRelations.Clear();
Model.MultiBookingSelectedConceptCostBearerRelations.AddRangeIfElementsNotIn(groupCostBearerRelations);
Model.SelectedConceptCostBearerRelations.Clear();
Model.SelectedConceptCostBearerRelations.AddRangeIfElementsNotIn(groupCostBearerRelations);
Model.MultiBookingSelectedSupportConcepts.AddRangeIfElementsNotIn(selectedSupportConcepts);
@@ -4254,12 +4274,16 @@ namespace BeWoPlanerMobil.Controllers
}
}
Model.SelectedConceptCostBearerRelationOids = Model.SelectedConceptCostBearerRelations.Select(s => s.CostBearer2SupportConceptOid.Value).ToList();
Model.MultiBookingSelectedSupportConceptOids = Model.MultiBookingSelectedSupportConcepts.Select(s => s.SupportConceptOid.Value).ToList();
return PartialView("MultiBookingScCbRelList", Model);
}
[Authorize]
public ActionResult RemoveSupportConceptCostbearerRelFromMultiBooking(string relOid)
{
//das funktioniert hier noch nicht mit dem letzten Eintrag
if(Model is null)
{
TempData[TempDataConstants.DoLogoutKey] = true;
@@ -4273,7 +4297,7 @@ namespace BeWoPlanerMobil.Controllers
var supportConcept2Remove = Model.MultiBookingSelectedSupportConcepts.FirstOrDefault(f => f.CostBearerRelations.Any(a => a.CostBearer2SupportConceptOid == supportConceptCostBearerRelationOid));
var relation2Remove = Model.MultiBookingSelectedConceptCostBearerRelations.FirstOrDefault(f => f.CostBearer2SupportConceptOid == supportConceptCostBearerRelationOid);
var relation2Remove = Model.SelectedConceptCostBearerRelations.FirstOrDefault(f => f.CostBearer2SupportConceptOid == supportConceptCostBearerRelationOid);
if(supportConcept2Remove?.SupportConceptOid.HasValue ?? false)
{
@@ -4294,7 +4318,7 @@ namespace BeWoPlanerMobil.Controllers
}
Model.MultiBookingSelectedSupportConcepts.Remove(supportConcept2Remove);
Model.MultiBookingSelectedConceptCostBearerRelations.Remove(relation2Remove);
Model.SelectedConceptCostBearerRelations.Remove(relation2Remove);
var selectedGroups = Model.GroupsOfPeople.Where(group => group.GroupOfPeopleOid.HasValue && Model.MultiBookingSelectedGroupOfPeopleOids.Contains(group.GroupOfPeopleOid.Value)).ToList();
@@ -4314,6 +4338,12 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedServiceDescription = firstServiceDescription;
}
Model.SelectedGoalOids = Model.SelectedGoals.Select(g => g.ValueListEntryOid.Value).ToList();
Model.MultiBookingSelectedSupportConceptOids = Model.MultiBookingSelectedSupportConcepts.Select(g => g.SupportConceptOid.Value).ToList();
Model.SelectedConceptCostBearerRelationOids = Model.SelectedConceptCostBearerRelations.Select(g => g.CostBearer2SupportConceptOid.Value).ToList();
Model.SelectedServiceCategoryOid = Model.SelectedServiceCategory?.ServiceCategoryOid;
Model.SelectedServiceDescriptionOid = Model.SelectedServiceDescription?.ServiceDescriptionOid;
return PartialView("MultiBookingSelectionPartial", Model);
}
@@ -4459,9 +4489,9 @@ namespace BeWoPlanerMobil.Controllers
var serviceRecordsToInsert = new List<ServiceRecordDC>();
if(Model.MultiBookingSelectedConceptCostBearerRelations.Any() && Model.MultiBookingSelectedEmployees.Any())
if(Model.SelectedConceptCostBearerRelations.Any() && Model.MultiBookingSelectedEmployees.Any())
{
foreach(var sc2cbRel in Model.MultiBookingSelectedConceptCostBearerRelations)
foreach(var sc2cbRel in Model.SelectedConceptCostBearerRelations)
{
var roundedDuration = dauer;
@@ -4561,7 +4591,7 @@ namespace BeWoPlanerMobil.Controllers
{
try
{
return JsonConvert.SerializeObject(Model.MultiBookingSelectedConceptCostBearerRelations.Any());
return JsonConvert.SerializeObject(Model.SelectedConceptCostBearerRelations.Any());
}
catch(Exception exception)
{

View File

@@ -631,12 +631,18 @@ namespace BeWoPlanerMobil.Models
{
get
{
if(SelectedDurationUnit == "Stunden")
if (SelectedServiceRecord != null)
{
return SelectedServiceRecord is null ? string.Empty : (SelectedServiceRecord.RoundedDuration / 60).ToString();
var duration = SelectedServiceRecord.RoundedDuration;
if (SelectedDurationUnit == "Stunden")
{
return Math.Round(duration / 60, 2, MidpointRounding.AwayFromZero).ToString();
}
return Math.Round(duration, 0, MidpointRounding.AwayFromZero).ToString();
}
return SelectedServiceRecord?.RoundedDuration.ToString() ?? string.Empty;
return string.Empty;
}
}
@@ -744,9 +750,9 @@ namespace BeWoPlanerMobil.Models
public List<long> MultiBookingSelectedGroupOfPeopleOids { get { return MainSessionModel.MultiBookingSelectedGroupOfPeopleOids; } set { MainSessionModel.MultiBookingSelectedGroupOfPeopleOids = value; } }
public List<SupportConceptCostBearerRelDC> MultiBookingSelectedConceptCostBearerRelations { get; set; }
//public List<SupportConceptCostBearerRelDC> MultiBookingSelectedConceptCostBearerRelations { get; set; }
public GroupBookingSelectionObject MultiBookingSelectionObject => new GroupBookingSelectionObject(MultiBookingSelectedConceptCostBearerRelations, MultiBookingSelectedGroupOfPeopleOids);
public GroupBookingSelectionObject MultiBookingSelectionObject => new GroupBookingSelectionObject(SelectedConceptCostBearerRelations, MultiBookingSelectedGroupOfPeopleOids);
public List<long> MultiBookingSelectedCostbearerRelOids { get { return MainSessionModel.MultiBookingSelectedCostbearerRelOids; } set { MainSessionModel.MultiBookingSelectedCostbearerRelOids = value; } }

View File

@@ -245,28 +245,40 @@ function calcDuration(idPrefix, isFormatChange, isInvokedByStart, isInvokedByEnd
let dauer = (end.getTime() - start.getTime()) / 60000;
if (duration > 0 && true === isInvokedByStart && start >= end) {
end = new Date(start.getTime() + (false === isInMin ? duration * 60 : duration) / 60000);
if (duration > 0 && start >= end) {
dauer = (false === isInMin ? duration * 60 : duration);
endTimeInput.val(getTimeAsString(end));
endDateInput.val(getDateAsString(end));
if (true === isInvokedByStart) {
end = new Date(start.getTime() + dauer * 60000);
dauer = (end.getTime() - start.getTime()) * 60000;
endTimeInput.val(getTimeAsString(end));
endDateInput.val(getDateAsString(end));
}
else if (true === isInvokedByEnd) {
end.setDate(end.getDate() + 1);
var test = new Date(2025, 1, 31);
test.setDate(test.getDate() + 1);
//start = new Date(end.getTime() - dauer * 60000);
endTimeInput.val(getTimeAsString(end));
endDateInput.val(getDateAsString(end));
//startTimeInput.val(getTimeAsString(start));
//startDateInput.val(getDateAsString(start));
}
dauer = (end.getTime() - start.getTime()) / 60000;
}
if (duration > 0 && true === isInvokedByEnd && start >= end) {
start = new Date(end.getTime() - (false === isInMin ? duration * 60 : duration) / 60000);
startTimeInput.val(getTimeAsString(start));
startDateInput.val(getDateAsString(start));
dauer = (end.getTime() - start.getTime()) * 60000;
if (false === isInMin) {
dauer /= 60.0;
}
durationInput.val(dauer);
} else if (true === isStartTimeValid && true === isDurationValid) {
var newDuration = duration;
if(true === isFormatChange) {
if (true === isFormatChange) {
let newDurationValue = true === isInMin ? duration * 60.0 : duration / 60.0;
if(isNaN(newDurationValue)) {
@@ -274,7 +286,11 @@ function calcDuration(idPrefix, isFormatChange, isInvokedByStart, isInvokedByEnd
} else {
durationInput.val(newDurationValue);
}
newDuration = newDurationValue;
if (true === isInMin)
{
newDuration = newDurationValue;
}
}
calcTimeWithDuration(startTimeValue, endTimeInput, start, newDuration, isFormatChange, isInMin);
@@ -318,7 +334,8 @@ function calcTimeWithDuration(timeAsString, timeElement, start, duration, isForm
start = combineDateAndTime(start, timeAsString);
const x = new Date(start.getTime() + duration * 60000);
timeElement.val(`${x.getMinutes().toString().padStart(2, "0")}:${x.getMinutes().toString().padStart(2, "0")}`);
var timeString = `${x.getHours().toString().padStart(2, "0")}:${x.getMinutes().toString().padStart(2, "0")}`;
timeElement.val(timeString);
}
function beiDaueraenderung(idPrefix) {
@@ -329,8 +346,8 @@ function beiDaueraenderung(idPrefix) {
const durationInput = $(`#${idPrefix}-duration-input`);
const startDateInput = $(`#${idPrefix}-start-date-input`);
const endDateInput = $(`#${idPrefix}-end-date-input`);
const isInMin = getIsZeiterfassungseinheitInMinutes();//hoursMinutesDropdown.length && hoursMinutesDropdown.text().replaceAll(/\s/g, "") === "Minuten" || 0 === hoursMinutesDropdown.length;
const isInMin = hoursMinutesDropdown.length === 0 || hoursMinutesDropdown.length > 0 && hoursMinutesDropdown.text().replaceAll(/\s/g, "") === "Minuten";
const startTimeCondition = startTimeInput.val().length > 0;
const endTimeCondition = endTimeInput.val().length > 0;
let duration = parseFloat(durationInput.val().replace(",", "."));

View File

@@ -183,7 +183,7 @@
$("#fehlerdetail-textarea").prop("disabled", false);
if ("@Model.IsInMultiBookingMode".toLowerCase() === "true") {
const isMultiBookingFormDisabled = "@Model.MultiBookingSelectedConceptCostBearerRelations.Any()".toLowerCase() === "false";
const isMultiBookingFormDisabled = "@Model.SelectedConceptCostBearerRelations.Any()".toLowerCase() === "false";
window.toggleMultiBookingForm(isMultiBookingFormDisabled);
}

View File

@@ -20,7 +20,7 @@
@{
var timeSpanColorClass2 = cb2Sc.IsAboutToExpire ? "text-bewo-is-about-to-expire" : cb2Sc.ExpiresInThreeMonthsOrLess ? "text-bewo-expires-in-three-months" : "text-dark";
var checkedValue = Model.MultiBookingSelectedConceptCostBearerRelations.Any(a => a.CostBearer2SupportConceptOid.Equals(cb2Sc.CostBearer2SupportConceptOid));
var checkedValue = Model.SelectedConceptCostBearerRelations.Any(a => a.CostBearer2SupportConceptOid.Equals(cb2Sc.CostBearer2SupportConceptOid));
}
<div class="custom-control custom-checkbox custom-control-inline">

View File

@@ -68,7 +68,7 @@
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/trimCanvas.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/resources-list-utils.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/list-utils.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/service-record-time-calc.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/service-record-time-calc.js?v=1.41")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/js-helper.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/logging.js?v=1.3")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/utils/MoKPasswordSecurity.js?v=1.3")"></script>

View File

@@ -30,7 +30,6 @@
<log4net debug="true">
<appender name="logFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="logs\mobilelog.txt" />
<param name="LogFileName" value="logs\mobilelog.txt" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="dd.MM.yyyy" />
@@ -39,19 +38,32 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="DebugSQL" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<logger name="NHibernnate.SQL" additivity="false">
<level value="ERROR" />
<appender-ref ref="DebugSQL" />
</logger>
<root>
<priority value="ERROR" />
<appender-ref ref="DebugSQL" />
<root>
<priority value="DEBUG" />
<appender-ref ref="logFile" />
</root>
<logger name="NHibernate">
<level value="WARN" />
</logger>
<logger name="NHibernate.Caches">
<level value="WARN" />
</logger>
<logger name="NHibernate.Engine.Cascade">
<level value="WARN" />
</logger>
<logger name="NHibernate.Loader.Loader">
<level value="WARN" />
</logger>
<logger name="NHibernate.SQL">
<level value="WARN" />
</logger>
<logger name="NHibernate.Search">
<level value="WARN" />
</logger>
</log4net>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
@@ -67,8 +79,8 @@
<add name="ASPxQueryBuilderDesignerHandlerModule" preCondition="integratedMode" verb="GET,POST" path="DXQB.axd" type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" /><remove name="OPTIONSVerbHandler" /><remove name="TRACEVerbHandler" /><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /></handlers>
<security>
<requestFiltering allowDoubleEscaping="true">
<requestLimits maxQueryString="32768" maxUrl="65535" />
<requestFiltering allowDoubleEscaping="true" >
<requestLimits maxQueryString="32768" maxUrl="65535" maxAllowedContentLength="20971520" />
</requestFiltering>
</security>
<staticContent>
@@ -231,7 +243,7 @@
</authentication>
<sessionState timeout="20" />
<identity impersonate="false" />
<httpRuntime maxQueryStringLength="32768" maxRequestLength="8192" maxUrlLength="65536" />
<httpRuntime maxQueryStringLength="32768" maxRequestLength="20480" maxUrlLength="65536" />
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@@ -272,6 +272,7 @@ namespace HphBersenbrueckFreizeitUndReisen
xrTableRowGesamt.Cells[(index * 2) + 8].Text = String.Format("{0:0.00}", gesamtEbhMonat); // 8
xrTableRowGesamt.Cells[(anzahlMonate * 2) + index + 9].Text = String.Format("{0:0.00}", gesamtFreiMonat); // 11
xrTableRowGesamt.Cells[(anzahlMonate * 3) + index + 11].Text = String.Format("{0:0.00}", gesamtFundAMonat); // 14
xrTableRowGesamt.Cells[(anzahlMonate * 4) + index + 13].Text = String.Format("{0:0.00}", gesamtTagesfahrtMonat);
}
index++;
datum = datum.AddMonths(1);
@@ -280,6 +281,7 @@ namespace HphBersenbrueckFreizeitUndReisen
xrTableRowGesamt.Cells[(anzahlMonate * 2) + 8].Text = String.Format("{0:c}", preisGesamtEb); // 10
xrTableRowGesamt.Cells[(anzahlMonate * 3) + 10].Text = String.Format("{0:c}", preisGesamtFrei); // 13
xrTableRowGesamt.Cells[(anzahlMonate * 4) + 12].Text = String.Format("{0:c}", preisGesamtFundA); // 16
xrTableRowGesamt.Cells[(anzahlMonate * 5) + 14].Text = String.Format("{0:c}", preisGesamtTagesfahrt); // 17
xrTableRowGesamt.Cells[(anzahlMonate * 5) + 15].Text = String.Format("{0:c}", preisGesamtEbFreiFundA); // 17
xrTableRowGesamt.Cells[(anzahlMonate * 5) + 16].Text = String.Format("{0:0.##}", anzUebernachtungenGesamt); // 18
xrTableRowGesamt.Cells[(anzahlMonate * 5) + 17].Text = String.Format("{0:c}", preisGesamtKurzpflege); // 19

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long