| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- using System;
- using System.Drawing;
- using System.Linq;
- using Comal.Classes;
- using InABox.Core;
- using System.Diagnostics.CodeAnalysis;
- namespace comal.timesheets
- {
-
- public class AssignmentDetailModel : DetailModel<AssignmentDetailModel, AssignmentDetailShell, Assignment>
- {
-
- public AssignmentDetailModel(IModelHost host, Func<Filter<Assignment>> filter, bool transient = false) : base(host, filter, transient)
- {
- }
- public AssignmentDetailModel(IModelHost host, Func<Filter<Assignment>> filter, [NotNull] string filename) : base(host, filter, filename)
- {
- }
-
- protected override void Initialize()
- {
- base.Initialize();
- Forms = new AssignmentFormShell[] { };
- }
- public AssignmentFormShell[] Forms { get; private set; }
- // public override Columns<Assignment> Columns => AssignmentDetailShell.Columns.Columns;
-
- public override void BeforeLoad(MultiQuery query)
- {
- base.BeforeLoad(query);
-
- query.Add<AssignmentForm>(
- new Filter<AssignmentForm>(x => x.Parent.ID).InQuery(Filter(),x =>x.ID),
- AssignmentFormShell.Columns.Columns
- );
- }
- public override void AfterLoad(MultiQuery query)
- {
- base.AfterLoad(query);
- Forms = query.Get<AssignmentForm>()
- .Rows
- .Select(row => new AssignmentFormShell() { Row = row, Parent = this })
- .ToArray();
- }
- public PointF Coordinates => new PointF(
- (float)(Item?.Longitude ?? 0),
- (float)(Item?.Latitude ?? 0)
- );
- }
- }
|