| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- using System.Linq;
 
- using Comal.Classes;
 
- using InABox.Core;
 
- using System;
 
- using System;
 
- using System;
 
- using InABox.Configuration;
 
- using InABox.Database;
 
- namespace Comal.Stores
 
- {
 
-     internal class DeliveryItemStore : BaseStore<DeliveryItem>
 
-     {
 
-         protected override void BeforeSave(DeliveryItem entity)
 
-         {
 
-             base.BeforeSave(entity);
 
-             if (!string.IsNullOrWhiteSpace(entity.SetoutLink.Number) & (entity.Sequence > 0))
 
-                 entity.Barcode = string.Format("{0}-{1:D3}", entity.SetoutLink.Number, entity.Sequence);
 
-         }
 
-         protected override void AfterSave(DeliveryItem entity)
 
-         {
 
-             base.AfterSave(entity);
 
-             if (
 
-                 entity.ManufacturingPacketLink.IsValid()
 
-                 && entity.ShipmentLink.IsValid()
 
-                 && entity.ShipmentLink.HasOriginalValue(x => x.ID)
 
-             )
 
-             {
 
-                 var _settings = new GlobalConfiguration<ShipmentSettings>("", new DbConfigurationProvider<GlobalSettings>(this.UserID))
 
-                     .Load(false);
 
-                 if (_settings.CloseManufacturingPacketOnScan)
 
-                 {
 
-                     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" });
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |