diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2020-02-26 18:43:43 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2020-02-26 18:43:43 +0200 |
| commit | 8e5ab17ced647a8c9fbba764c6fa0c06d56269c9 (patch) | |
| tree | 4d958c4775ac237f5d67803192aa530a80d978b7 /Software/Visual_Studio/Tango.BL/Builders | |
| parent | afb6bbb2123932b3562e1af993eb847d8147bf58 (diff) | |
| parent | 228dca3384369f23d6dcad6a696cf491ab9d8840 (diff) | |
| download | Tango-8e5ab17ced647a8c9fbba764c6fa0c06d56269c9.tar.gz Tango-8e5ab17ced647a8c9fbba764c6fa0c06d56269c9.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/Builders')
| -rw-r--r-- | Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs | 19 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.BL/Builders/JobRunsCollectionBuilder.cs | 86 |
2 files changed, 86 insertions, 19 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs deleted file mode 100644 index ca755a04c..000000000 --- a/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Tango.BL.Entities; -using System.Data.Entity; - -namespace Tango.BL.Builders -{ - public class JobRunsBuilder : EntityBuilderBase<JobRun, JobRunsBuilder> - { - public JobRunsBuilder(ObservablesContext context) : base(context) - { - - } - - } -} diff --git a/Software/Visual_Studio/Tango.BL/Builders/JobRunsCollectionBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/JobRunsCollectionBuilder.cs new file mode 100644 index 000000000..a1990c9ea --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Builders/JobRunsCollectionBuilder.cs @@ -0,0 +1,86 @@ +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 JobRunsCollectionBuilder : EntityCollectionBuilderBase<JobRun, JobRunsCollectionBuilder> + { + public JobRunsCollectionBuilder(ObservablesContext context) : base(context) + { + + } + + public virtual JobRunsCollectionBuilder WithMachines(List<Machine> machines) + { + return AddQueryStep(1, (query) => + { + if (machines != null && machines.Count > 0) + { + var machineIDs = new HashSet<string>(machines.Select(p => p.Guid)); + return query.Where(x => machineIDs.Contains(x.MachineGuid)); + } + return query; + }); + } + + public virtual JobRunsCollectionBuilder WithJobSource(IEnumerable<JobSource> source) + { + return AddQueryStep(2, (query) => + { + if(source.Count() > 0) + { + int[] jobRunSourceArr = source.Select(x => (int)x).ToArray(); + return query.Where(x => jobRunSourceArr.Contains(x.JobSource)); + } + return query; + + }); + } + + public virtual JobRunsCollectionBuilder WithJobStatus(IEnumerable<JobRunStatus> status) + { + return AddQueryStep(3, (query) => + { + if(status.Count() > 0) + { + int[] jobRunStatusArr = status.Select(x => (int)x).ToArray(); + + return query.Where(x => jobRunStatusArr.Contains(x.Status)); + } + return query; + + }); + } + + public virtual JobRunsCollectionBuilder WithGradient(IEnumerable<bool> isGradient) + { + return AddQueryStep(4, (query) => + { + if(isGradient.Count() > 0) + { + bool[] isGradientArr = isGradient.Select(x => (bool)x).ToArray(); + return query.Where(x => isGradientArr.Contains(x.IsGradient)); + } + return query; + }); + } + + public virtual JobRunsCollectionBuilder WithRmls(List<String> rmlGuids) + { + return AddQueryStep(5, (query) => + { + if (rmlGuids != null && rmlGuids.Count > 0) + { + return query.Where(x => rmlGuids.Contains(x.RmlGuid)); + } + return query; + }); + } + } +} |
