コード例 #1
0
        private async Task <Thing> ReturnThing(int thingId)
        {
            var thing = thingList.Where(x => x.thingId == thingId).FirstOrDefault();

            if (thing == null)
            {
                var thingGet = await _otherApi.GetThing(thingId);

                if (thingGet == null)
                {
                    return(null);
                }

                thingList.Add(thingGet);
                return(thingGet);
            }
            return(thing);
        }
コード例 #2
0
        private async Task <bool> OpTypeTira(ProductionOrder productionOrder)
        {
            var trigger = _configuration["TagIdTrigger"];
            // Finaliza Ordem anterior
            var triggerPlc = _interleverDb.Write("2", trigger, "Linha");


            List <Thing> thingsGetList = new List <Thing>();
            var          trigger3      = _configuration["TagIdTrigger"];
            await _interleverDb.Write("2", trigger, "Linha");

            var phases = productionOrder.recipe.phases;

            /*Console.WriteLine("");
             * Console.WriteLine("");
             * Console.WriteLine("");
             * Console.WriteLine("Phase: ------------------------------------------------------------ ");
             * Console.WriteLine("Phase-> " +JsonConvert.SerializeObject(phases).ToString() );
             * Console.WriteLine("");
             * Console.WriteLine("");
             * Console.WriteLine("");
             * Console.WriteLine("Loop de phases");
             * Console.WriteLine(""); */
            foreach (var phase in phases)
            {
                foreach (var phaseParameter in phase.phaseParameters)
                {
                    /*Console.WriteLine("");
                    *  Console.WriteLine("");
                    *  Console.WriteLine("");
                    *  Console.WriteLine("phaseParameter: ------------------------------------------------------------ ");
                    *  Console.WriteLine("phaseParameter-> " +JsonConvert.SerializeObject(phaseParameter).ToString() );
                    *  Console.WriteLine("");
                    *  Console.WriteLine("");
                    *  Console.WriteLine("");*/
                    string value = phaseParameter.setupValue;

                    var tag = await _otherApi.GetTag(phaseParameter.tag.tagId);

                    //var tag = phaseParameter.tag;
                    //Console.WriteLine("tag: ------------------------------------------------------------ ");
                    //Console.WriteLine("tag-> " +JsonConvert.SerializeObject(tag).ToString() );
                    var thingGroup = await _otherApi.GetThingGroup(tag.thingGroupId);

                    //Console.WriteLine("Loop thingGroup: ------------------------------------------------------------ ");

                    foreach (var thingId in thingGroup.thingsIds)
                    {
                        Console.WriteLine("Foi no Foreach");
                        Console.WriteLine("");
                        Thing thing = null;

                        thing = thingsGetList.Where(x => x.thingId == thingId).FirstOrDefault();
                        Console.WriteLine("thingId" + thingId.ToString());
                        if (thing == null)
                        {
                            Console.WriteLine("get na thing");
                            thing = await _otherApi.GetThing(thingId);

                            //Console.WriteLine(JsonConvert.SerializeObject(await _otherApi.GetThing(thingId)).ToString() );
                            if (thing != null)
                            {
                                thingsGetList.Add(thing);
                            }
                        }
                        //Console.WriteLine(JsonConvert.SerializeObject(thing).ToString() );
                        if (string.IsNullOrEmpty(tag.physicalTag))
                        {
                            Console.WriteLine("");
                            Console.WriteLine("");
                            Console.WriteLine("Deu ruim");
                            Console.WriteLine("");
                            Console.WriteLine("");
                            continue;
                        }
                        Console.Write("Physical da tag :");
                        Console.WriteLine(tag.physicalTag);
                        Console.Write("Valor da tag :");
                        Console.WriteLine(value);
                        Console.Write("phisical connection : ");
                        Console.WriteLine(thing.physicalConnection);
                        Console.WriteLine("");
                        var e = _interleverDb.Write(value, tag.physicalTag, thing.physicalConnection);
                        Console.WriteLine("Fim");
                    }
                }
            }

            // envia o trigger para o PLC
            var triggerPlc2 = await _interleverDb.Write("5", trigger, "Linha");

            return(true);
        }