Ejemplo n.º 1
0
        public ControlUnit(Weight weight, Portioner portioner, List <IBin> bins, IAssignmentAlgorithm assignmentAlgorithm)
        {
            Weight               = weight;
            Portioner            = portioner;
            Bins                 = bins;
            _assignmentAlgorithm = assignmentAlgorithm;


            Weight.ItemWeighed    += OnItemWeighedEvent;
            Portioner.ItemArrived += OnItemArrivedPortionerEvent;

            foreach (IBin bin in Bins)
            {
                bin.ItemArrived += CheckBinWeight;
            }
        }
Ejemplo n.º 2
0
        private void OnItemArrivedPortionerEvent(object o, IItem item)
        {
            Portioner portioner = (o as Portioner);

            portioner?.Eject(item, Bins?.FirstOrDefault(b => b.BinNumber == item.AssignedBinNumber));
        }