12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using InABox.Clients;
- using InABox.Core;
- namespace Comal.Classes
- {
- public abstract class BaseActivityLookupGenerator<T> : LookupGenerator<T>
- {
- public BaseActivityLookupGenerator(T[] items) : base(items)
- {
- AddColumn("Code", typeof(string));
- AddColumn("Description", typeof(string));
- AddColumn("Color", typeof(string));
- AddColumn("Charge.Chargeable", typeof(bool));
- }
- protected abstract Guid EmployeeID();
- protected virtual Filter<EmployeeActivity> CreateFilter()
- {
- return new Filter<EmployeeActivity>(x => x.Employee.ID).IsEqualTo(EmployeeID());
- }
- protected override void DoGenerateLookups()
- {
- Clear();
- var eacts = new Client<EmployeeActivity>().Query(
- CreateFilter(),
- new Columns<EmployeeActivity>(x => x.Activity.ID)
- .Add(x => x.Activity.Code)
- .Add(x => x.Activity.Description)
- .Add(x => x.Activity.Color)
- .Add(x=>x.Activity.Charge.Chargeable),
- new SortOrder<EmployeeActivity>(x => x.Activity.Code)
- );
- foreach (var row in eacts.Rows)
- AddValue(
- row.Get<EmployeeActivity, Guid>(col => col.Activity.ID),
- string.Format("{0}: {1}", row.Get<EmployeeActivity, string>(col => col.Activity.Code),
- row.Get<EmployeeActivity, string>(col => col.Activity.Description)),
- row.Get<EmployeeActivity, string>(col => col.Activity.Code),
- row.Get<EmployeeActivity, string>(col => col.Activity.Description),
- row.Get<EmployeeActivity, string>(col => col.Activity.Color),
- row.Get<EmployeeActivity, bool>(col => col.Activity.Charge.Chargeable)
- );
- }
- }
- }
|