コード例 #1
0
ファイル: ThermostatViewModel.cs プロジェクト: Mavtak/roomie
        public ThermostatModel(Device device)
        {
            _device = device;

            Core = new ThermostatCoreModel(_device);
            Fan = new ThermostatFanModel(_device);
            Setpoints = new ThermostatSetpointModel(_device);
        }
コード例 #2
0
ファイル: DeviceRepository.cs プロジェクト: Mavtak/roomie
        public void Add(Device device)
        {
            var model = DeviceModel.FromRepositoryType(device, _networks);

            _devices.Add(model);

            _save();

            device.SetId(model.Id);
        }
コード例 #3
0
ファイル: DeviceModel.cs プロジェクト: Mavtak/roomie
        public static DeviceModel FromRepositoryType(Device model, DbSet<NetworkModel> networks)
        {
            var result = new DeviceModel
            {
                Address = model.Address,
                CurrentAction = model.CurrentAction,
                Id = model.Id,
                IsConnected = model.IsConnected,
                LastPing = model.LastPing,
                Name = model.Name,
                Network = (model.Network == null) ? null : networks.Find(model.Network.Id),
                Notes = model.ToXElement().ToString(),
                Type = model.Type
            };

            return result;
        }
コード例 #4
0
ファイル: BinarySensorModel.cs プロジェクト: Mavtak/roomie
 public BinarySensorModel(Device device)
 {
     _device = device;
 }
コード例 #5
0
 public void Update(Device device)
 {
     _devices.Update(device);
 }
コード例 #6
0
 public void Remove(Device device)
 {
     _devices.Remove(device);
 }
コード例 #7
0
 public void Add(Device device)
 {
     _devices.Add(device);
 }
コード例 #8
0
ファイル: ColorSwitchModel.cs プロジェクト: Mavtak/roomie
 public ColorSwitchModel(Device deviceModel)
 {
     _device = deviceModel;
 }
コード例 #9
0
ファイル: ThermostatFanModel.cs プロジェクト: Mavtak/roomie
 public ThermostatFanModel(Device device)
 {
     _device = device;
 }
コード例 #10
0
ファイル: DeviceRepository.cs プロジェクト: Mavtak/roomie
        public void Remove(Device device)
        {
            var model = _devices.Find(device.Id);

            _devices.Remove(model);

            _save();
        }
コード例 #11
0
ファイル: DeviceRepository.cs プロジェクト: Mavtak/roomie
        public void Update(Device device)
        {
            var model = _devices.Find(device.Id);

            model.Name = device.Name;
            model.Type = device.Type;
            model.Notes = DeviceModel.FromRepositoryType(device, _networks).Notes;

            _save();
        }
コード例 #12
0
ファイル: ThermostatCoreModel.cs プロジェクト: Mavtak/roomie
 public ThermostatCoreModel(Device device)
 {
     _device = device;
 }
コード例 #13
0
ファイル: Device.cs プロジェクト: Mavtak/roomie
        public static Device Create(int id, IDeviceState state)
        {
            var result = new Device(
                address: null,
                lastPing: null,
                id: id,
                name: null,
                network: null,
                scripts: null,
                state: state,
                tasks: null,
                type: null
                );

            return result;
        }
コード例 #14
0
ファイル: Device.cs プロジェクト: Mavtak/roomie
        public static Device Create(string address, bool? isConnected, string name, Network network, ILocation location, DeviceType type, string currentAction = null)
        {
            var result = new Device(
                address: address,
                lastPing: null,
                id: 0,
                name: name,
                network: network,
                scripts: null,
                state: null,
                tasks: null,
                type: type
                );

            result.CurrentAction = currentAction;

            return result;
        }
コード例 #15
0
ファイル: ToggleSwitchModel.cs プロジェクト: Mavtak/roomie
 public ToggleSwitchModel(Device device)
 {
     _device = device;
 }
コード例 #16
0
ファイル: DeviceModel.cs プロジェクト: Mavtak/roomie
        public Device ToRepositoryType(IScriptRepository scripts, ITaskRepository tasks)
        {
            IDeviceState state = null;

            if (!string.IsNullOrEmpty(Notes))
            {
                var element = XElement.Parse(Notes);
                state = element.ToDeviceState();
            }

            var result = new Device(
                address: Address,
                lastPing: LastPing,
                id: Id,
                name: Name,
                network: Network.ToRepositoryType(),
                scripts: scripts,
                state: state,
                tasks: tasks,
                type: Type
                );

            return result;
        }
コード例 #17
0
ファイル: DimmerSwitchModel.cs プロジェクト: Mavtak/roomie
 public DimmerSwitchModel(Device device)
 {
     _device = device;
 }
コード例 #18
0
ファイル: DeviceController.cs プロジェクト: Mavtak/roomie
 private static Device GetSerializableVersion(Device device)
 {
     return Device.Create(device.Id, device);
 }