public DtoEditSensor EditSensor(DtoEditSensor value) { var dbSensor = sensorRepository.Update(new Sensor() { Id = value.Id, Ip = value.Ip, Name = value.Name, Mac = value.Mac }); if (dbSensor == null) { return(null); } if (value.ScheduleId == 0) { scheduleRepository.RemoveSensorFromSchedule(dbSensor, dbSensor.ScheduleId); sensorRepository.RemoveScheduleFromSensor(value.Id); } else if (AddScheduleToSensor(value.Id, value.ScheduleId) != null) { scheduleRepository.AddSensorToScheduleById(dbSensor, value.ScheduleId); } if (value.ZoneId == 0) { zoneRepository.RemoveSensorFromZone(dbSensor, dbSensor.ZoneId); sensorRepository.RemoveZoneFromSensor(value.Id); } else if (AddZoneToSensor(value.Id, value.ZoneId) != null) { zoneRepository.AddSensorToZoneById(dbSensor, value.ZoneId); } if (value.SwitchId == 0) { switchRepository.RemoveSensorFromSwitch(dbSensor, dbSensor.SwitchId); sensorRepository.RemoveSwitchFromSensor(value.Id); } else if (AddSwitchToSensor(value.Id, value.SwitchId) != null) { switchRepository.AddSensorToSwitchById(dbSensor, value.SwitchId); } return(new DtoEditSensor() { Id = dbSensor.Id, Ip = dbSensor.Ip, Name = dbSensor.Name, Mac = dbSensor.Mac }); }