| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics.CodeAnalysis;
- using System.Linq;
- using Comal.Classes;
- using InABox.Core;
- using InABox.Mobile;
- using Xamarin.CommunityToolkit.ObjectModel;
- namespace PRS.Mobile
- {
- public class ActivityModel : CoreRepository<ActivityModel,ActivityShell, EmployeeActivity>
- {
- public ActivityModel(IModelHost host, Func<Filter<EmployeeActivity>> filter) : base(host, filter)
- {
- }
- protected override void Initialize()
- {
- base.Initialize();
- Forms = new ObservableRangeCollection<ActivityFormShell>();
- }
- public ObservableRangeCollection<ActivityFormShell> Forms { get; private set; }
-
- protected override void BeforeLoad(MultiQuery query)
- {
- base.BeforeLoad(query);
-
- query.Add<ActivityForm>(
- new Filter<ActivityForm>(x=>x.Form.Active).IsEqualTo(true)
- .And(x=>x.Activity.ID).InQuery(EffectiveFilter(), x=>x.Activity.ID),
- GetColumns<ActivityFormShell,ActivityForm>()
- );
- }
- protected override void AfterLoad(MultiQuery query)
- {
- base.AfterLoad(query);
-
- Forms.ReplaceRange(
- query.Get<ActivityForm>()
- .Rows
- .Select(x => new ActivityFormShell() { Row = x, Parent = this })
- .ToArray()
- );
- }
- }
- }
|