public static void DefineOrUpdateDeviceProperty(device_propertys dp) { using (zvsEntities2 db = new zvsEntities2(zvsEntityControl.GetzvsConnectionString)) { device_propertys existing_dp = db.device_propertys.FirstOrDefault(d => d.name == dp.name); if (existing_dp == null) { db.device_propertys.AddObject(dp); } else { existing_dp.friendly_name = dp.friendly_name; existing_dp.value_data_type = dp.value_data_type; existing_dp.default_value = dp.default_value; foreach (var option in db.device_property_options.Where(p => p.device_property_id == existing_dp.id).ToArray()) { db.DeleteObject(option); } foreach (device_property_options dpo in dp.device_property_options) existing_dp.device_property_options.Add(new device_property_options { name = dpo.name }); } db.SaveChanges(); } }
public static void DefineOrUpdateProperty(scene_property p) { if (p != null) { using (zvsEntities2 db = new zvsEntities2(zvsEntityControl.GetzvsConnectionString)) { scene_property existing_property = db.scene_property.FirstOrDefault(ep => ep.name == p.name); if (existing_property == null) { db.scene_property.AddObject(p); } else { //Update existing_property.friendly_name = p.friendly_name; existing_property.description = p.description; existing_property.value_data_type = p.value_data_type; existing_property.defualt_value = p.defualt_value; foreach (var option in db.scene_property_option.Where(o => o.scene_property_id == existing_property.id).ToArray()) { db.DeleteObject(option); } foreach (scene_property_option spo in p.scene_property_option) existing_property.scene_property_option.Add(new scene_property_option { option = spo.option }); } db.SaveChanges(); } } }
public void DefineOrUpdateDeviceType(device_types dt) { using (zvsEntities2 db = new zvsEntities2(zvsEntityControl.GetzvsConnectionString)) { plugin pl = db.plugins.FirstOrDefault(p => p.name == this._name); if (pl != null) { //Does device type exist? device_types existing_dt = pl.device_types.FirstOrDefault(d => d.name == dt.name); if (existing_dt == null) { pl.device_types.Add(dt); } else { existing_dt.friendly_name = dt.friendly_name; existing_dt.show_in_list = dt.show_in_list; foreach (device_type_commands dtc in dt.device_type_commands) { device_type_commands exsisting_dtc = existing_dt.device_type_commands.FirstOrDefault(d => d.name == dtc.name); if (exsisting_dtc == null) { existing_dt.device_type_commands.Add(dtc); } else { exsisting_dtc.friendly_name = dtc.friendly_name; exsisting_dtc.help = dtc.help; exsisting_dtc.custom_data2 = dtc.custom_data2; exsisting_dtc.custom_data1 = dtc.custom_data1; exsisting_dtc.arg_data_type = dtc.arg_data_type; exsisting_dtc.description = dtc.description; foreach (var option in db.device_type_command_options.Where(o => o.device_type_command_id == exsisting_dtc.id).ToArray()) { db.DeleteObject(option); } foreach (device_type_command_options dtco in dtc.device_type_command_options) exsisting_dtc.device_type_command_options.Add(new device_type_command_options { option = dtco.option }); } } } db.SaveChanges(); } } }
public void DefineOrUpdateDeviceCommand(device_commands dc) { using (zvsEntities2 db = new zvsEntities2(zvsEntityControl.GetzvsConnectionString)) { device d = db.devices.FirstOrDefault(o => o.id == dc.device_id); if (d != null) { //Does device type exist? device_commands existing_dc = d.device_commands.FirstOrDefault(c => c.name == dc.name); if (existing_dc == null) { d.device_commands.Add(dc); } else { existing_dc.help = dc.help; existing_dc.friendly_name = dc.friendly_name; existing_dc.description = dc.description; existing_dc.custom_data2 = dc.custom_data2; existing_dc.custom_data1 = dc.custom_data1; existing_dc.arg_data_type = dc.arg_data_type; existing_dc.device_command_options.Clear(); foreach (var option in db.device_command_options.Where(o => o.device_command_id == existing_dc.id).ToArray()) { db.DeleteObject(option); } foreach (device_command_options o in dc.device_command_options) existing_dc.device_command_options.Add(new device_command_options { name = o.name }); existing_dc.sort_order = dc.sort_order; } db.SaveChanges(); } } }