123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using InABox.Core;
- namespace Comal.Classes
- {
- public class StockHoldingLookups : EntityLookup<StockHolding>
- {
- public override Columns<StockHolding> DefineColumns()
- {
- return base.DefineColumns()
- .Add(x => x.Location.Code)
- .Add(x => x.Location.Description)
- .Add(x => x.Style.Description)
- .Add(x => x.Job.JobNumber)
- .Add(x => x.Units)
- .Add(x => x.Dimensions.UnitSize);
- }
- private bool HasValue(Dictionary<string, object?> values, string key)
- {
- return values.ContainsKey(key) && values[key] != null && !string.IsNullOrWhiteSpace(values[key] as string);
- }
- public override string FormatLookup(Dictionary<string, object?> values, IEnumerable<string> exclude)
- {
- var result = new StringBuilder();
- result.AppendFormat("{0}: {1} @ {2} {3}", values["Location.Description"], values["Units"], values["UnitSize"],
- values["Product.Units.Description"]);
- if (HasValue(values, "Style.Description"))
- result.AppendFormat(" ({0})", values["Style.Description"]);
- if (HasValue(values, "Job.JobNumber"))
- result.AppendFormat(" - Job {0}", values["Job.JobNumber"]);
- return result.ToString();
- }
- public override Filter<StockHolding> DefineFilter()
- {
- return new Filter<StockHolding>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
- }
- public override SortOrder<StockHolding> DefineSortOrder()
- {
- return new SortOrder<StockHolding>(x => x.Location.Code).ThenBy(x => x.Job.JobNumber);
- }
- }
- }
|