1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using InABox.Core;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using static System.Collections.Specialized.BitVector32;
- namespace Comal.Classes
- {
- /// <summary>
- /// Defines an entity that can be converted into a <see cref="ManufacturingPacketStage"/>.
- /// </summary>
- public interface IManufacturingPacketStageGenerator : ISequenceable
- {
- TimeSpan Time { get; }
- SequenceType SequenceType { get; }
- string QualityChecks { get; }
- ManufacturingSectionLink Section { get; }
- }
- public static class IManufacturingPacketGeneratorExtensions
- {
- public static Columns<T> GetPacketGeneratorRequiredColumns<T>()
- where T : IManufacturingPacketStageGenerator
- {
- return Columns.None<T>().Add(x => x.Time)
- .Add(x => x.Sequence)
- .Add(x => x.SequenceType)
- .Add(x => x.QualityChecks)
- .Add(x => x.Section.ID)
- .Add(x => x.Section.Name);
- }
- /// <summary>
- /// Creates a Packet Stage from the Template Stage
- /// You still need to add the Packet.ID
- /// </summary>
- /// <returns></returns>
- public static ManufacturingPacketStage CreateManufacturingPacketStage(this IManufacturingPacketStageGenerator gen)
- {
- var pstage = new ManufacturingPacketStage
- {
- Time = gen.Time,
- Sequence = gen.Sequence,
- SequenceType = gen.SequenceType,
- Started = DateTime.MinValue,
- PercentageComplete = 0.0F,
- Completed = DateTime.MinValue,
- QualityChecks = gen.QualityChecks,
- QualityStatus = QualityStatus.NotChecked,
- QualityNotes = ""
- };
- pstage.ManufacturingSectionLink.ID = gen.Section.ID;
- pstage.ManufacturingSectionLink.Name = gen.Section.Name;
- return pstage;
- }
- }
- }
|