Klienten meiner Teams werden im Kalender angezeigt, auch wenn man sonst keine sehen darf.
Nach der Änderung von Benutzergruppen in denen der angemeldete Mitarbeiter ist, wird der Cache geleert, um den Änderungen entsprechende Objekte aus der Datenbank neuzuladen.
This commit is contained in:
2023-03-06 15:56:50 +01:00
parent e06f7907b0
commit 4bd9dffd0b
3 changed files with 15 additions and 7 deletions

View File

@@ -11,6 +11,7 @@
xmlns:view="clr-namespace:BeWo.Scheduler.View"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup" xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
Loaded="NewSchedulerView_OnLoaded"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<ResourceDictionary>

View File

@@ -451,7 +451,7 @@ namespace BeWo.Scheduler.View
allEmployees = new List<CompactEmployeeDC> {BeWoApp.CompactLoggedOnEmployee};
}
var darfKlientenAnsichtSehen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View);
var darfKlientenAnsichtSehen = BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyTeams) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) || BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View);
var darfTermineAllerKlientenSehen = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAlleAnsehen);
if(darfKlientenAnsichtSehen)
@@ -482,7 +482,6 @@ namespace BeWo.Scheduler.View
private void ConstructObject()
{
IsEmployeeBrushVisible = true;
InitializeComponent();
@@ -1840,8 +1839,6 @@ namespace BeWo.Scheduler.View
}).ToList());
selectedAppointment.CF_EmployeeList(neu);
// ToDo: Ausnahme erstellen und als abgesagt speichern
if(selectedAppointment.Type == AppointmentType.Occurrence)
{
var id = selectedAppointment.RecurrenceInfo.Id.ToString();
@@ -2850,6 +2847,11 @@ namespace BeWo.Scheduler.View
}
}
}
private void NewSchedulerView_OnLoaded(object sender, RoutedEventArgs e)
{
ReloadVM(true);
}
}
#region Converter

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Windows;
using BeWo.Core.Service;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
@@ -73,6 +73,7 @@ namespace BeWo.View.Detail
}
}
private void ReloadViewModel(long pOID)
{
VMFactory.CreateUserGroupVMAsync(
@@ -82,9 +83,13 @@ namespace BeWo.View.Detail
{
ViewModel = cb;
if (BeWoApp.LoggedOnUser.UserGroups.Contains(cb.DataContract))
if(BeWoApp.LoggedOnUser.UserGroups.Contains(cb.DataContract))
{
ServiceFacade.DoUserServiceAsync(s => s.LoadUser(BeWoApp.LoggedOnUser.UserOid.Value), cb2 => BeWoApp.LoggedOnUser = cb2, true);
ServiceFacade.DoUserServiceAsync(s => s.LoadUser(BeWoApp.LoggedOnUser.UserOid.Value), cb2 =>
{
BeWoApp.LoggedOnUser = cb2;
Cache.GetInstance().ClearAll();
}, true);
}
}));
}