From 4cc4089f36b0a9b9d754e33acb49da930f846699 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 13 May 2019 13:58:45 +0300 Subject: Some fixed to TCC mobile design. Implemented DFU reset on Machine Operator. --- .../Printing/DefaultPrintingManager.cs | 46 ++++++++++++++++++---- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/Printing') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs index 7d4aa154e..1f09023cb 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs @@ -45,7 +45,6 @@ namespace Tango.PPC.UI.Printing /// public async Task Print(Job job, ObservablesContext context) { - JobHandler handler = null; #if STUBPRINT @@ -66,9 +65,25 @@ namespace Tango.PPC.UI.Printing { try { + job.JobStatus = JobStatuses.Completed; + + if (!context.IsDisposed) + { + await context.SaveChangesAsync(); + } + else + { + using (var newContext = ObservablesContext.CreateDefault()) + { + var newJob = newContext.Jobs.SingleOrDefault(y => y.Guid == job.Guid); + if (newJob != null) + { + newJob.JobStatus = JobStatuses.Completed; + await newContext.SaveChangesAsync(); + } + } + } - job.JobStatus = BL.Enumerations.JobStatuses.Completed; - await context.SaveChangesAsync(); RaiseJobSaved(job); } catch (Exception ex) @@ -76,12 +91,12 @@ namespace Tango.PPC.UI.Printing LogManager.Log(ex, "Error occurred after job printing completed."); } }; - handler.Canceled += async (x, e) => + handler.Canceled += (x, e) => { try { //No change in status ! - await context.SaveChangesAsync(); + //await context.SaveChangesAsync(); RaiseJobSaved(job); } catch (Exception ex) @@ -94,8 +109,25 @@ namespace Tango.PPC.UI.Printing try { - job.JobStatus = BL.Enumerations.JobStatuses.Disrupted; - await context.SaveChangesAsync(); + job.JobStatus = JobStatuses.Disrupted; + + if (!context.IsDisposed) + { + await context.SaveChangesAsync(); + } + else + { + using (var newContext = ObservablesContext.CreateDefault()) + { + var newJob = newContext.Jobs.SingleOrDefault(y => y.Guid == job.Guid); + if (newJob != null) + { + newJob.JobStatus = JobStatuses.Disrupted; + await newContext.SaveChangesAsync(); + } + } + } + RaiseJobSaved(job); } catch (Exception ex) -- cgit v1.3.1