Beispiel #1
0
        SItem AddItemToFilaProcesso(SItem newItem, double tempo)
        {
            var ultimoItem = Resultado.OrderByDescending(x => x.Fim).FirstOrDefault();

            if (ultimoItem == null)
            {
                newItem.Fim = newItem.Inicio + tempo;
                return(newItem);
            }
            if (ultimoItem.Fim < newItem.Inicio)
            {
                TempoOcioso += newItem.Inicio - ultimoItem.Fim;
            }
            else if (ultimoItem.Fim > newItem.Inicio)
            {
                TempoEspera   += ultimoItem.Fim - newItem.Inicio;
                newItem.Inicio = ultimoItem.Fim;
            }
            newItem.Fim = newItem.Inicio + tempo;
            return(newItem);
        }