public static void Seed(SmartHomeAutomationContext dbContext)
        {
            var deviceCategories = new List <DeviceCategory>
            {
                new DeviceCategory
                {
                    DeviceCategoryName = "Heating/Cooling"
                },
                new DeviceCategory
                {
                    DeviceCategoryName = "Lighting"
                }
            };

            dbContext.DeviceCategories.AddRange(deviceCategories);
            dbContext.SaveChanges();
        }
        public static void Seed(SmartHomeAutomationContext dbContext)
        {
            var deviceCategories = dbContext.DeviceCategories;

            var deviceTypes = new List <DeviceType>();

            foreach (var deviceCategory in deviceCategories)
            {
                switch (deviceCategory.DeviceCategoryName)
                {
                case "Heating/Cooling":
                    deviceTypes.Add(new DeviceType
                    {
                        DeviceTypeName   = "Thermostat",
                        DeviceCategoryId = deviceCategory.DeviceCategoryId
                    });
                    deviceTypes.Add(new DeviceType
                    {
                        DeviceTypeName   = "Temperature Sensor",
                        DeviceCategoryId = deviceCategory.DeviceCategoryId
                    });
                    break;

                case "Lighting":
                    deviceTypes.Add(new DeviceType()
                    {
                        DeviceTypeName   = "Lightbulb - White",
                        DeviceCategoryId = deviceCategory.DeviceCategoryId
                    });
                    deviceTypes.Add(new DeviceType()
                    {
                        DeviceTypeName   = "Lightbulb - Color",
                        DeviceCategoryId = deviceCategory.DeviceCategoryId
                    });
                    break;
                }
            }

            dbContext.DeviceTypes.AddRange(deviceTypes);
            dbContext.SaveChanges();
        }
        public static void Seed(SmartHomeAutomationContext dbContext)
        {
            var manufacturers = new List <Manufacturer>
            {
                new Manufacturer
                {
                    ManufacturerName           = "Philips Hue",
                    ManufacturerWebsiteAddress = "http://meethue.com"
                },
                new Manufacturer
                {
                    ManufacturerName           = "EcoBee",
                    ManufacturerWebsiteAddress = "http://www.ecobee.com"
                },
                new Manufacturer
                {
                    ManufacturerName           = "Nest",
                    ManufacturerWebsiteAddress = "http://nest.com"
                }
            };

            dbContext.Manufacturers.AddRange(manufacturers);
            dbContext.SaveChanges();
        }
Пример #4
0
        public static void Seed(SmartHomeAutomationContext dbContext)
        {
            var deviceTypes  = dbContext.DeviceTypes;
            var manufactures = dbContext.Manufacturers;

            var devices = new List <Device>();

            foreach (var deviceType in deviceTypes)
            {
                var ecoBee = manufactures.FirstOrDefault(m => m.ManufacturerName == "EcoBee");
                var nest   = manufactures.FirstOrDefault(m => m.ManufacturerName == "Nest");
                var hue    = manufactures.FirstOrDefault(m => m.ManufacturerName == "Philips Hue");
                switch (deviceType.DeviceTypeName)
                {
                case "Thermostat":
                    if (ecoBee != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "EcoBee 3",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = ecoBee.ManufacturerId
                        });
                    }
                    if (nest != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "Nest Series 4",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = nest.ManufacturerId
                        });
                    }
                    break;

                case "Temperature Sensor":
                    if (ecoBee != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "EcoBee Sensor",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = ecoBee.ManufacturerId
                        });
                    }
                    if (nest != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "Nest Sensor",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = nest.ManufacturerId
                        });
                    }
                    break;

                case "Lightbulb - White":
                    if (hue != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "Hue White Smart LED Bulb - E26",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = hue.ManufacturerId
                        });
                        devices.Add(new Device
                        {
                            DeviceName     = "Hue White Ambiance Smart LED Bulb - E26",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = hue.ManufacturerId
                        });
                    }
                    break;

                case "LightBulb - Color":
                    if (hue != null)
                    {
                        devices.Add(new Device
                        {
                            DeviceName     = "Hue White & Color Ambiance Smart LED Bulb - E26",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = hue.ManufacturerId
                        });
                        devices.Add(new Device
                        {
                            DeviceName     = "Hue White & Color Ambiance Smart LED Bulb - E12",
                            DeviceTypeId   = deviceType.DeviceTypeId,
                            ManufacturerId = hue.ManufacturerId
                        });
                    }
                    break;
                }
            }

            dbContext.Devices.AddRange(devices);
            dbContext.SaveChanges();
        }