aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-11-20 13:27:36 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-11-20 13:27:36 +0200
commitc272cdaaa43f7bf2fefcb36bbfe49624fc4a5ff1 (patch)
treebcc9ccd584d7cc706f6453e7a906fa3f1485ef53 /Software/Visual_Studio/Tango.BL
parentfa8459be63d8f76059d1e71ab86c01e0a13851b5 (diff)
downloadTango-c272cdaaa43f7bf2fefcb36bbfe49624fc4a5ff1.tar.gz
Tango-c272cdaaa43f7bf2fefcb36bbfe49624fc4a5ff1.zip
Added job runs logger to machine studio.
Diffstat (limited to 'Software/Visual_Studio/Tango.BL')
-rw-r--r--Software/Visual_Studio/Tango.BL/Builders/JobBuilder.cs8
-rw-r--r--Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs31
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/JobRun.cs57
-rw-r--r--Software/Visual_Studio/Tango.BL/EntitiesExtensions/JobRun.cs32
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/JobRunStatus.cs15
-rw-r--r--Software/Visual_Studio/Tango.BL/Tango.BL.csproj5
6 files changed, 137 insertions, 11 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Builders/JobBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/JobBuilder.cs
index a0a88f4a7..d8d58d69b 100644
--- a/Software/Visual_Studio/Tango.BL/Builders/JobBuilder.cs
+++ b/Software/Visual_Studio/Tango.BL/Builders/JobBuilder.cs
@@ -77,5 +77,13 @@ namespace Tango.BL.Builders
new UserBuilder(Context).Set(Entity.UserGuid).Build();
});
}
+
+ public virtual JobBuilder WithJobRuns()
+ {
+ return AddStep(6, () =>
+ {
+ Context.JobRuns.Where(x => x.JobGuid == Entity.Guid).OrderBy(x => x.StartDate).ToList();
+ });
+ }
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs
new file mode 100644
index 000000000..0a02c6a23
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Builders/JobRunsBuilder.cs
@@ -0,0 +1,31 @@
+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)
+ {
+
+ }
+
+ protected override IQueryable<JobRun> OnSetQuery(IQueryable<JobRun> query)
+ {
+ return query.Include(x => x.Job);
+ }
+
+ public virtual JobRunsBuilder WithJobEvents()
+ {
+ return AddStep(2, () =>
+ {
+ Context.MachinesEvents.Where(x => x.MachineGuid == Entity.Job.MachineGuid && x.DateTime >= Entity.StartDate && x.DateTime <= Entity.EndDate).OrderBy(x => x.DateTime).ToList();
+ });
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
index b4ecf4f5a..6e953f5ce 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
@@ -21,6 +21,11 @@ using Tango.Core;
namespace Tango.BL.Entities
{
+
+ /// <summary>
+ ///
+ /// </summary>
+
[Table("JOB_RUNS")]
public partial class JobRun : ObservableEntity<JobRun>
{
@@ -29,7 +34,9 @@ namespace Tango.BL.Entities
public event EventHandler<DateTime> EndDateChanged;
- public event EventHandler<Boolean> SuccessfulChanged;
+ public event EventHandler<Int32> StatusChanged;
+
+ public event EventHandler<String> FailedMessageChanged;
public event EventHandler<Job> JobChanged;
@@ -115,30 +122,60 @@ namespace Tango.BL.Entities
}
}
- protected Boolean _successful;
+ protected Int32 _status;
+
+ /// <summary>
+ /// 0 = COMPLETED
+ /// 1 = ABORTED
+ /// 2 = FAILED
+ /// </summary>
+
+ [Column("STATUS")]
+
+ public Int32 Status
+ {
+ get
+ {
+ return _status;
+ }
+
+ set
+ {
+ if (_status != value)
+ {
+ _status = value;
+
+ StatusChanged?.Invoke(this, value);
+
+ RaisePropertyChanged(nameof(Status));
+ }
+ }
+ }
+
+ protected String _failedmessage;
/// <summary>
- /// Gets or sets the jobrun successful.
+ /// Gets or sets the jobrun failed message.
/// </summary>
- [Column("SUCCESSFUL")]
+ [Column("FAILED_MESSAGE")]
- public Boolean Successful
+ public String FailedMessage
{
get
{
- return _successful;
+ return _failedmessage;
}
set
{
- if (_successful != value)
+ if (_failedmessage != value)
{
- _successful = value;
+ _failedmessage = value;
- SuccessfulChanged?.Invoke(this, value);
+ FailedMessageChanged?.Invoke(this, value);
- RaisePropertyChanged(nameof(Successful));
+ RaisePropertyChanged(nameof(FailedMessage));
}
}
}
diff --git a/Software/Visual_Studio/Tango.BL/EntitiesExtensions/JobRun.cs b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/JobRun.cs
new file mode 100644
index 000000000..555857f53
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/JobRun.cs
@@ -0,0 +1,32 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Enumerations;
+
+namespace Tango.BL.Entities
+{
+ public partial class JobRun
+ {
+ [NotMapped]
+ [JsonIgnore]
+ public JobRunStatus JobRunStatus
+ {
+ get { return (JobRunStatus)Status; }
+ set { Status = (int)value; }
+ }
+
+ protected override void RaisePropertyChanged(string propName)
+ {
+ base.RaisePropertyChanged(propName);
+
+ if (propName == nameof(Status))
+ {
+ RaisePropertyChanged(nameof(JobRunStatus));
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/JobRunStatus.cs b/Software/Visual_Studio/Tango.BL/Enumerations/JobRunStatus.cs
new file mode 100644
index 000000000..5abc98073
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/JobRunStatus.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.BL.Enumerations
+{
+ public enum JobRunStatus
+ {
+ Completed,
+ Aborted,
+ Failed,
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
index cf95ea9bc..b8cc1b1e3 100644
--- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
+++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
@@ -89,6 +89,7 @@
<Compile Include="Builders\IEntityBuilder.cs" />
<Compile Include="Builders\IEntityCollectionBuilder.cs" />
<Compile Include="Builders\JobBuilder.cs" />
+ <Compile Include="Builders\JobRunsBuilder.cs" />
<Compile Include="Builders\JobsCollectionBuilder.cs" />
<Compile Include="Builders\MachineBuilder.cs" />
<Compile Include="Builders\RmlBuilder.cs" />
@@ -112,6 +113,7 @@
<Compile Include="Dispensing\TransparentLiquidDispensingCalc.cs" />
<Compile Include="EntitiesExtensions\ColorCatalog.cs" />
<Compile Include="EntitiesExtensions\Contact.cs" />
+ <Compile Include="EntitiesExtensions\JobRun.cs" />
<Compile Include="EntitiesExtensions\LiquidType.cs" />
<Compile Include="EntitiesExtensions\LiquidTypesRml.cs" />
<Compile Include="EntitiesExtensions\MachineEvent.cs" />
@@ -154,6 +156,7 @@
<Compile Include="Enumerations\Ios.cs" />
<Compile Include="Enumerations\JobCategories.cs" />
<Compile Include="Enumerations\JobDesignations.cs" />
+ <Compile Include="Enumerations\JobRunStatus.cs" />
<Compile Include="Enumerations\JobStatuses.cs" />
<Compile Include="Enumerations\JobTypes.cs" />
<Compile Include="Enumerations\LiquidTypes.cs" />
@@ -345,7 +348,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file