Exemple #1
0
        internal void DisposeDelivery(bool role, Delivery delivery, DeliveryState state, bool settled)
        {
            if (delivery.Settled)
            {
                return;
            }

            delivery.Settled = settled;
            delivery.State   = state;
            if (settled)
            {
                lock (this.ThisLock)
                {
                    LinkedList deliveryList = role ? this.incomingList : this.outgoingList;
                    deliveryList.Remove(delivery);
                }
            }

            Dispose dispose = new Dispose()
            {
                Role    = role,
                First   = delivery.DeliveryId,
                Settled = settled,
                State   = state
            };

            this.SendCommand(dispose);
        }
Exemple #2
0
        private IEnumerable <UnitTestElement> GetTests(string source)
        {
            var pluginPath = Path.GetDirectoryName(GetType().Assembly.Location);
            var sourcePath = Path.GetDirectoryName(source);
            var paths      = new[] { pluginPath, sourcePath };

            // Set up a separate app domain to avoid locking files.
            using (new AssemblyResolver(paths))
                using (var testDomain = Dispose.Of(AppDomain.CreateDomain($"{nameof(MSTestAutomationDiscoverer)}: {Path.GetFileName(source)}",
                                                                          AppDomain.CurrentDomain.Evidence,
                                                                          new AppDomainSetup
                {
                    ApplicationBase = pluginPath,
                    ShadowCopyFiles = "true",
                    ShadowCopyDirectories = sourcePath,
                    AppDomainInitializer = InitializeDomain,
                    AppDomainInitializerArguments = paths,
                    LoaderOptimization = LoaderOptimization.MultiDomain,
                    DisallowBindingRedirects = false
                }), AppDomain.Unload))
                {
                    var testSink = (ITestSink)testDomain.Value.CreateObject <TestSink>();
                    testDomain.Value.SetData("source", source);
                    testDomain.Value.SetData("testSink", testSink);
                    testDomain.Value.DoCallBack(DiscoverTests);
                    return(testSink.Tests);
                }
        }
Exemple #3
0
        public override Statistics run()
        {
            Environment env = new Environment();

            //dist
            List<double> valueList = new List<double>() { 1, 2, 3, 4, 5 };
            List<double> distribution = new List<double>() { 0.5, 0.6, 0.7, 0.8, 1.0 };
            Discrete d = new Discrete(valueList, distribution);
            //dist1
            Uniform n = new Uniform(1, 3);
            Distribution dist = new Distribution(d);
            Distribution dist1 = new Distribution(n);

            Create c = new Create(env, 0, 20, dist);

            Dispose di = new Dispose(env, 1);

            Queue q = new Queue(env, 3);
            q.Capacity = 1;
            Resource r = new Resource(env, 2, 1, dist1, q);

            c.Next_AID.Add("First", 2);
            r.Next_AID.Add("First", 1);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Setup_Simulation();
            return env.Simulate();
        }
Exemple #4
0
        void OnDispose(Dispose dispose)
        {
            SequenceNumber first = dispose.First;
            SequenceNumber last  = dispose.Last;

            lock (this.ThisLock)
            {
                LinkedList linkedList = dispose.Role ? this.outgoingList : this.incomingList;
                Delivery   delivery   = (Delivery)linkedList.First;
                while (delivery != null && delivery.DeliveryId <= last)
                {
                    Delivery next = (Delivery)delivery.Next;

                    if (delivery.DeliveryId >= first)
                    {
                        delivery.Settled = dispose.Settled;
                        if (delivery.Settled)
                        {
                            linkedList.Remove(delivery);
                        }

                        delivery.OnStateChange(dispose.State);
                    }

                    delivery = next;
                }
            }
        }
Exemple #5
0
        public ActionResult Dispose(int?id)
        {
            if (Session["AJ"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            else
            {
                var chk = db.Disposes.Where(x => x.CE_ATNO == id).ToList();

                if (chk.Count == 0)
                {
                    Models.Dispose dispose = new Dispose()
                    {
                        DIS_DateOUT = DateTime.Now,
                        DIS_Status  = 1,
                        CE_ATNO     = id
                    };
                    db.Disposes.Add(dispose);
                    var findCE = db.ComputerEquipments.FirstOrDefault(x => x.CE_ATNO == id);
                    findCE.CE_Status = 3;
                    db.SaveChanges();
                }
                else if (chk.Count > 0)
                {
                    int i = 0;
                    foreach (var collection in chk)
                    {
                        if (collection.DIS_Status == 1 || collection.DIS_Status == 2)
                        {
                            i++;
                        }
                    }

                    if (i == 0)
                    {
                        Models.Dispose dispose = new Dispose()
                        {
                            DIS_DateOUT = DateTime.Now,
                            DIS_Status  = 1,
                            CE_ATNO     = id
                        };
                        db.Disposes.Add(dispose);
                        var findCE = db.ComputerEquipments.FirstOrDefault(x => x.CE_ATNO == id);
                        findCE.CE_Status = 3;
                        db.SaveChanges();
                    }
                    else
                    {
                        //แสดงข้อความว่ากดจำหน่ายไปแล้ว
                    }
                }
            }
            return(RedirectToAction(nameof(Index), "Disposes"));
        }
Exemple #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Dispose dispose = db.Disposes.Find(id);

            db.Disposes.Remove(dispose);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #7
0
 public ActionResult Edit([Bind(Include = "DIS_ATNO,CE_ATNO,DIS_DateOUT,DIS_DateAPP,DIS_Status")] Dispose dispose)
 {
     if (ModelState.IsValid)
     {
         db.Entry(dispose).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(dispose));
 }
Exemple #8
0
 public static void BuildSelectBox()
 {
     Dispose.Using <Stream, byte[]> (() => GetStream(),
                                     (stream) => new byte[stream.Length].Tee((b) => stream.Read(b, 0, (int)stream.Length)))
     .Map(Encoding.UTF8.GetString)
     .Split(new [] { Environment.NewLine, }, StringSplitOptions.RemoveEmptyEntries)
     .Select((s, ix) => Tuple.Create(ix, s))
     .ToDictionary(k => k.Item1, v => v.Item2)
     .Map(BuildSelectBox("theDoctors", true))
     .Tee((s) => Console.WriteLine(s));
 }
Exemple #9
0
        public ActionResult Create(Dispose dispose)
        {
            if (ModelState.IsValid)
            {
                db.Disposes.Add(dispose);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(dispose));
        }
        public async Task UsingAsync_CorrectlyDisposesDisposableObject()
        {
            var disposableStub = new DisposableStub(false);

            await Dispose.UsingAsync(() => disposableStub, async stub =>
            {
                Assert.False(disposableStub.IsItDisposed);
                await Task.CompletedTask;
            });

            Assert.True(disposableStub.IsItDisposed);
        }
Exemple #11
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (Session["AJ"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Dispose dispose = db.Disposes.Find(id);

            db.Disposes.Remove(dispose);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #12
0
        public double run()
        {
            Environment env = new Environment();

            //dist for Create
            Constant Const = new Constant(1);
            Distribution CreateDist = new Distribution(Const);
            //distributions for Inventory
            List<double> States = new List<double>() { 1, 2, 3 }; //1 for good, 2 for fair, 3 for poor
            List<double> States_Prob = new List<double>() { 0.35, 0.80, 1.00 };
            Discrete StatesDisc = new Discrete(States, States_Prob);

            List<double> State1 = new List<double>() { 40, 50, 60, 70, 80, 90, 100 };
            List<double> State1_Prob = new List<double>() { 0.03, 0.08, 0.23, 0.43, 0.78, 0.93, 1.00 };
            Discrete State1Disc = new Discrete(State1, State1_Prob);

            List<double> State2 = new List<double>() { 40, 50, 60, 70, 80, 90, 100 };
            List<double> State2_Prob = new List<double>() { 0.10, 0.28, 0.68, 0.88, 0.96, 1.00, 1.00 };
            Discrete State2Disc = new Discrete(State2, State2_Prob);

            List<double> State3 = new List<double>() { 40, 50, 60, 70, 80, 90, 100 };
            List<double> State3_Prob = new List<double>() { 0.44, 0.66, 0.82, 0.94, 1.00, 1.00, 1.00 };
            Discrete State3Disc = new Discrete(State3, State3_Prob);

            Dictionary<double, Discrete> Demand = new Dictionary<double, Discrete>();
            Demand.Add(1, State1Disc);
            Demand.Add(2, State2Disc);
            Demand.Add(3, State3Disc);

            List<Int64> Amount = new List<Int64>();
            for (int i = 0; i < 20; i++) Amount.Add(70);

            Create create = new Create(env, 0, 20, CreateDist, Amount);

            Dispose dispose = new Dispose(env, 2);

            Inventory inv = new Inventory(env, 1, new TimeSpan(1), 70, StatesDisc, Demand, 0.33, 0.50, true, 0.05);

            create.Next_AID.Add("First", 1);
            inv.Next_AID.Add("First", 2);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);

            env.Setup_Simulation();
            env.Simulate();

            double sumOfProfit = 0;
            for (int i = 1; i <= 20; i++)
                sumOfProfit += (double)inv.Statistics.OtherStatistics[i][5].StatisticValue;
            return sumOfProfit;
        }
        public async Task UsingAsync_CorrectlyDisposesDisposableObjectAndReturnsValue()
        {
            var disposableStub = new DisposableStub(false);

            var result = await Dispose.UsingAsync(() => disposableStub, async stub =>
            {
                Assert.False(disposableStub.IsItDisposed);
                return(await Task.FromResult(5));
            });

            Assert.Equal(5, result);
            Assert.True(disposableStub.IsItDisposed);
        }
Exemple #14
0
        // GET: Disposes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Dispose dispose = db.Disposes.Find(id);

            if (dispose == null)
            {
                return(HttpNotFound());
            }
            return(View(dispose));
        }
Exemple #15
0
    /// <summary>
    /// 重置
    /// </summary>
    public void Reset(GameObject go, SceneState1 sceneState1)
    {
        if (go.GetComponent <SceneDeduce>().num != 0)
        {
            if (sceneState1.scene == "飞跃")
            {
                UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 01 00 00 00 00 00 00 00"));
                UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 04 01 00 09 00 00 00 00"));
            }
            go.GetComponent <SceneDeduce>().num = 0;

            OneJudge(go, sceneState1);
        }
    }
Exemple #16
0
        public ActionResult Create(Dispose dispose)
        {
            if (Session["AJ"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                db.Disposes.Add(dispose);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(dispose));
        }
Exemple #17
0
        // GET: Disposes/Details/5
        public ActionResult Details(int?id)
        {
            if (Session["AJ"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Dispose dispose = db.Disposes.Find(id);

            if (dispose == null)
            {
                return(HttpNotFound());
            }
            return(View(dispose));
        }
Exemple #18
0
        public void run()
        {
            Environment env = new Environment();

            //
            List<double> valueList = new List<double>() { 1, 2, 3, 4, 5 };
            List<double> distribution = new List<double>() { 0.5, 0.6, 0.7, 0.8, 1.0 };
            Discrete discrete = new Discrete(valueList, distribution, 0);
            //
            Uniform uniform = new Uniform(1, 3, 0);
            Distribution CreateDist = new Distribution(discrete);
            Distribution ResDist = new Distribution(uniform);

            Create c = new Create(env, 0, 4, CreateDist);

            Dispose dispose = new Dispose(env, 10);

            Queue q = new Queue(env, 5);
            q.Capacity = 10;
            Resource r = new Resource(env, 1, 1, ResDist, q);

            Queue q2 = new Queue(env, 6);
            q2.Capacity = 10;
            Resource r2 = new Resource(env, 2, 1, ResDist, q2);

            Queue q3 = new Queue(env, 7);
            q3.Capacity = 10;
            Resource r3 = new Resource(env, 3, 1, ResDist, q3);

            Queue q4 = new Queue(env, 8);
            q4.Capacity = 10;
            Resource r4 = new Resource(env, 4, 1, ResDist, q4);

            c.Next_AID.Add("First", 1);
            r.Next_AID.Add("First", 2);
            r2.Next_AID.Add("First", 3);
            r3.Next_AID.Add("First", 4);
            r4.Next_AID.Add("First", 2);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Setup_Simulation(TimeSpan.FromSeconds(300));
            env.Simulate();
        }
        protected override void ParseData(byte[] chunkData)
        {
            if (chunkData != null && chunkData.Length < 26)
            {
                throw new ArgumentException();
            }

            int offset = 0;

            sequenceNumber = Utils.ParseUint(chunkData, 4, ref offset);
            width          = Utils.ParseUint(chunkData, 4, ref offset);
            height         = Utils.ParseUint(chunkData, 4, ref offset);
            offsetX        = Utils.ParseUint(chunkData, 4, ref offset);
            offsetY        = Utils.ParseUint(chunkData, 4, ref offset);
            delayNum       = Serializar.ToUShort(new byte[] { chunkData[21], chunkData[20] });
            delayDen       = Serializar.ToUShort(new byte[] { chunkData[23], chunkData[22] });
            disposeOP      = (Dispose)chunkData[24];
            blendOP        = (Blend)chunkData[25];
        }
Exemple #20
0
        public override Statistics run()
        {
            Environment env = new Environment();

            //dist for Create
            Uniform CreateDist = new Uniform(1, 5);

            //dist for Able
            Uniform AbleDist = new Uniform(4, 6);

            //dist for Baker
            Uniform BakerDist = new Uniform(2, 5);

            Distribution DistCreate = new Distribution(CreateDist);
            Distribution DistAble = new Distribution(AbleDist);
            Distribution DistBaker = new Distribution(BakerDist);

            Create create = new Create(env, 0, 100, DistCreate);

            Dispose dispose = new Dispose(env, 10);

            Queue SharedQueue = new Queue(env, 3);

            Resource Able = new Resource(env, 1, 1, DistAble, SharedQueue);

            Resource Baker = new Resource(env, 2, 1, DistBaker, SharedQueue);

            Decide decide = new Decide(env, 5);
            //Condition
            EQCond cond = new EQCond(0, Able, Actor.StateType.Idle);
            decide.AddCondition(cond, Able.AID);
            decide.AddElse(Baker.AID);

            create.Next_AID.Add("First", 5);
            Able.Next_AID.Add("First", 10);
            Baker.Next_AID.Add("First", 10);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);

            env.Setup_Simulation();
            return env.Simulate();
        }
Exemple #21
0
        public void run()
        {
            Environment env = new Environment();

            //dist
            List<double> valueList = new List<double>() { 1, 2, 3, 4, 5 };
            List<double> distribution = new List<double>() { 0.5, 0.6, 0.7, 0.8, 1.0 };
            Discrete d = new Discrete(valueList, distribution, 0);
            //dist1
            Uniform n = new Uniform(1, 3, 0);
            Distribution dist = new Distribution(d);
            Distribution dist1 = new Distribution(n);

            Create c = new Create(env, 0, 10000, dist,null,new List<double>(){0.3,0.8,1.0});

            Dispose di = new Dispose(env, 1);

            Queue q = new Queue(env, 3);
            q.Capacity = 1;
            Resource r = new Resource(env, 2, 1, dist1, q);

            Queue q2 = new Queue(env,5);
            q2.Capacity = 1;
            Resource r2 = new Resource(env, 6, 1, dist1, q2);

            Queue q3 = new Queue(env, 10);
            q3.Capacity = 1;
            Resource r3 = new Resource(env, 7, 1, dist1, q3);

            c.Next_AID.Add("First", 2);
            c.Next_AID.Add("Second", 6);
            c.Next_AID.Add("Third", 7);

            r.Next_AID.Add("First", 1);
            r2.Next_AID.Add("First", 1);
            r3.Next_AID.Add("First", 1);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Setup_Simulation();
            env.Simulate();
        }
Exemple #22
0
        void OnDispose(Dispose dispose)
        {
            SequenceNumber first = dispose.First;
            SequenceNumber last  = dispose.Last;

            var disposedDeliveries = new List();

            lock (this.ThisLock)
            {
                LinkedList linkedList = dispose.Role ? this.outgoingList : this.incomingList;
                Delivery   delivery   = (Delivery)linkedList.First;
                while (delivery != null && delivery.DeliveryId <= last)
                {
                    Delivery next = (Delivery)delivery.Next;

                    if (delivery.DeliveryId >= first)
                    {
                        delivery.Settled = dispose.Settled;
                        if (delivery.Settled)
                        {
                            linkedList.Remove(delivery);
                        }

                        disposedDeliveries.Add(delivery);
                    }

                    delivery = next;
                }
            }

            // Update the state of the disposed deliveries
            // Note that calling delivery.OnStateChange may complete some pending SendTask, thereby triggering the
            // execution of some continuations. To avoid any deadlock, this MUST be done outside of any
            // locks (cf issue https://github.com/Azure/amqpnetlite/issues/287).
            for (int i = 0; i < disposedDeliveries.Count; i++)
            {
                var delivery = (Delivery)disposedDeliveries[i];
                disposedDeliveries[i] = null;   // Avoid trailing reference
                delivery.OnStateChange(dispose.State);
            }
        }
Exemple #23
0
        public void run()
        {
            Environment env = new Environment();

            //dist
            Uniform d = new Uniform(1, 1, 0);

            //dist1
            Uniform n = new Uniform(5, 5, 0);
            Distribution dist = new Distribution(d);
            Distribution dist1 = new Distribution(n);

            Create c = new Create(env, 0, 10, dist);

            Dispose di = new Dispose(env, 10);

            Queue q = new Queue(env, 3);
            q.Capacity = 10;
            Resource r = new Resource(env, 1, 1, dist1, q);

            Queue q2 = new Queue(env, 4);
            q2.Capacity = 5;
            Resource r2 = new Resource(env, 2, 1, dist1, q);

            Decide de = new Decide(env, 5);
            //Condition
            EQCond cond = new EQCond(0, r, Actor.StateType.Busy);
            de.AddCondition(cond, r2.AID);
            de.AddElse(r.AID);

            c.Next_AID.Add("First", 5);
            r.Next_AID.Add("First", 10);
            r2.Next_AID.Add("First", 10);

            env.System_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Start_Time = new DateTime(1970, 1, 1, 0, 0, 0);
            env.Setup_Simulation();
            env.Simulate();
            ///////
        }
Exemple #24
0
        internal void DisposeDelivery(bool role, Delivery delivery, DeliveryState state, bool settled)
        {
            Delivery current = null;

            lock (this.ThisLock)
            {
                LinkedList deliveryList = role ? this.incomingList : this.outgoingList;
                current = (Delivery)deliveryList.First;
                while (current != null)
                {
                    if (current == delivery)
                    {
                        if (settled)
                        {
                            deliveryList.Remove(current);
                        }

                        break;
                    }

                    current = (Delivery)current.Next;
                }
            }

            if (current != null)
            {
                current.Settled = settled;
                current.State   = state;
                Dispose dispose = new Dispose()
                {
                    Role    = role,
                    First   = current.DeliveryId,
                    Settled = settled,
                    State   = state
                };

                this.SendCommand(dispose);
            }
        }
        public void ExpectTransfer(Action <Amqp.Message> messageMatcher,
                                   Action <DeliveryState> stateMatcher,
                                   bool settled,
                                   bool sendResponseDisposition,
                                   DeliveryState responseState,
                                   bool responseSettled,
                                   int dispositionDelay = 0,
                                   bool batchable       = false
                                   )
        {
            var transferMatcher = new FrameMatcher <Transfer>()
                                  .WithAssertion(transfer => Assert.AreEqual(settled, transfer.Settled))
                                  .WithAssertion(transfer => stateMatcher(transfer.State))
                                  .WithAssertion(transfer => Assert.AreEqual(batchable, transfer.Batchable))
                                  .WithAssertion(messageMatcher);

            if (sendResponseDisposition)
            {
                transferMatcher.WithOnComplete(context =>
                {
                    if (dispositionDelay > 0)
                    {
                        Thread.Sleep(dispositionDelay);
                    }

                    var dispose = new Dispose()
                    {
                        Role    = Role.RECEIVER,
                        Settled = responseSettled,
                        State   = responseState,
                        First   = context.Command.DeliveryId,
                    };
                    context.SendCommand(dispose);
                });
            }

            AddMatcher(transferMatcher);
        }
Exemple #26
0
 public ResourceService(Load funcLoad, Dispose funcDispose)
 {
     _funcLoad    = funcLoad ?? throw new ArgumentNullException(nameof(funcLoad));
     _funcDispose = funcDispose ?? throw new ArgumentNullException(nameof(funcDispose));
 }
 /// <summary>
 /// Fires the Dispose event.
 /// </summary>
 /// <param name="e">An EventArgs containing the event data.</param>
 public void OnDispose(EventArgs e)
 {
     Dispose?.Invoke(this, e);
 }
 public void Process(Dispose message)
 {
     Dispose();
 }
Exemple #29
0
 private void Awake()
 {
     Instance = this;
 }
Exemple #30
0
        void OnDispose(Dispose dispose)
        {
            SequenceNumber first = dispose.First;
            SequenceNumber last = dispose.Last;
            lock (this.ThisLock)
            {
                LinkedList linkedList = dispose.Role ? this.outgoingList : this.incomingList;
                Delivery delivery = (Delivery)linkedList.First;
                while (delivery != null && delivery.DeliveryId <= last)
                {
                    Delivery next = (Delivery)delivery.Next;

                    if (delivery.DeliveryId >= first)
                    {
                        delivery.Settled = dispose.Settled;
                        delivery.OnStateChange(dispose.State);
                        if (delivery.Settled)
                        {
                            linkedList.Remove(delivery);
                        }
                    }

                    delivery = next;
                }
            }
        }
Exemple #31
0
        internal void DisposeDelivery(bool role, Delivery delivery, DeliveryState state, bool settled)
        {
            Delivery current = null;
            lock (this.ThisLock)
            {
                LinkedList deliveryList = role ? this.incomingList : this.outgoingList;
                current = (Delivery)deliveryList.First;
                while (current != null)
                {
                    if (current == delivery)
                    {
                        if (settled)
                        {
                            deliveryList.Remove(current);
                        }

                        break;
                    }

                    current = (Delivery)current.Next;
                }
            }

            if (current != null)
            {
                current.Settled = settled;
                current.State = state;
                Dispose dispose = new Dispose()
                {
                    Role = role,
                    First = current.DeliveryId,
                    Settled = settled,
                    State = state
                };

                this.SendCommand(dispose);
            }
        }
 protected override void DisposeActor()
 {
     SystemActor.AttemptsTo(Dispose.Actors(Actor, Actor2));
 }
Exemple #33
0
        protected override GeneratorDelegate CreateGenerator()
        {
            return((out IDbParameters pms) =>
            {
                List <string> list = new List <string>();
                pms = Template.CreateDbParameters();

                if (!string.IsNullOrWhiteSpace(Id))
                {
                    list.Add("a.\"Id\"=@Id");
                    pms.AddWithValue("Id", Id);
                }
                if (!string.IsNullOrWhiteSpace(OperatorId))
                {
                    list.Add("a.\"OperatorId\"=@OperatorId");
                    pms.AddWithValue("OperatorId", OperatorId);
                }
                if (StartCreateTime != null)
                {
                    list.Add("a.\"CreateTime\">=@StartCreateTime");
                    pms.AddWithValue("StartCreateTime", StartCreateTime);
                }
                if (EndCreateTime != null)
                {
                    list.Add("a.\"CreateTime\"<=@EndCreateTime");
                    pms.AddWithValue("EndCreateTime", EndCreateTime);
                }
                if (!string.IsNullOrWhiteSpace(Remark))
                {
                    list.Add("a.\"Remark\" like @Remark");
                    pms.AddWithValue("Remark", Remark.Wrap("%"));
                }

                if (!string.IsNullOrWhiteSpace(PrincipalId))
                {
                    list.Add("a.\"PrincipalId\" = @PrincipalId");
                    pms.AddWithValue("PrincipalId", PrincipalId);
                }



                if (!string.IsNullOrWhiteSpace(SheepId))
                {
                    list.Add("a.\"SheepId\"=@SheepId");
                    pms.AddWithValue("SheepId", SheepId);
                }


                if (!string.IsNullOrWhiteSpace(Reason))
                {
                    list.Add("a.\"Reason\" like @Reason");
                    pms.AddWithValue("Reason", Reason.Wrap("%"));
                }

                if (!string.IsNullOrWhiteSpace(Dispose))
                {
                    list.Add("a.\"Dispose\" like @Dispose");
                    pms.AddWithValue("Dispose", Dispose.Wrap("%"));
                }

                if (StartAbortionDate != null)
                {
                    list.Add("a.\"AbortionDate\">=@StartAbortionDate");
                    pms.AddWithValue("StartAbortionDate", StartAbortionDate);
                }
                if (EndAbortionDate != null)
                {
                    list.Add("a.\"AbortionDate\"<=@EndAbortionDate");
                    pms.AddWithValue("EndAbortionDate", EndAbortionDate);
                }

                list.Add("m.\"IsDel\"=@mIsDel");
                pms.AddWithValue("mIsDel", IsDel);

                list.Add("a.\"IsDel\"=@aIsDel");
                pms.AddWithValue("aIsDel", IsDel);


                return list;
            });
        }
Exemple #34
0
    /// <summary>
    /// 全场景演绎浏览
    /// </summary>
    /// <param name="go"></param>
    /// <param name="sceneState1s"></param>
    public void Judge(GameObject go, List <SceneState1> sceneState1s)
    {
        bool isFinnish = true;
        int  a         = 0;

        if (go.GetComponent <ModuleControl>().step_inf.text == "")
        {
            a = go.GetComponent <ModuleControl>().num;
        }
        else
        {
            a = int.Parse(go.GetComponent <ModuleControl>().step_inf.text);
        }
        if (a == 0)
        {
            UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 01 00 00 00 00 00 00 00"));
            UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 04 01 00 09 00 00 00 00"));
        }
        #region

        int b         = 0;
        int scene_num = 0;
        int step_num  = 0;

        for (int i = 0; i < sceneState1s.Count; i++)
        {
            for (int j = 0; j < sceneState1s[i].phases.Count; j++)
            {
                if (b == a)
                {
                    if (j == sceneState1s[i].phases.Count - 1 && i != sceneState1s.Count - 1)
                    {
                        scene_num = i + 1;
                        step_num  = 0;
                    }
                    else if (j == sceneState1s[i].phases.Count - 1 && i == sceneState1s.Count - 1)
                    {
                        scene_num = i;
                        step_num  = j;
                    }
                    else
                    {
                        scene_num = i;
                        step_num  = j + 1;
                    }

                    isFinnish = false;
                    for (int k = 0; k < sceneState1s[i].phases[j].LightState.Count; k++)
                    {
                        LightStates lightStates = sceneState1s[i].phases[j].LightState[k];
                        StartCoroutine(Play0nClick(lightStates));
                    }
                    ///需要控制的播控盒列表
                    for (int k = 0; k < sceneState1s[i].phases[j].MovieStates.Count; k++)
                    {
                        MovieStates movieStates = sceneState1s[i].phases[j].MovieStates[k];

                        if (movieStates.movie_file == "0000")
                        {
                            StartCoroutine(BoxVolumeSub(movieStates, movieStates.isCycle));
                        }
                        else
                        {
                            StartCoroutine(BoxVolumeAdd(movieStates, movieStates.isCycle));
                            if (movieStates.movie_ip == "192.168.2.234")
                            {
                                StartCoroutine(Baozha(24));
                            }
                        }
                    }
                    float yizi = 0;
                    ///需要控制的投影仪列表
                    for (int k = 0; k < sceneState1s[i].phases[j].projectStates.Count; k++)
                    {
                        ProjectStates projectStates = sceneState1s[i].phases[j].projectStates[k];
                        if (projectStates.project_name.Length > 3)
                        {
                            UDPServer.Instance.SocketSendIP3(projectStates.project_ip, 6581, strToToHexByte(projectStates.project_name));
                            yizi = 4.5f;
                        }
                        else
                        {
                            if (projectStates.project_name == "000")
                            {
                                UDPServer.Instance.SocketSendIP2(projectStates.project_ip, 3012, "PauseProject");
                            }
                            else
                            {
                                UDPServer.Instance.SocketSendIP2(projectStates.project_ip, 3012, "PlayProject " + projectStates.project_name);
                            }
                        }
                    }

                    if (!sceneState1s[i].phases[j].isStop)
                    {
                        go.GetComponent <ModuleControl>().times = 0;
                        if (yizi != 0)
                        {
                            go.GetComponent <ModuleControl>().timer = yizi;
                        }
                        else
                        {
                            go.GetComponent <ModuleControl>().timer = sceneState1s[i].phases[j].time;
                        }
                        go.GetComponent <ModuleControl>().isStop = true;
                    }
                    else
                    {
                        go.GetComponent <ModuleControl>().times  = 0;
                        go.GetComponent <ModuleControl>().isStop = false;
                    }

                    go.GetComponent <ModuleControl>().scene_name.text = sceneState1s[i].scene;
                }
                b++;
            }
        }
        #endregion
        go.GetComponent <ModuleControl>().next_btn.GetComponent <Item>().name = sceneState1s[scene_num].phases[step_num].introduce;
        a++;
        if (isFinnish)
        {
            go.GetComponent <ModuleControl>().num             = 0;
            go.GetComponent <ModuleControl>().scene_name.text = "已经结束";
        }
        else
        {
            go.GetComponent <ModuleControl>().step_inf.text = a.ToString();
            go.GetComponent <ModuleControl>().num           = a;
        }
    }