12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using System.Linq;
- using InABox.Core;
- namespace Comal.Classes
- {
-
- public class ManagedProblem : Problem
- {
- [EditorSequence(2)]
- [Caption("Assigned To", IncludePath = false)]
- public EmployeeLookupLink AssignedTo { get; set; }
- }
- public interface IManagedProblemSummary
- {
- Guid ID { get; set; }
-
- string Type { get; set; }
-
- string Code { get; set; }
-
- string Description { get; set; }
-
- ManagedProblem Problem { get; set; }
-
- }
-
- public class ManagedProblemSummaryUnionGenerator : AutoEntityUnionGenerator<IManagedProblemSummary>
- {
- private AutoEntityUnionTable<IManagedProblemSummary,T> AddTable<T>() where T : IProblems<ManagedProblem>
- {
- return AddTable<T>(new Filter<T>(x => x.Problem.Notes).IsNotEqualTo(null).And(x => x.Problem.Resolved)
- .IsEqualTo(DateTime.MinValue))
- .AddConstant<String>(x => x.Type, typeof(T).Name.Split('.').Last());
- }
-
- protected override void Configure()
- {
- AddTable<Bill>()
- .AliasField<String>(x=>x.Code, x=>x.Number)
- .AliasField<String>(x=>x.Description, x=>x.SupplierLink.Name);
-
- AddTable<Activity>();
-
- AddTable<ProductStyle>();
-
- AddTable<Product>()
- .AliasField(x=>x.Description, x=>x.Name);
-
- AddTable<CostSheet>();
- AddTable<Kit>();
-
- AddTable<JobBillOfMaterialsItem>()
- .AliasField(x => x.Code, "%s / %s", x => x.BillOfMaterials.Job.JobNumber, x => x.BillOfMaterials.Number)
- .AliasField(x => x.Description, "%s / %s", x => x.Product.Code, x => x.Product.Name);
-
- AddTable<JobRequisitionItem>()
- .AliasField(x=>x.Code, "%s / %s", x=>x.Requisition.Job.JobNumber, x=>x.Requisition.Number)
- .AliasField(x=>x.Description, "%s / %s", x=>x.Product.Code, x=>x.Product.Name);
-
- AddTable<ManufacturingPacket>()
- .AliasField<String>(x=>x.Code, x=>x.Serial)
- .AliasField<String>(x=>x.Description, x=>x.Title);
-
- AddTable<DataEntryDocument>()
- .AliasField<String>(x=>x.Code, x=>x.Tag.Name)
- .AliasField<String>(x=>x.Description, x=>x.Note);
-
- }
- public override bool Distinct => false;
- public override Column<IManagedProblemSummary>[] IDColumns => new Column<IManagedProblemSummary>[]
- {
- new Column<IManagedProblemSummary>(x => x.ID)
- };
- }
- [UserTracking(typeof(Job))]
- [AutoEntity(typeof(ManagedProblemSummaryUnionGenerator))]
- public class Problems : Entity, IRemotable, IPersistent, IManagedProblemSummary, ILicense<CoreLicense>
- {
- public string Type { get; set; }
-
- public string Code { get; set; }
-
- public string Description { get; set; }
-
- public ManagedProblem Problem { get; set; }
- }
- }
|