diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user index 017954e4c..e244fab95 100644 --- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user +++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user @@ -8,7 +8,7 @@ - Release|Any CPU + Debug|Any CPU ShowAllFiles 600 MvcControllerEmptyScaffolder diff --git a/BeWoPlanerMobil/Controllers/MainController.cs b/BeWoPlanerMobil/Controllers/MainController.cs index fb5673140..3515a41b0 100644 --- a/BeWoPlanerMobil/Controllers/MainController.cs +++ b/BeWoPlanerMobil/Controllers/MainController.cs @@ -514,7 +514,7 @@ namespace BeWoPlanerMobil.Controllers var statisticPeriod = new StatisticPeriod(); - if(supportConceptStatistics.PeriodStatistics.Count > 1) + if(supportConceptStatistics.PeriodStatistics.Count == 0) { statisticPeriod.Header2Values.AddIfNotIn(new Header2Values("Bewilligungszeitraum:", "Gesamt")); statisticPeriod.Header2Values.AddIfNotIn(new Header2Values("Geleistet diese Woche/gesamt:", $"{provided:0.00}/{providedTotal:0.00}")); @@ -534,7 +534,16 @@ namespace BeWoPlanerMobil.Controllers approvedTotal = periodStatistics.MinutesApprovedTotal / 60; freePerWeekTotal = (approvedTotal - providedTotal); - var span = periodStatistics.SupportConceptApprovalPeriod.Span.ToDateString(); + var supportConceptApprovalPeriodSpan = periodStatistics.SupportConceptApprovalPeriod.Span; + var minVal = DateTime.Now.AddYears(-100); + var maxVal = DateTime.Now.AddYears(100); + + var sd = supportConceptApprovalPeriodSpan.StartDate; + var ed = supportConceptApprovalPeriodSpan.EndDate; + + var hasValidDates = sd > minVal && sd < maxVal; + + var span = hasValidDates ? $"{sd:dd.MM.yy} - {ed:dd.MM.yy}" : "-"; var serviceCategoryName = periodStatistics.SupportConceptApprovalPeriod.ServiceCategory != null ? periodStatistics.SupportConceptApprovalPeriod.ServiceCategory.Name + ":" : "Bewilligungszeitraum:"; statisticPeriod = new StatisticPeriod(); diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs index 450e16878..7b78a0936 100644 --- a/Data/Access/SearchDAO.cs +++ b/Data/Access/SearchDAO.cs @@ -4405,5 +4405,24 @@ namespace BeWo.Data.Access var q = Session.CreateSQLQuery("SELECT customeroid FROM customer2person where istfamilie = 1"); return q.List(); } + + public List FindActiveAppointmentsForCustomers(List customerOids, DateTime startDate, DateTime endDate) + { + var customerOidSqlString = string.Empty; + customerOids.DoForEach(oid => customerOidSqlString += $"{oid},"); + customerOidSqlString = customerOidSqlString.Trim(','); + + var sqlQuery = $" {nameof(BeWoEntityBase.Oid)} IN (SELECT newschappoid FROM customer2newschapp WHERE customeroid IN ({customerOidSqlString})) "; + var customerCriterion = Expression.Sql(sqlQuery); + + var between = CreateBetweenDateTimesCriterion(startDate, endDate, nameof(SchedulerAppointment.StartDate), nameof(SchedulerAppointment.EndDate)); + + var criteria = CreateCriteriaIsActive() + .Add(customerCriterion) + .Add(between) + .Add(Restrictions.Eq(nameof(SchedulerAppointment.IsTask), false)); + + return criteria.List().ToList(); + } } }