aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-28 02:22:41 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-28 02:22:41 +0200
commit1cb99b7e98491a9064eb4c87b89991b5301528c1 (patch)
tree1232f6af9a609a10a05013f2de69d5a18c1488d7 /Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs
parentc2064e58fd1923bf820e14afcd014036299336b9 (diff)
downloadTango-1cb99b7e98491a9064eb4c87b89991b5301528c1.tar.gz
Tango-1cb99b7e98491a9064eb4c87b89991b5301528c1.zip
Completed csv job import.
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobSummeryViewVM.cs10
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobsViewVM.cs57
2 files changed, 56 insertions, 11 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobSummeryViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobSummeryViewVM.cs
index a2acf5893..0e40e0d6a 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobSummeryViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobSummeryViewVM.cs
@@ -155,16 +155,6 @@ namespace Tango.PPC.Jobs.ViewModels
.WithBrushStops()
.BuildAsync();
- if (Job.ColorSpace.Space == BL.Enumerations.ColorSpaces.Catalog)
- {
- if (_context.ColorCatalogs.SingleOrDefault(x => x.Guid == Job.ColorCatalogGuid) == null)
- {
- await NotificationProvider.ShowError("The selected color catalog for this job could not be found.\nCannot load job.");
- await NavigationManager.NavigateBack();
- return;
- }
- }
-
await Task.Factory.StartNew(() =>
{
try
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobsViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobsViewVM.cs
index 6440f7e46..fe831587c 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobsViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobsViewVM.cs
@@ -39,6 +39,8 @@ using Tango.Core.ExtensionMethods;
using Tango.PPC.Common.Synchronization;
using Tango.PPC.Jobs.NotificationItems;
using Tango.PPC.Storage.Models;
+using Tango.BL.Helpers;
+using Tango.ColorConversion;
namespace Tango.PPC.Jobs.ViewModels
{
@@ -886,9 +888,62 @@ namespace Tango.PPC.Jobs.ViewModels
await vm.Init();
await NotificationProvider.ShowDialog<ImportCsvJobViewVM>(vm);
- if (vm.DialogResult)
+ if (vm.DialogResult && vm.SelectedRml != null)
{
+ try
+ {
+ NotificationProvider.SetGlobalBusyMessage("Importing job from file...");
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ var segments = await SegmentsCsvHelper.FromFile(item.Path, MachineProvider.Machine, db);
+
+ Job job = new Job();
+ job.LastUpdated = DateTime.UtcNow;
+ job.JobSource = JobSource.Local;
+ job.Name = vm.Name;
+ job.NumberOfHeads = 1;
+ job.NumberOfUnits = 1;
+ job.SampleUnitsOrMeters = 1;
+ job.CreationDate = DateTime.UtcNow;
+ job.JobStatus = JobStatuses.Draft;
+ job.JobType = JobTypes.Knitting;
+ job.EnableLubrication = true;
+ job.MachineGuid = MachineProvider.Machine.Guid;
+ job.RmlGuid = vm.SelectedRml.Guid;
+ job.Machine = await new MachineBuilder(db).Set(job.MachineGuid).WithCats().WithConfiguration().BuildAsync();
+ job.Rml = await new RmlBuilder(db).Set(job.RmlGuid).WithActiveParametersGroup().WithCAT(MachineProvider.Machine.Guid).WithCCT().WithLiquidFactors().BuildAsync();
+ job.WindingMethodGuid = Adapter.WindingMethods.FirstOrDefault().Guid;
+ job.SpoolTypeGuid = Settings.DefaultSpoolTypeGuid != null ? Settings.DefaultSpoolTypeGuid : Adapter.SpoolTypes.FirstOrDefault().Guid;
+
+ foreach (var segment in segments)
+ {
+ segment.Job = job;
+ job.Segments.Add(segment);
+ }
+
+ IColorConverter converter = new DefaultColorConverter();
+ foreach (var stop in segments.SelectMany(x => x.BrushStops.Where(y => y.BrushColorSpace == ColorSpaces.Volume)))
+ {
+ var output = converter.Convert(stop, false);
+ var suggestion = output.CreateSingleSuggestion();
+ stop.Color = suggestion.Color;
+ }
+
+ db.Jobs.Add(job);
+ await db.SaveChangesAsync();
+ LoadJobs();
+ }
+
+ NotificationProvider.ReleaseGlobalBusyMessage();
+ }
+ catch (Exception ex)
+ {
+ NotificationProvider.ReleaseGlobalBusyMessage();
+ LogManager.Log(ex, "Error importing job from CSV.");
+ await NotificationProvider.ShowError($"Error importing job from csv file.\n{ex.FlattenMessage()}");
+ }
}
}