|
@@ -134,9 +134,23 @@ namespace PRSDesktop
|
|
|
MessageBox.Show("Please select a setout first.");
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ var lastPacket = group != null ? GetPackets().LastOrDefault(x => x.Group.ID == group.ID) : null;
|
|
|
+ lastPacket ??= GetPackets().LastOrDefault();
|
|
|
|
|
|
var newPacket = new StagingManufacturingPacket();
|
|
|
newPacket.Job.ID = jobid;
|
|
|
+
|
|
|
+ if(lastPacket != null)
|
|
|
+ {
|
|
|
+ newPacket.Template.ID = lastPacket.Template.ID;
|
|
|
+ newPacket.Template.Synchronise(lastPacket.Template);
|
|
|
+ newPacket.Title = lastPacket.Title;
|
|
|
+ newPacket.ITP.ID = lastPacket.ITP.ID;
|
|
|
+ newPacket.ITP.Synchronise(lastPacket.ITP);
|
|
|
+ newPacket.Location = lastPacket.Location;
|
|
|
+ newPacket.Watermark = lastPacket.Watermark;
|
|
|
+ }
|
|
|
|
|
|
if (group != null)
|
|
|
{
|
|
@@ -157,9 +171,24 @@ namespace PRSDesktop
|
|
|
newPacket.Serial = $"{serialbase}{iSerial:D3}";
|
|
|
|
|
|
new Client<StagingManufacturingPacket>().Save(newPacket,"Created from Staging Panel");
|
|
|
- //var grid = DynamicGridUtils.CreateDynamicGrid(typeof(DynamicDataGrid<>), typeof(StagingManufacturingPacket));
|
|
|
- //if (grid.EditItems(new object[] { newPacket }))
|
|
|
- //{
|
|
|
+
|
|
|
+ if (lastPacket != null)
|
|
|
+ {
|
|
|
+ var treatments = Client.Query(
|
|
|
+ new Filter<StagingManufacturingPacketTreatment>(x => x.Packet.ID).IsEqualTo(lastPacket.ID),
|
|
|
+ new Columns<StagingManufacturingPacketTreatment>()
|
|
|
+ .Default(ColumnType.IncludeUserProperties, ColumnType.IncludeForeignKeys, ColumnType.ExcludeID)
|
|
|
+ ).ToObjects<StagingManufacturingPacketTreatment>().ToList();
|
|
|
+ foreach(var treatment in treatments)
|
|
|
+ {
|
|
|
+ treatment.Packet.ID = newPacket.ID;
|
|
|
+ }
|
|
|
+ Client.Save(treatments, "");
|
|
|
+ }
|
|
|
+
|
|
|
+ //var grid = DynamicGridUtils.CreateDynamicGrid(typeof(DynamicDataGrid<>), typeof(StagingManufacturingPacket));
|
|
|
+ //if (grid.EditItems(new object[] { newPacket }))
|
|
|
+ //{
|
|
|
StagingManufacturingPacketListItem.CreateStages(newPacket);
|
|
|
AddItem(newPacket, null);
|
|
|
//OnCollapsed?.Invoke(Collapsed());
|