/// <summary>
        /// RemoveVirtualMachine - Removes a virtural machine with id
        /// </summary>
        /// <param name="id">Unique identifier</param>
        public void RemoveVirtualMachine(string id)
        {
            VirtualMachineModel vm = _VirtualMachines.Find(x => x.ID == id);

            if (vm != null)
            {
                vm.Destroy = true;
                _VirtualMachines.Remove(vm);
                vm.Dispose();
            }
        }
        /// <summary>
        /// Loads virtual machines
        /// </summary>
        /// <param name="basePath">Database path</param>
        /// <param name="provider">Provider name</param>
        /// <param name="env">Environment type</param>
        /// <param name="eId">Envinronment ID</param>
        /// <param name="vId">VM ID</param>
        private void LoadVirtualMachines(
            string basePath,
            string provider,
            EnvironmentTypes env,
            string eId = "",
            string vId = "")
        {
            {
                string   environment = Enum.GetName(typeof(EnvironmentTypes), env);
                string[] names       = Directory.GetDirectories(basePath + "/" + provider + "/" + environment + "/" + eId);

                foreach (string x in names)
                {
                    string[] xArr = x.Split('/');
                    string   xf   = xArr[xArr.Length - 1];
                    if (!(xf.ToLower().IndexOf("sql") > 0))
                    {
                        string fileName = basePath + "/" + provider + "/" + environment + "/" + eId + "/" + xf + "/config.json";

                        if (File.Exists(fileName))
                        {
                            string              jsonString = File.ReadAllText(fileName);
                            MachineModel        mm         = ParseVM(jsonString);
                            VirtualMachineModel vm         = new VirtualMachineModel(
                                basePath + "/" + provider + "/" + environment + "/" + eId,
                                mm.OS,
                                mm.CPU,
                                mm.Memory,
                                false,
                                xf);

                            _VirtualMachines.Add(vm);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// AddVirtualMachine creates a virtual machine and add to the list _VirtualMachines
        /// </summary>
        /// <param name="os">Virtual Machine operating system</param>
        /// <param name="cpu">CPU of the virtual machine</param>
        /// <param name="memory">Virtual machine physical memory</param>
        public void AddVirtualMachine(OSPlatform os, float cpu, float memory)
        {
            VirtualMachineModel vm = new VirtualMachineModel(_EnvPath, os, cpu, memory);

            _VirtualMachines.Add(vm);
        }