aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
diff options
context:
space:
mode:
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.cs46
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
{