public ActionResult CreateDevice(string buttonSubmit, string nameDevice)
        {
            deviceDataView.DeviceList = GetAllDevices();
            devicesList = deviceDataView.DeviceList;
            Factory factory = new Factory();

            bool nameDouble = devicesList.Exists(device => device.Name == nameDevice);

            if (string.IsNullOrEmpty(nameDevice) == false && nameDouble == false)
            {
                switch (buttonSubmit)
                {
                case "TV":
                {
                    devicesList.Add(factory.CreatorTV(nameDevice));
                    break;
                }

                case "SD":
                {
                    devicesList.Add(factory.CreatorSound(nameDevice));
                    break;
                }

                case "condit":
                {
                    devicesList.Add(factory.CreatorConditioner(nameDevice));
                    break;
                }

                case "heater":
                {
                    devicesList.Add(factory.CreatorHeater(nameDevice));
                    break;
                }

                default:    //blower
                {
                    devicesList.Add(factory.CreatorBlower(nameDevice));
                    break;
                }
                }
                deviceDataView.Message      = null;
                deviceDataView.DeviceActive = devicesList.Count - 1;
                EventStateDevice();

                MapperDevices mapper   = new MapperDevices();
                DeviceDb      deviceDb = mapper.GetDeviceDb(devicesList.Last <IDevicable>());
                deviceDbContext.Devices.Add(deviceDb);
                deviceDbContext.SaveChanges();

                TempData["deviceData"] = deviceDataView;
                return(RedirectToAction("Index"));
            }
            else
            {
                deviceDataView.Message = "Устройство с таким именем уже имеется, введите другое имя.";
                return(View(deviceDataView));
            }
        }
        public ActionResult DeleteDevice(string parameter)// поменять на работу с id устройством............ (int? parameter)
        {
            List <DeviceDb> devicesDbList = deviceDbContext.Devices.ToList();
            DeviceDb        activDeviceDb = devicesDbList.Find(dev => dev.Name == parameter);

            if (activDeviceDb != null)
            {
                devicesDbList.Remove(activDeviceDb);
                deviceDbContext.Devices.Remove(activDeviceDb);
                deviceDbContext.SaveChanges();

                MapperDevices mapper = new MapperDevices();
                deviceDataView.DeviceList = mapper.GetAllDeviceModel(devicesDbList);
            }
            //
            if (deviceDataView.DeviceList.Count > 0)
            {
                deviceDataView.DeviceActive = 0;
            }
            else
            {
                deviceDataView.DeviceActive = null;
            }

            TempData["deviceData"] = deviceDataView;
            return(RedirectToAction("Index"));
        }
        private List <IDevicable> GetAllDevices()
        {
            IEnumerable <DeviceDb> devicesDbList = deviceDbContext.Devices.ToList();
            MapperDevices          mapper        = new MapperDevices();
            List <IDevicable>      devices       = mapper.GetAllDeviceModel(devicesDbList);

            return(devices);
        }