Example #1
0
 /// <summary>
 /// Adiciona itens na lista. Se lista esta cheia {AppSettings.CookListMax} Adiciona na fila.
 /// </summary>
 /// <param name="cook"></param>
 public void AddItem(Cook cook)
 {
     if (Items.Count >= AppSettings.CookListMax)
     {
         ItemsWaiting.Enqueue(cook);
     }
     else
     {
         Items.Add(cook);
     }
 }
Example #2
0
        //Alterar o status de preparação de um item da lista.
        public Cook ChangePreparationStatus(int idCook, Cook.Status status)
        {
            var selitem = Items.Where(x => x.Id == idCook).FirstOrDefault();

            selitem.PreparationStatus = status;

            //se for o final da preparação retira o
            //elemento da lista e adiciona novo da fila.
            if (selitem.PreparationStatus == Cook.Status.delivered)
            {
                Items.Remove(selitem);
                if (ItemsWaiting.Count() > 0)
                {
                    Items.Add(ItemsWaiting.Dequeue());
                }
            }

            return(selitem);
        }