Esempio n. 1
0
        public string[] GetExecutableHomeDeviceNameOperations(int idHomeDevice)
        {
            UnitOfWork repository = UnitOfWork.GetInstance();

            HomeDevice homeDevice = repository.HomeDeviceRespository.GetById(idHomeDevice);

            if (homeDevice == null)
            {
                throw new ArgumentException("HomeDevice id doesn't exist");
            }

            return(homeDevice.GetHomeDeviceNameOperations());
        }
Esempio n. 2
0
        public void ExecuteOperation(int idHomeDeviceDestination, string operationName, object[] args)
        {
            UnitOfWork repository            = UnitOfWork.GetInstance();
            HomeDevice homeDeviceDestination = repository.HomeDeviceRespository.GetById(idHomeDeviceDestination);

            if (homeDeviceDestination == null)
            {
                throw new ArgumentException("HomeDevice destination id doesn't exist");
            }

            if (!homeDeviceDestination.GetHomeDeviceNameOperations().Contains(operationName))
            {
                throw new ArgumentException("OperationName is not available on this HomeDevice");
            }

            Operation operation = new Operation
            {
                DestionationHomeDevice = homeDeviceDestination,
                OperationName          = operationName,
                Args = new object[] { homeDeviceDestination }.Concat(args).ToArray(),
            };

            operation.Execute();
        }