示例#1
0
 private void Start()
 {
     electricalDevice = GetComponent <ElectricalDevice>();
     audioManager     = GameObject.Find("AudioManager").GetComponent <AudioManager>();
     spriteRenderer   = GetComponent <SpriteRenderer>();
     tool             = GetComponent <Tool>();
     tool.toolType    = ToolType.Gun;
 }
        public IActionResult Post([FromBody] ElectricalDeviceCreateModel electricalDeviceCreateModel)
        {
            if (electricalDeviceCreateModel == null)
            {
                return(BadRequest());
            }

            var electricalDevice = new ElectricalDevice();

            electricalDevice = mapper.Map <ElectricalDeviceCreateModel, ElectricalDevice>(electricalDeviceCreateModel);

            this.electricalDeviceService.Add(electricalDevice);

            return(CreatedAtAction("Post", new { id = electricalDevice.Id }, electricalDevice));
        }
示例#3
0
 private string getDeviceName(ElectricalDevice dev)
 {
     return(dev.Name);
 }
示例#4
0
        private void CommandLineExecute(string commandLineText)
        {
            var sb            = new StringBuilder();
            var commandString = commandLineText;
            var commandArgs   = commandString.Split(' ', '\t').ToList <string>();
            var command       = commandArgs[0];
            var cmdCnt        = commandArgs.Count;

            switch (command)
            {
            case "device":
                #region ElectricalDevice case
                if (cmdCnt == 1)
                {
                    sb.Append("Invalid command.");
                }
                else
                {
                    var arg1 = commandArgs[1];
                    switch (arg1)
                    {
                    case "add":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var deviceName     = commandArgs[2];
                            var newDevice      = env.CreateDevice(deviceName);
                            var newDevicePower = Int32.Parse(commandArgs[3]);
                            newDevice.PowerConsumption = newDevicePower;
                            if (newDevice == null)
                            {
                                sb.Append("A device with this name already exists.");
                            }
                            else
                            {
                                sb.Append("New Device \"" + newDevice.Name + "\" successfully created.");
                            }
                        }
                        break;

                    case "remove":
                        if (cmdCnt != 3)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var deviceName = commandArgs[2];
                            if (env.FindDeviceByName(deviceName) == null)
                            {
                                sb.Append("No such device exists.");
                            }
                            else
                            {
                                env.RemoveDevice(env.FindDeviceByName(deviceName));
                                sb.Append("Device \"" + deviceName + "\" has been deleted.");
                            }
                        }
                        break;

                    case "connect":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var dev1Name = commandArgs[2];
                            var dev2Name = commandArgs[3];
                            if (env.FindDeviceByName(dev1Name) == null || env.FindDeviceByName(dev1Name) == null)
                            {
                                sb.Append("One or both of the devices doesn't exist.");
                            }
                            else
                            {
                                var dev1 = env.FindDeviceByName(dev1Name);
                                var dev2 = env.FindDeviceByName(dev2Name);
                                if (dev1 == null)
                                {
                                    sb.Append("First device does not exist.");
                                }
                                else if (dev2 == null)
                                {
                                    sb.Append("Second device does not exist.");
                                }
                                else
                                {
                                    env.ConnectDevices(dev1, dev2);
                                    sb.Append("Devices \"" + dev1Name + "\" and \"" + dev2Name + "\" are now connected.");
                                }
                            }
                        }
                        break;

                    case "disconnect":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var dev1Name = commandArgs[2];
                            var dev2Name = commandArgs[3];
                            if (env.FindDeviceByName(dev1Name) == null || env.FindDeviceByName(dev2Name) == null)
                            {
                                sb.Append("One or both of the devices doesn't exist.");
                            }
                            else
                            {
                                env.DisconnectDevices(env.FindDeviceByName(dev1Name), env.FindDeviceByName(dev2Name));
                                sb.Append("Devices \"" + dev1Name + "\" and \"" + dev2Name + "\" are now disconnected.");
                            }
                        }
                        break;

                    default:
                        sb.Append("Invalid command.");
                        break;
                    }
                }
                #endregion
                break;

            case "switch":
                #region ElectricalSwitch case

                if (cmdCnt == 1)
                {
                    sb.Append("Invalid command.");
                }
                else
                {
                    var arg1 = commandArgs[1];
                    switch (arg1)
                    {
                    case "add":
                        if (cmdCnt != 3)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var switchName = commandArgs[2];
                            var newSwitch  = env.CreateSwitch(switchName);
                            if (newSwitch == null)
                            {
                                sb.Append("A switch with this name already exists.");
                            }
                            else
                            {
                                sb.Append("New Device \"" + newSwitch.Name + "\" successfully created.");
                            }
                        }
                        break;

                    case "remove":
                        if (cmdCnt != 3)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var switchName = commandArgs[2];
                            if (env.FindSwitchByName(switchName) == null)
                            {
                                sb.Append("No such device exists.");
                            }
                            else
                            {
                                var sw = env.FindSwitchByName(switchName);
                                env.RemoveSwitch(sw);
                                sb.Append("Device \"" + sw.Name + "\" has been deleted.");
                            }
                        }
                        break;

                    case "connect":
                        if (cmdCnt != 5)
                        {
                            sb.Append("Invalid arguments.");
                        }
                        else
                        {
                            var sw   = env.FindSwitchByName(commandArgs[2]);
                            var dev1 = env.FindDeviceByName(commandArgs[3]);
                            var dev2 = env.FindDeviceByName(commandArgs[4]);
                            if (sw == null)
                            {
                                sb.Append("Switch does not exist.");
                            }
                            else if (dev1 == null)
                            {
                                sb.Append("First device does not exist.");
                            }
                            else if (dev2 == null)
                            {
                                sb.Append("Second device does not exist.");
                            }
                            else
                            {
                                env.ConnectDevices(sw.FirstContact, dev1);
                                env.ConnectDevices(sw.SecondContact, dev2);
                                sb.Append("Switch " + sw.Name + " is now connected to " + dev1.Name + " and " + dev2.Name + ".");
                            }
                        }
                        break;

                    case "disconnect":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid arguments.");
                        }
                        else
                        {
                            var sw  = env.FindSwitchByName(commandArgs[2]);
                            var dev = env.FindDeviceByName(commandArgs[3]);
                            if (sw == null)
                            {
                                sb.Append("Switch does not exist.");
                            }
                            else if (dev == null)
                            {
                                sb.Append("Device does not exist.");
                            }
                            else
                            {
                                var swContact = new ElectricalDevice();
                                if (dev.ConnectedDevices.Contains(sw.FirstContact))
                                {
                                    swContact = sw.FirstContact;
                                    env.DisconnectDevices(swContact, dev);
                                    sb.Append("Switch " + sw.Name + " was disconnected from " + dev.Name + ".");
                                }
                                else if (dev.ConnectedDevices.Contains(sw.SecondContact))
                                {
                                    swContact = sw.SecondContact;
                                    env.DisconnectDevices(swContact, dev);
                                    sb.Append("Switch " + sw.Name + " was disconnected from " + dev.Name + ".");
                                }
                                else
                                {
                                    sb.Append("Switch " + sw.Name + " and device " + dev.Name + " are not connected.");
                                }
                            }
                        }
                        break;

                    case "state":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid arguments.");
                        }
                        else
                        {
                            var sw       = env.FindSwitchByName(commandArgs[2]);
                            var stateArg = commandArgs[3];
                            if (sw == null)
                            {
                                sb.Append("Switch does not exist.");
                            }
                            else
                            {
                                if (stateArg == "on")
                                {
                                    sw.SwitchState = true;
                                    sb.Append("Switch " + sw.Name + " is now set to ON.");
                                }
                                else if (stateArg == "off")
                                {
                                    sw.SwitchState = false;
                                    sb.Append("Switch " + sw.Name + " is now set to OFF.");
                                }
                                else
                                {
                                    sb.Append("Invalid arguments.");
                                }
                            }
                        }
                        break;

                    default:
                        sb.Append("Invalid command.");
                        break;
                    }
                }

                #endregion
                break;

            case "relay":
            case "add":
                #region ElectricalRelay case

                if (cmdCnt == 1)
                {
                    sb.Append("Invalid command.");
                }
                else
                {
                    var arg1 = commandArgs[1];
                    switch (arg1)
                    {
                    case "add":
                        if (cmdCnt != 5)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var relayName              = commandArgs[2];
                            var newRelay               = env.CreateRelay(relayName);
                            var newRelayCoilPower      = Int32.Parse(commandArgs[3]);
                            var newRelayNormallyClosed = bool.Parse(commandArgs[4]);
                            newRelay.Coil.PowerConsumption = newRelayCoilPower;
                            newRelay.NormallyClosed        = newRelayNormallyClosed;
                            if (newRelay == null)
                            {
                                sb.Append("A relay with this name already exists.");
                            }
                            else
                            {
                                sb.Append("New relay \"" + newRelay.Name + "\" successfully created.");
                            }
                        }
                        break;

                    case "remove":
                        if (cmdCnt != 3)
                        {
                            sb.Append("Invalid amount of arguments.");
                        }
                        else
                        {
                            var relayName = commandArgs[2];
                            if (env.FindSwitchByName(relayName) == null)
                            {
                                sb.Append("No such switch exists.");
                            }
                            else
                            {
                                var relay = (ElectricalRelaySPST)env.FindSwitchByName(relayName);
                                env.RemoveRelay(relay);
                                sb.Append("Relay \"" + relay.Name + "\" has been deleted.");
                            }
                        }
                        break;

                    case "connect":
                        if (cmdCnt != 6)
                        {
                            sb.Append("Invalid arguments.");
                        }
                        else
                        {
                            var relay = (ElectricalRelaySPST)env.FindSwitchByName(commandArgs[2]);
                            var dev1  = env.FindDeviceByName(commandArgs[3]);
                            var dev2  = env.FindDeviceByName(commandArgs[4]);
                            var devc  = env.FindDeviceByName(commandArgs[5]);
                            if (relay == null)
                            {
                                sb.Append("Switch does not exist.");
                            }
                            else if (dev1 == null)
                            {
                                sb.Append("First device does not exist.");
                            }
                            else if (dev2 == null)
                            {
                                sb.Append("Second device does not exist.");
                            }
                            else if (devc == null)
                            {
                                sb.Append("Coil-connected device does not exist.");
                            }
                            else
                            {
                                env.ConnectDevices(relay.FirstContact, dev1);
                                env.ConnectDevices(relay.SecondContact, dev2);
                                env.ConnectDevices(relay.Coil, devc);
                                sb.Append("Switch " + relay.Name + " is now connecting " + dev1.Name + " and " + dev2.Name + ", with its coil connected to " + devc.Name + ".");
                            }
                        }
                        break;

                    case "disconnect":
                        if (cmdCnt != 4)
                        {
                            sb.Append("Invalid arguments.");
                        }
                        else
                        {
                            var sw  = (ElectricalRelaySPST)env.FindSwitchByName(commandArgs[2]);
                            var dev = env.FindDeviceByName(commandArgs[3]);
                            if (sw == null)
                            {
                                sb.Append("Switch does not exist.");
                            }
                            else if (dev == null)
                            {
                                sb.Append("Device does not exist.");
                            }
                            else
                            {
                                var swContact = new ElectricalDevice();
                                if (dev.ConnectedDevices.Contains(sw.FirstContact))
                                {
                                    swContact = sw.FirstContact;
                                    env.DisconnectDevices(swContact, dev);
                                    sb.Append(sw.FirstContact.Name + " was disconnected from " + dev.Name + ".");
                                }
                                else if (dev.ConnectedDevices.Contains(sw.SecondContact))
                                {
                                    swContact = sw.SecondContact;
                                    env.DisconnectDevices(swContact, dev);
                                    sb.Append(sw.SecondContact.Name + " was disconnected from " + dev.Name + ".");
                                }
                                else if (dev.ConnectedDevices.Contains(sw.Coil))
                                {
                                    swContact = sw.Coil;
                                    env.DisconnectDevices(swContact, dev);
                                    sb.Append(sw.Coil.Name + " was disconnected from " + dev.Name + ".");
                                }
                                else
                                {
                                    sb.Append("Switch " + sw.Name + " and device " + dev.Name + " are not connected.");
                                }
                            }
                        }
                        break;

                    default:
                        sb.Append("Invalid command.");
                        break;
                    }
                }

                #endregion
                break;

            default:
                #region Help Message
                ConsoleWriteLine("Available Commands:\n");
                ConsoleWriteLine("device add <deviceName> <powerConsumption>");
                ConsoleWriteLine("device remove <deviceName>");
                ConsoleWriteLine("device connect <device1Name> <device2Name>");
                ConsoleWriteLine("device disconnect <device1Name> <device2Name>");
                ConsoleWriteLine("switch add <switchName>");
                ConsoleWriteLine("switch remove <switchName>");
                ConsoleWriteLine("switch connect <switchName> <device1Name> <device2Name>");
                ConsoleWriteLine("switch disconnect <switchName> <deviceName>");
                ConsoleWriteLine("switch state <switchName> <\"on\"/\"off\">");
                ConsoleWriteLine("relay add <relayName> <coilPower> <normallyClose[true/false]>");
                ConsoleWriteLine("relay remove <relayName>");
                ConsoleWriteLine("relay connect <relayName> <device1Name> <device2Name>");
                ConsoleWriteLine("relay disconnect <switchName> <deviceName>");
                ConsoleWriteLine("\nA valid script is text file containing the above commands in separate lines.");
                #endregion
                break;
            }
            ConsoleWrite(sb.ToString() + Environment.NewLine);
        }
示例#5
0
 public void HardDelete(ElectricalDevice electricalDevice)
 {
     this.electricalDeviceRepository.HardDelete(electricalDevice);
     this.electricalDeviceRepository.SaveChanges();
 }
示例#6
0
 public void Update(ElectricalDevice electricalDevice)
 {
     this.electricalDeviceRepository.Update(electricalDevice);
     this.electricalDeviceRepository.SaveChanges();
 }
示例#7
0
 public void Add(ElectricalDevice electricalDevice)
 {
     this.electricalDeviceRepository.Add(electricalDevice);
     this.electricalDeviceRepository.SaveChanges();
 }