|
@@ -12,7 +12,7 @@ public partial class RepositoryLayer : ObservableObject
|
|
{
|
|
{
|
|
[ObservableProperty] private IModelHost _data;
|
|
[ObservableProperty] private IModelHost _data;
|
|
|
|
|
|
- public string DefaultCacheFileName<T>(Guid? id = null) where T : IShell
|
|
|
|
|
|
+ private string DefaultCacheFileName<T>(Guid? id = null) where T : IShell
|
|
{
|
|
{
|
|
return id == null
|
|
return id == null
|
|
? typeof(T).Name.ToLower()
|
|
? typeof(T).Name.ToLower()
|
|
@@ -24,7 +24,7 @@ public partial class RepositoryLayer : ObservableObject
|
|
{
|
|
{
|
|
Data = data;
|
|
Data = data;
|
|
|
|
|
|
- Me = new EmployeeModel(Data,
|
|
|
|
|
|
+ MeModel = new EmployeeModel(Data,
|
|
() => new Filter<Employee>(x => x.UserLink.ID).IsEqualTo(ClientFactory.UserGuid));
|
|
() => new Filter<Employee>(x => x.UserLink.ID).IsEqualTo(ClientFactory.UserGuid));
|
|
|
|
|
|
MyAlerts = new EmployeeAlertModel(Data,
|
|
MyAlerts = new EmployeeAlertModel(Data,
|
|
@@ -38,12 +38,21 @@ public partial class RepositoryLayer : ObservableObject
|
|
() => new Filter<EmployeeQualification>(x => x.Employee.UserLink.ID).IsEqualTo(ClientFactory.UserGuid));
|
|
() => new Filter<EmployeeQualification>(x => x.Employee.UserLink.ID).IsEqualTo(ClientFactory.UserGuid));
|
|
|
|
|
|
Jobs = new JobModel(Data,
|
|
Jobs = new JobModel(Data,
|
|
- () => new Filter<Job>().All(),
|
|
|
|
|
|
+ () => JobFilter(),
|
|
() => DefaultCacheFileName<JobShell>()
|
|
() => DefaultCacheFileName<JobShell>()
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
- public EmployeeModel Me { get; private set; }
|
|
|
|
|
|
+ public EmployeeModel MeModel { get; private set; }
|
|
|
|
+
|
|
|
|
+ public EmployeeShell? Me
|
|
|
|
+ {
|
|
|
|
+ get
|
|
|
|
+ {
|
|
|
|
+ MeModel.Refresh(false);
|
|
|
|
+ return MeModel.FirstOrDefault();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
public EmployeeAlertModel MyAlerts { get; private set; }
|
|
public EmployeeAlertModel MyAlerts { get; private set; }
|
|
|
|
|
|
@@ -53,4 +62,15 @@ public partial class RepositoryLayer : ObservableObject
|
|
|
|
|
|
public JobModel Jobs { get; private set; }
|
|
public JobModel Jobs { get; private set; }
|
|
|
|
|
|
|
|
+ public Filter<Job> JobFilter()
|
|
|
|
+ {
|
|
|
|
+ return Security.IsAllowed<CanViewAllJobs>()
|
|
|
|
+ ? new Filter<Job>(X => X.Completed).IsEqualTo(DateTime.MinValue)
|
|
|
|
+ .And(x => x.JobStatus.Active).IsEqualTo(true)
|
|
|
|
+ : new Filter<Job>(X => X.Completed).IsEqualTo(DateTime.MinValue)
|
|
|
|
+ .And(x => x.JobStatus.Active).IsEqualTo(true)
|
|
|
|
+ .And(x => x.ID).InQuery(
|
|
|
|
+ new Filter<JobEmployee>(x => x.EmployeeLink.ID).IsEqualTo(Me.ID),
|
|
|
|
+ x => x.JobLink.ID);
|
|
|
|
+ }
|
|
}
|
|
}
|