Example #1
0
        public bool TryMaintainNewZayavka(Zayavka zayavka)
        {
            if (zayavka == null)
            {
                return(false);
            }

            var obrabotchikToAddZayavka = Obrabotchiks.FirstOrDefault(obrabotchik => obrabotchik.Zayavka == null);

            if (obrabotchikToAddZayavka == null)
            {
                return(Nakopitel.TryToAddZayavka(zayavka));
            }

            obrabotchikToAddZayavka.Zayavka = zayavka;
            return(true);
        }
Example #2
0
        public void MaintainNakopitel()
        {
            for (int i = 0; i < Obrabotchiks.Count(obrabotchik => obrabotchik.Zayavka == null); i++)
            {
                if (Nakopitel.Zayavki.Count == 0)
                {
                    return;
                }

                var zayavka = Nakopitel.Zayavki.Peek();

                if (zayavka == null)
                {
                    return;
                }

                if (TryMaintainNewZayavka(zayavka))
                {
                    Nakopitel.Zayavki.Dequeue();
                }
            }
        }