|  | @@ -4,6 +4,8 @@ using InABox.Core;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  | +using InABox.Configuration;
 | 
	
		
			
				|  |  | +using InABox.Database;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace Comal.Stores
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -27,22 +29,29 @@ namespace Comal.Stores
 | 
	
		
			
				|  |  |                  && entity.ShipmentLink.HasOriginalValue(x => x.ID)
 | 
	
		
			
				|  |  |              )
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                var filter = new Filter<ManufacturingPacket>(x => x.ID).IsEqualTo(entity.ManufacturingPacketLink.ID);
 | 
	
		
			
				|  |  | -                filter.Ands.Add(new Filter<ManufacturingPacket>(x => x.Completed).IsEqualTo(DateTime.MinValue).Or(x => x.Archived)
 | 
	
		
			
				|  |  | -                    .IsEqualTo(DateTime.MinValue));
 | 
	
		
			
				|  |  | -                var row = Provider.Query(
 | 
	
		
			
				|  |  | -                    filter,
 | 
	
		
			
				|  |  | -                    Columns.None<ManufacturingPacket>().Add(x => x.ID, x => x.Completed, x => x.Archived)
 | 
	
		
			
				|  |  | -                ).Rows.FirstOrDefault();
 | 
	
		
			
				|  |  | -                if (row != null)
 | 
	
		
			
				|  |  | +                var _settings = new GlobalConfiguration<ShipmentSettings>("", new DbConfigurationProvider<GlobalSettings>(this.UserID))
 | 
	
		
			
				|  |  | +                    .Load(false);
 | 
	
		
			
				|  |  | +                if (_settings.CloseManufacturingPacketOnScan)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    var packet = row.ToObject<ManufacturingPacket>();
 | 
	
		
			
				|  |  | -                    if (packet.Completed.IsEmpty())
 | 
	
		
			
				|  |  | -                        packet.Completed = DateTime.Now;
 | 
	
		
			
				|  |  | -                    if (packet.Archived.IsEmpty())
 | 
	
		
			
				|  |  | -                        packet.Archived = DateTime.Now;
 | 
	
		
			
				|  |  | -                    Provider.Save(packet);
 | 
	
		
			
				|  |  | -                    AuditTrail(packet, new[] { "Closing/Archiving Packet due to Shipment Allocation" });
 | 
	
		
			
				|  |  | +                    var filter =
 | 
	
		
			
				|  |  | +                        new Filter<ManufacturingPacket>(x => x.ID).IsEqualTo(entity.ManufacturingPacketLink.ID);
 | 
	
		
			
				|  |  | +                    filter.Ands.Add(new Filter<ManufacturingPacket>(x => x.Completed).IsEqualTo(DateTime.MinValue)
 | 
	
		
			
				|  |  | +                        .Or(x => x.Archived)
 | 
	
		
			
				|  |  | +                        .IsEqualTo(DateTime.MinValue));
 | 
	
		
			
				|  |  | +                    var row = Provider.Query(
 | 
	
		
			
				|  |  | +                        filter,
 | 
	
		
			
				|  |  | +                        Columns.None<ManufacturingPacket>().Add(x => x.ID, x => x.Completed, x => x.Archived)
 | 
	
		
			
				|  |  | +                    ).Rows.FirstOrDefault();
 | 
	
		
			
				|  |  | +                    if (row != null)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        var packet = row.ToObject<ManufacturingPacket>();
 | 
	
		
			
				|  |  | +                        if (packet.Completed.IsEmpty())
 | 
	
		
			
				|  |  | +                            packet.Completed = DateTime.Now;
 | 
	
		
			
				|  |  | +                        if (packet.Archived.IsEmpty())
 | 
	
		
			
				|  |  | +                            packet.Archived = DateTime.Now;
 | 
	
		
			
				|  |  | +                        Provider.Save(packet);
 | 
	
		
			
				|  |  | +                        AuditTrail(packet, new[] { "Closing/Archiving Packet due to Shipment Allocation" });
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 |