List <UIElement> listUI; // Список ui элементов для смены их в grid

        /// <summary>
        /// Настройка окна ServerWindows
        /// </summary>
        public ServerWindow()
        {
            AppConfigManager.CreateConfigParameters("ip_address", "port");

            if (Authorization(out string address, out int port))
            {
                DataContext = new ServerVM(address, port);
            }
            else
            {
                Application.Current.Shutdown();
            }

            InitializeComponent();

            listUI = new List <UIElement>
            {
                clientsListBox,
                filesListBox,
                logTextBox
            };
            dataGrid.Children.Clear();
            dataGrid.Children.Add(listUI[0]);
            listViewMenu.SelectedIndex = 0;
        }
        public ActionResult Create()
        {
            // To be modified: global method for status in development
            var model = new ServerVM
            {
                StatusList      = _serverRepo.GetStatusList(),
                LocationList    = _serverRepo.GetLocationList(),
                ServerTypeList  = _serverRepo.GetServerTypeList(),
                ApplicationList = _selectRepo.GetApplicationList()
            };

            return(View(model));
        }
        public async Task <string> PausePlay(IPAddress ipAdress, string hostname)
        {
            //var member = ServerVM.ConnectedMembers.Where(c => c.IPAddress.Equals(hostname)).SingleOrDefault();
            //if(member == null)
            //{
            //    member = new WcfMember { Hostname = hostname, LoginDate = DateTime.Now };
            //    ServerVM.ConnectedMembers.Add(member);
            //    ServerVM.WriteToLog($"{member.Hostname} hat Pause/Play gedrückt");
            //}


            ServerVM.WriteToLog($"{hostname} hat Pause/Play gedrückt");
            string res = await SpotifyProvider.PerformPlayAsync();

            return(res);
        }
        ///Creates a new server from ServerVM
        public bool AddServer(ServerVM model, out string msg)
        {
            try
            {
                Server s = _context.Server.Where(a => a.ServerName == model.ServerName).FirstOrDefault();

                if (s != null)
                {
                    msg = "Server name already exist.";
                    return(false);
                }

                Server newServer = new Server();
                newServer.ServerName   = model.ServerName;
                newServer.StatusID     = model.StatusID;
                newServer.LocationID   = model.LocationID;
                newServer.Description  = model.Description;
                newServer.ServerTypeID = model.ServerTypeID;
                newServer.ReferenceID  = Guid.NewGuid().ToString();

                if (model.ApplicationReferenceIDs == null)
                {
                    model.ApplicationReferenceIDs = new string[0];
                }

                var applications = _context.Application.Where(b => model.ApplicationReferenceIDs.Contains(b.ReferenceID));

                newServer.Applications = applications.ToList();
                _context.Server.Add(newServer);

                _context.SaveChanges();

                msg = "Server successfully added";
                return(true);
            }
            catch (Exception e)
            {
                if (e is SqlException)
                {
                }

                msg = "Failed to add server.";
                return(false);
            }
        }
        public ActionResult Create(ServerVM model)
        {
            if (ModelState.IsValid)
            {
                if (_serverRepo.AddServer(model, out string msg))
                {
                    TempData["SuccessMsg"] = msg;
                    return(RedirectToAction("Index"));
                }

                TempData["ErrorMsg"] = msg;
            }

            model.StatusList      = _serverRepo.GetStatusList();
            model.LocationList    = _serverRepo.GetLocationList();
            model.ServerTypeList  = _serverRepo.GetServerTypeList();
            model.ApplicationList = _selectRepo.GetApplicationList();

            return(View(model));
        }