Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
                }
            }
        }
Exemplo n.º 3
0
        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();
                }
            }
        }
Exemplo n.º 4
0
        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();
                }
            }
        }