diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-02-22 14:41:25 +0200 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-02-22 14:41:25 +0200 |
| commit | 28fa1ab91b3fb7970d9968c5cb1d018c2b44fd69 (patch) | |
| tree | 040ebb961e0e991436571f11d8a189c92326e4b3 /Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs | |
| parent | 3681ab681f02bbb7cda89de4044fd69bc9d61ab8 (diff) | |
| download | Tango-28fa1ab91b3fb7970d9968c5cb1d018c2b44fd69.tar.gz Tango-28fa1ab91b3fb7970d9968c5cb1d018c2b44fd69.zip | |
Implement grouping of segments. Changes in GUI and database. Not in Dying process.
Related Work Items: #4558
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs index 0ffc65fc0..f67c70bf4 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs @@ -281,6 +281,7 @@ namespace Tango.PPC.Jobs.ViewModels public RelayCommand<SegmentsGroupModel> UngroupSegmentsCommand { get; set; } public RelayCommand<SegmentsGroupModel> DeleteSegmentsGroupCommand { get; set; } + public RelayCommand<SegmentsGroupModel> RepeatSegmentsGroupCommand { get; set; } #endregion @@ -354,6 +355,7 @@ namespace Tango.PPC.Jobs.ViewModels DeleteSegmentsGroupCommand = new RelayCommand<SegmentsGroupModel>(DeleteSegmentsGroup); RepeateSegmentCommand = new RelayCommand(RepeateSegments); UngroupSegmentsCommand = new RelayCommand<SegmentsGroupModel>(UngroupSegments); + RepeatSegmentsGroupCommand = new RelayCommand<SegmentsGroupModel>(RepeatSegmentsGroup); PasteCommand = new RelayCommand(Paste); CopyCommand = new RelayCommand(Copy); UndoCommand = new RelayCommand(Undo);//(x) => { return UndoRedoManager.Instance.IsEnableUndoOperation(); } @@ -505,7 +507,10 @@ namespace Tango.PPC.Jobs.ViewModels ColorSpace = Job.ColorSpace, SpoolType = Job.SpoolType, User = Job.User, - Machine = Job.Machine + Machine = Job.Machine, + JobType = Job.JobType, + InterSegmentLength = Job.InterSegmentLength, + EnableInterSegment = Job.EnableInterSegment }; Dictionary<string, SegmentsGroupModel> guidToGroup = new Dictionary<string, SegmentsGroupModel>(); foreach (var segm in Job.Segments) @@ -560,7 +565,7 @@ namespace Tango.PPC.Jobs.ViewModels } else { - segmentsGroupModel = new SegmentsGroupModel() { GroupID = segm.SegmentsGroup.GroupIndex, Repeats = segm.SegmentsGroup.Repeats }; + segmentsGroupModel = new SegmentsGroupModel(jobModel) { SegmentIndex = segm.SegmentsGroup.SegmentIndex, Repeats = segm.SegmentsGroup.Repeats }; guidToGroup[segm.SegmentsGroupGuid] = segmentsGroupModel; segmentsGroupModel.Segments.Add(segmentModel); segmentModel.SegmentsGroupModel = segmentsGroupModel; @@ -579,20 +584,19 @@ namespace Tango.PPC.Jobs.ViewModels jobModel.InterSegmentLength = Job.EnableInterSegment ? Job.InterSegmentLength : 0; - jobModel.Segments.Last().IsLast = true; jobModel.LoadGroupingSegments(); JobModel = jobModel; //create grouping SegmentsCollectionView = CollectionViewSource.GetDefaultView(JobModel.GroupingSegments); SegmentsCollectionView.SortDescriptions.Add(new SortDescription(nameof(SegmentModel.SegmentIndex), ListSortDirection.Ascending)); UndoRedoManager.Instance.ClearAll(); + ArrangeSegmentsIndixes(); } private void Job_NameChanged(object sender, string e) { DyeCommand.RaiseCanExecuteChanged(); } - public override void OnBeforeNavigatedFrom() { base.OnBeforeNavigatedFrom(); @@ -668,11 +672,15 @@ namespace Tango.PPC.Jobs.ViewModels Job.Name = vm.JobName; JobModel.Name = vm.JobName; - Job.EnableInterSegment = vm.WhiteGap > 0; + Job.InterSegmentLength = vm.WhiteGap; + Job.EnableInterSegment = vm.WhiteGap > 0; JobModel.InterSegmentLength = vm.WhiteGap; + JobModel.EnableInterSegment = vm.WhiteGap > 0; + Job.SpoolType = vm.SelectedSpoolType; JobModel.SpoolType = vm.SelectedSpoolType;//update length!!!! + SelectedRML = vm.SelectedRML; if (vm.IsDuplicate) @@ -809,17 +817,17 @@ namespace Tango.PPC.Jobs.ViewModels private async void RepeatSegmentsGroup( SegmentsGroupModel group) { - var maxLength = 999; - var maxRep = (maxLength == 0 ? 999 : (maxLength / JobModel.Length)); - - var vm = await NotificationProvider.ShowDialog<RepeatJobViewVM>(new RepeatJobViewVM($"Edit \"Group {group.GroupID}\" Repeat", group.Repeats) + var maxLength = Job.SpoolType.Length == 0 ? 999 : Job.SpoolType.Length; + var maxRep = (maxLength - JobModel.Length)/ group.Length; + + var vm = await NotificationProvider.ShowDialog<RepeatJobViewVM>(new RepeatJobViewVM($"Edit \"Group {group.SegmentIndex}\" Repeat", group.Repeats) { MaxRepeations = (int)maxRep }); if (vm.DialogResult) { - JobModel.NumberOfUnits = vm.Repeats; + group.Repeats = vm.Repeats; } } @@ -893,7 +901,8 @@ namespace Tango.PPC.Jobs.ViewModels int index = 1; int count = JobModel.Segments.Count(); - foreach (var segment in JobModel.Segments) + // foreach (var segment in JobModel.Segments) + foreach (var segment in JobModel.GroupingSegments) { segment.IsLast = ( index == count)? true : false; segment.SegmentIndex = index++; @@ -1176,7 +1185,7 @@ namespace Tango.PPC.Jobs.ViewModels private void Reverse() { - if (false == JobModel.Segments.ToList().Any(x => x.IsSelected)) + if (false == JobModel.GroupingSegments.ToList().Any(x => x.IsSelected)) return; UndoRedoManager.Instance.InsertAndExecuteCommand(new ReverseCommand(JobModel)); @@ -1220,14 +1229,16 @@ namespace Tango.PPC.Jobs.ViewModels private void RepeateSegments() { - if ( (JobModel.Segments.ToList().Where(x => x.IsSelected).Count()) < 2) + if ( (JobModel.GroupingSegments.ToList().Where(x => x.IsSelected).Count()) < 2) return; UndoRedoManager.Instance.InsertAndExecuteCommand(new RepeatCommand(JobModel)); + ArrangeSegmentsIndixes(); } private void UngroupSegments(SegmentsGroupModel segmentsGroup) { UndoRedoManager.Instance.InsertAndExecuteCommand(new UnGroupSegmentsCommand(JobModel, segmentsGroup)); + ArrangeSegmentsIndixes(); } private void Paste() @@ -1290,7 +1301,7 @@ namespace Tango.PPC.Jobs.ViewModels Job.Segments.Clear(); - Dictionary<int, SegmentsGroup> groupIDToSegmentsGroupGuid = new Dictionary<int, SegmentsGroup>(); + Dictionary<int, SegmentsGroup> segmentIndexToGroup = new Dictionary<int, SegmentsGroup>(); foreach (var segment in JobModel.Segments.OrderBy(x => x.SegmentIndex).ToList()) { @@ -1304,15 +1315,16 @@ namespace Tango.PPC.Jobs.ViewModels if(segment.IsGroupSegment) { SegmentsGroup dbSegmentsGroup; - if (false == groupIDToSegmentsGroupGuid.TryGetValue(segment.SegmentsGroupModel.GroupID, out dbSegmentsGroup)) + if (false == segmentIndexToGroup.TryGetValue(segment.SegmentsGroupModel.SegmentIndex, out dbSegmentsGroup)) { dbSegmentsGroup = new SegmentsGroup(); dbSegmentsGroup.Guid = System.Guid.NewGuid().ToString(); dbSegmentsGroup.Repeats = segment.SegmentsGroupModel.Repeats; - dbSegmentsGroup.GroupIndex = segment.SegmentsGroupModel.GroupID; + dbSegmentsGroup.SegmentIndex = segment.SegmentsGroupModel.SegmentIndex; + dbSegmentsGroup.Job = Job; _db.SegmentsGroups.Add(dbSegmentsGroup); dbSegment.SegmentsGroup = dbSegmentsGroup; - groupIDToSegmentsGroupGuid[segment.SegmentsGroupModel.GroupID] = dbSegmentsGroup; + segmentIndexToGroup[segment.SegmentsGroupModel.SegmentIndex] = dbSegmentsGroup; } else { |
