| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Comal.Classes;
- using comal.timesheets;
- using InABox.Core;
- namespace comal.timesheets
- {
- public class AssignmentEditDataModel : SingleDataModel<Assignment, AssignmentEditDataModelItem>
- {
- public List<KeyValuePair<Guid, String>> Activities { get; private set; }
- public override Columns<Assignment> Columns => new Columns<Assignment>(x => x.ID)
- .Add(x => x.Title)
- .Add(x => x.Description)
- .Add(x => x.Start)
- .Add(x => x.Finish)
- .Add(c => c.JobLink.ID)
- .Add(c => c.JobLink.JobNumber)
- .Add(c => c.JobLink.Name)
- .Add(c => c.ActivityLink.ID)
- .Add(c => c.ActivityLink.Code)
- .Add(c => c.ActivityLink.Description);
- public override void BeforeLoad(MultiQuery query, Guid id)
- {
- base.BeforeLoad(query, id);
- query.Add<Activity>(
- new Filter<Activity>(x => x.ID).InQuery<EmployeeActivity>(
- new Filter<EmployeeActivity>(x => x.Employee.ID).IsEqualTo(App.Data.Employee.ID),
- x => x.Activity.ID),
- LookupFactory.DefineColumns<Activity>()
- );
- }
- public override void AfterLoad(MultiQuery query, Guid id)
- {
- base.AfterLoad(query, id);
- Activities = query.Get<Activity>().ToDictionary<Activity, Guid, String>(
- x => x.ID,
- (row) => String.Format("{0}: {1}", row.Get<Activity, String>(c => c.Code),
- row.Get<Activity, String>(c => c.Description)),
- x => x.Code
- ).ToList();
- }
- }
- }
|