using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using System.Data.Entity; using Tango.BL.Enumerations; namespace Tango.BL.Builders { public class RMLExtensionTestResultsCollectionBuilder : EntityCollectionBuilderBase { public RMLExtensionTestResultsCollectionBuilder(ObservablesContext context) : base(context) { } public virtual RMLExtensionTestResultsCollectionBuilder ForRMLExtension(String rmlExtensionGUID) { return AddQueryStep(0, (query) => { if (rmlExtensionGUID != null) { return query.Where(x => x.RmlsExtensionsGuid == rmlExtensionGUID); } else { return query; } }); } public virtual RMLExtensionTestResultsCollectionBuilder ForMachine(String machineGUID) { return AddQueryStep(1, (query) => { if (machineGUID != null ) { return query.Where(x => x.MachineGuid == machineGUID); } else { return query; } }); } public virtual RMLExtensionTestResultsCollectionBuilder WithRubbingAndTensileResults() { return AddQueryStep(2, (query) => { return query.Include(x => x.RubbingResults).Include(x => x.TensileResults); ; }); } public virtual RMLExtensionTestResultsCollectionBuilder WithWashingTestResults() { return AddQueryStep(3, (query) => { return query.Include(x => x.RmlExtensionTestWashingResults);//.Include(x => x.RmlExtensionTestWashingResults.WashingTestMaterials); }); /* return AddStep(4, () => { foreach (var result in Entities.ToList()) { var tests = Context.RmlExtensionTestWashingResults.Where(x => x.RmlExtensionTestResultsGuid == result.Guid).ToList(); foreach( var test in tests) { test.WashingTestMaterials = Context.WashingTestMaterials.FirstOrDefault(x => x.Guid == test.WashingTestMaterialsGuid); } } });*/ } public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrApplicationTypes() { return AddQueryStep(4, (query) => { return query.Include(x => x.BtsrApplicationType) ; }); } public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrYarnTypes() { return AddQueryStep(5, (query) => { return query.Include(x => x.BtsrYarnType); }); } public virtual RMLExtensionTestResultsCollectionBuilder WithTestResultsFiles() { return AddQueryStep(6, (query) => { return query.Include(x => x.RmlExtensionTestResultsFiles); }); } } }