Exemplo n.º 1
0
        public void Add(CommandType primaryInput,
                        CommandType primaryOutput,
                        string secondaryInput  = null,
                        string secondaryOutput = null,
                        Dictionary <StringEnum, string> stringParams = null,
                        string sourceAddress        = null,
                        NetomityObject sourceObject = null,
                        int delaySecs = 0
                        )
        {
            if (_mappings == null)
            {
                _mappings = new List <Mapping>();
            }

            _mappings.Add(new Mapping()
            {
                PrimaryInput    = primaryInput,
                PrimaryOutput   = primaryOutput,
                SecondaryInput  = secondaryInput,
                SecondaryOutput = secondaryOutput,
                StringParams    = stringParams,
                SourceAddress   = sourceAddress,
                SourceObject    = sourceObject,
                DelaySecs       = delaySecs,
            });
        }
Exemplo n.º 2
0
 internal void DelegateCommand(CommandType primary, string secondary, NetomityObject sourceObject)
 {
     Targets.ForEach(t =>
     {
         Log("Delegating Command: {0} to {1}", primary, t.Name);
         t.Command(primary: primary, secondary: secondary, sourceObject: sourceObject);
     }
                     );
 }
Exemplo n.º 3
0
 public Task <bool> Command(CommandType primary, string secondary = null, NetomityObject sourceObject = null, Dictionary <StringEnum, string> stringParams = null)
 {
     return(Command(command: new Command()
     {
         Destination = Address,
         Primary = primary,
         Secondary = secondary,
         SourceObject = sourceObject,
         StringParams = stringParams
     }));
 }
Exemplo n.º 4
0
        public void SetUp()
        {
            // Reset the static parameters of the class
            Type            staticType = typeof(NetomityObject);
            ConstructorInfo ci         = staticType.TypeInitializer;

            object[] parameters = new object[0];
            ci.Invoke(null, parameters);

            // New clean instance without static leftovers from prior unit test
            _no = new NetomityObjectTestObj();
        }
Exemplo n.º 5
0
        public IHttpActionResult SetNetomityObjectProperty(string id, string property, string primary, string secondary = null)
        {
            Int32 iid = 0;
            IQueryable <NetomityObject> nsojbs = null;
            List <NetomityObject>       objs   = null;
            NetomityObject obj    = null;
            bool           status = false;

            nsojbs = NetomitySystem.Factory().NetomityObjects;
            //            var objs = c_objects.Where(o =>).ToList();
            if (Int32.TryParse(id, out iid))
            {
                objs = nsojbs.Where(o => o.Id == iid).ToList();
            }

            if (iid == 0 || objs.Count() == 0)
            {
                objs = nsojbs.Where(o => o.Name != null && o.Name.ToLower() == id.ToLower()).ToList();
            }


            if (objs.Count() > 0)
            {
                obj = objs.First();
                var sd = (StateDevice)obj;
                switch (property.ToLower())
                {
                case "command":
                    sd.Command(Conversions.ValueToStringEnum <CommandType>(primary), secondary);
                    status = true;
                    break;

                case "state":
                    var state = new State()
                    {
                        Primary   = Conversions.ValueToStringEnum <StateType>(primary),
                        Secondary = secondary
                    };
                    sd.State = state;
                    status   = true;
                    break;
                }
            }

            //return _JSONResponse<NetomityObject>(status, obj);
            return(Json(obj));
        }
Exemplo n.º 6
0
        public void FilterPriorityTest2()
        {
            NetomityObject lastCalled = null;

            var commandOutput = new Command()
            {
                Primary = CommandType.On
            };


            var b1 = new Netomity.Devices.Behaviors.Fakes.StubBehaviorBase()
            {
                Priority = BehaviorPriority.Medium
            };

            b1.FilterCommandCommand = (c) =>
            {
                lastCalled = b1;
                return(commandOutput);
            };

            var b2 = new Netomity.Devices.Behaviors.Fakes.StubBehaviorBase()
            {
                Priority = BehaviorPriority.MediumMediumLast
            };

            b2.FilterCommandCommand = (c) =>
            {
                lastCalled = b2;
                return(commandOutput);
            };



            var sd = new StateDevice(behaviors: new List <BehaviorBase>()
            {
                b1, b2
            });

            sd.Command(primary: CommandType.Off);
            Assert.AreEqual(sd.State.Primary, StateType.On);
            Assert.AreEqual(b2, lastCalled);

            b2.Priority = BehaviorPriority.First;
            sd.Command(primary: CommandType.Off);
            Assert.AreEqual(b1, lastCalled);
        }
Exemplo n.º 7
0
 public MapCommand(CommandType primaryInput  = null,
                   CommandType primaryOutput = null,
                   string secondaryInput     = null,
                   string secondaryOutput    = null,
                   Dictionary <StringEnum, string> stringParams = null,
                   string sourceAddress        = null,
                   NetomityObject sourceObject = null,
                   int delaySecs = 0
                   )
 {
     if (primaryInput != null)
     {
         Add(primaryInput: primaryInput,
             primaryOutput: primaryOutput,
             secondaryInput: secondaryInput,
             secondaryOutput: secondaryOutput,
             stringParams: stringParams,
             sourceAddress: sourceAddress,
             sourceObject: sourceObject,
             delaySecs: delaySecs
             );
     }
 }