|  | @@ -15,7 +15,9 @@ public class Update_8_02 : DatabaseUpdateScript
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private static void PopulateDone()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        var requiItems = DbFactory.Provider.Query<RequisitionItem>(null, new Columns<RequisitionItem>(x => x.ID).Add(x => x.Picked).Add(x => x.Done))
 | 
	
		
			
				|  |  | +        var requiItems = DbFactory.Provider.Query<RequisitionItem>(
 | 
	
		
			
				|  |  | +            new Filter<RequisitionItem>(x => x.Done).IsEqualTo(false).And(x => x.Picked).IsNotEqualTo(DateTime.MinValue),
 | 
	
		
			
				|  |  | +            new Columns<RequisitionItem>(x => x.ID).Add(x => x.Picked).Add(x => x.Done))
 | 
	
		
			
				|  |  |              .ToList<RequisitionItem>();
 | 
	
		
			
				|  |  |          Logger.Send(LogType.Information, "", $"Populating Done flag for {requiItems.Count} RequisitionItems");
 | 
	
		
			
				|  |  |          foreach(var item in requiItems)
 | 
	
	
		
			
				|  | @@ -57,17 +59,26 @@ public class Update_8_02 : DatabaseUpdateScript
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private static void PopulateManufacturingPacketStageDescription()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        var mpStages = DbFactory.Provider.Query(
 | 
	
		
			
				|  |  | +        var table = DbFactory.Provider.Query(
 | 
	
		
			
				|  |  |              new Filter<ManufacturingPacketStage>(x => x.Description).IsEqualTo(null),
 | 
	
		
			
				|  |  |              new Columns<ManufacturingPacketStage>(x => x.ID)
 | 
	
		
			
				|  |  | -                .Add(x => x.Form.Description))
 | 
	
		
			
				|  |  | -            .ToArray<ManufacturingPacketStage>();
 | 
	
		
			
				|  |  | -        Logger.Send(LogType.Information, "", $"Populating Description for {mpStages.Length} ManufacturingPacketStages");
 | 
	
		
			
				|  |  | -        foreach(var stage in mpStages)
 | 
	
		
			
				|  |  | +                .Add(x => x.Form.Description));
 | 
	
		
			
				|  |  | +        Logger.Send(LogType.Information, "", $"Populating Description for {table.Rows.Count} ManufacturingPacketStages");
 | 
	
		
			
				|  |  | +        for(int i = 0; i < table.Rows.Count; i += 1000)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            stage.Description = stage.Form.Description;
 | 
	
		
			
				|  |  | +            Logger.Send(LogType.Information, "", $"{(double)i / (double)table.Rows.Count * 100.0:F2}%");
 | 
	
		
			
				|  |  | +            var mpStages = new List<ManufacturingPacketStage>(1000);
 | 
	
		
			
				|  |  | +            for(int j = i; j < Math.Min(i + 1000, table.Rows.Count); j++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                mpStages.Add(table.Rows[j].ToObject<ManufacturingPacketStage>());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            foreach(var stage in mpStages)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                stage.Description = stage.Form.Description;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            DbFactory.Provider.Save(mpStages);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        DbFactory.Provider.Save(mpStages);
 | 
	
		
			
				|  |  |          Logger.Send(LogType.Information, "", $"Done populating Description!");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |