public AlergenPreparatViewModel(Preparat preparat, Cont user)
 {
     PreparatAles = preparat;
     pAct         = new AlergenActions(this);
     User         = user;
 }
Esempio n. 2
0
 internal ContMap(AltMap <X, Y> yA, Cont <Y> yK)
 {
     this.yA = yA;
     this.yK = yK;
 }
Esempio n. 3
0
        /// <summary>
        /// Defines a new variable, that is binds a value to an identifier.
        /// </summary>
        private Bounce ApplyDefineVarSpecialForm(IExpression expression, Environment env, Cont cont)
        {
            var defineVarSpecialForm = expression as ScmDefineVarSpecialForm;

            // First evaluate the expression that we are going to bind to a name.
            return(() => Eval(defineVarSpecialForm.Expression, env, evalResult =>
            {
                // Bind the value to the given name in the currect environment.
                env.Define(defineVarSpecialForm.Name, (IExpression)evalResult);
                // Define always returns the unassigned as result.
                return (Bounce)cont(ScmUnassigned.Instance);
            }));
        }
Esempio n. 4
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do(StaticData.zero).DoJob(ref wr, xK);
 }
Esempio n. 5
0
 internal override void TryAlt(ref Worker wr, int i, Cont <Y> yK, Else yE)
 {
     xA.TryAlt(ref wr, i, new ContBind(this, yK), yE);
 }
Esempio n. 6
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do(Randomizer.Next(ref wr.RandomLo, ref wr.RandomHi)).DoJob(ref wr, xK);
 }
Esempio n. 7
0
 internal WithNackCont(Cont <X> xK, Else xE)
 {
     this.xK = xK;
     this.xE = xE;
 }
Esempio n. 8
0
 ///
 public abstract Work Do(Cont <X> xK);
Esempio n. 9
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Work.Do(Do(xK), ref wr);
 }
Esempio n. 10
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     xJJ.DoJob(ref wr, new ContJoin(xK));
 }
Esempio n. 11
0
 internal ContJoin(Cont <X> xK)
 {
     this.xK = xK;
 }
Esempio n. 12
0
 internal ContWhile(JobWhileDoDelay <X> uJ, Cont <Unit> uK)
 {
     this.uJ = uJ;
     this.uK = uK;
 }
Esempio n. 13
0
 internal ContFor(JobFor <S, R, F> fJ, Cont <F> fK, S s)
 {
     this.fJ = fJ;
     this.fK = fK;
     this.s  = s;
 }
Esempio n. 14
0
 internal ContUsing(JobUsing <X, Y> yJ, Cont <Y> yK)
 {
     this.yJ = yJ;
     this.yK = yK;
 }
Esempio n. 15
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Handler.DoHandle(xK, ref wr, e);
 }
Esempio n. 16
0
 internal override void DoJob(ref Worker wr, Cont <Unit> uK)
 {
     Worker.PushNew(ref wr, Do());
     Work.Do(uK, ref wr);
 }
Esempio n. 17
0
 internal override void TryAlt(ref Worker wr, int i, Cont <X> xK, Else xE)
 {
     Handler.DoHandle(xK, ref wr, e);
 }
Esempio n. 18
0
 internal JobWork(Job <T> tJ, Cont <T> tK)
 {
     this.tJ = tJ;
     this.tK = tK;
 }
Esempio n. 19
0
 internal GuardJobCont(Cont <X> xK)
 {
     this.xK = xK;
 }
Esempio n. 20
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do(wr.Scheduler).DoJob(ref wr, xK);
 }
Esempio n. 21
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do(StaticData.zero).DoJob(ref wr, new GuardJobCont <X, xA>(xK));
 }
Esempio n. 22
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do(xK.GetProc(ref wr)).DoJob(ref wr, xK);
 }
Esempio n. 23
0
 internal ContBind(AltBind <X, Y> yA, Cont <Y> yK)
 {
     this.yA = yA;
     this.yK = yK;
 }
Esempio n. 24
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Cont.Do(xK, ref wr, Do(xK.GetProc(ref wr)));
 }
Esempio n. 25
0
 internal override void DoJob(ref Worker wr, Cont <Y> yK)
 {
     xA.DoJob(ref wr, new ContMap(this, yK));
 }
Esempio n. 26
0
 ///
 internal override void DoJob(ref Worker wr, Cont <ulong> rK)
 {
     Cont.Do(rK, ref wr, Randomizer.Next(ref wr.RandomLo, ref wr.RandomHi));
 }
Esempio n. 27
0
            internal override void DoJob(ref Worker wr, Cont <Unit> uK)
            {
                var mv = this.MV;

TryNextTaker:
                var state = mv.State;

                if (state == MVar <T> .Locked)
                {
                    goto TryNextTaker;
                }
                if (state != Interlocked.CompareExchange(ref mv.State, MVar <T> .Locked, state))
                {
                    goto TryNextTaker;
                }

                if (state == MVar <T> .Empty)
                {
                    goto WasEmpty;
                }

                var tail = mv.Takers;

                if (null == tail)
                {
                    goto MVarFull;
                }
                var cursor = tail.Next;

                if (tail == cursor)
                {
                    mv.Takers = null;
                    mv.State  = MVar <T> .Empty;
                }
                else
                {
                    tail.Next = cursor.Next;
                    mv.State  = MVar <T> .Demand;
                    tail      = cursor as Cont <T>;
                }

                var taker = tail as Taker <T>;

                if (null == taker)
                {
                    goto GotTaker;
                }
                var pk = taker.Pick;

TryPick:
                int st = Pick.TryPick(pk);

                if (st > 0)
                {
                    goto TryNextTaker;
                }
                if (st < 0)
                {
                    goto TryPick;
                }

                Pick.SetNacks(ref wr, taker.Me, pk);

                tail = taker.Cont;
GotTaker:
                tail.Value = this.X;
                Worker.Push(ref wr, tail);
                Work.Do(uK, ref wr);
                return;

WasEmpty:
                mv.Value = this.X;
                mv.State = MVar <T> .Full;
                Work.Do(uK, ref wr);
                return;

MVarFull:
                uK.DoHandle(ref wr, new Exception("MVar full"));
            }
Esempio n. 28
0
 internal override void DoJob(ref Worker wr, Cont <X> xK)
 {
     Do().DoJob(ref wr, xK);
 }
Esempio n. 29
0
        /// <summary>
        /// This method defines a procedure, effectively binds lambda to an identifier.
        /// </summary>
        private Bounce ApplyDefineProcSpecialForm(IExpression expression, Environment env, Cont cont)
        {
            var defineProcSpecialForm = expression as ScmDefineProcSpecialForm;
            // Create a closure.
            var newProcedure = new ScmClosure(defineProcSpecialForm, env);

            // Bind it to the given name.
            env.Define(defineProcSpecialForm.ProcedureName, newProcedure);
            // Define returns the unassigned as result.
            return((Bounce)cont(ScmUnassigned.Instance));
        }
Esempio n. 30
0
        public List <InformatiiCos> Cumparaturi(Cont user)
        {
            RestaurantEntities1 context = new RestaurantEntities1();

            List <InformatiiCos> aux = new List <InformatiiCos>();

            foreach (var preparat in Preparate(user))
            {
                string denumire = "";
                foreach (var prep in context.Preparats.ToList())
                {
                    if (prep.id_preparat == preparat.id_preparat)
                    {
                        denumire = prep.denumire;
                    }
                }
                double pret = 0;
                foreach (var prep in context.Preparats.ToList())
                {
                    if (prep.id_preparat == preparat.id_preparat)
                    {
                        pret = double.Parse(prep.pret.ToString());
                    }
                }
                int bucati = 0;
                foreach (var prep in context.PreparatComandas.ToList())
                {
                    if (prep.id_preparat == preparat.id_preparat)
                    {
                        bucati = int.Parse(prep.nrBucati.ToString());
                    }
                }
                aux.Add(new InformatiiCos(denumire, bucati, pret));
            }
            foreach (var meniu in Meniuri(user))
            {
                string denumire = "";
                foreach (var prep in context.Menius.ToList())
                {
                    if (prep.id_meniu == meniu.id_meniu)
                    {
                        denumire = prep.denumireMeniu;
                    }
                }
                double pret = 0;
                foreach (var prep in context.Menius.ToList())
                {
                    if (prep.id_meniu == meniu.id_meniu)
                    {
                        pret = double.Parse(prep.pret.ToString());
                    }
                }
                int bucati = 0;
                foreach (var prep in context.MeniuComandas.ToList())
                {
                    if (prep.id_meniu == meniu.id_meniu)
                    {
                        bucati = int.Parse(prep.nrBucati.ToString());
                    }
                }
                aux.Add(new InformatiiCos(denumire, bucati, pret));
            }
            return(aux);
        }