Inheritance: Repository, IServerRepository
        public static void CheckUserData(string userName, string password, string serverUrl, AuthentificateUserCallback callback)
        {
            _authCallback = callback;
            Server server = null;
            _authUser = new User();
            using (var serverRepository = new ServerRepository())
            {
                server = serverRepository.TryGetServerByAddress(serverUrl);

            }
            if (server != null)
            {

                User user = null;
                using (var userRepository = new UserRepository())
                {
                    user = userRepository.TryGetUserByNamePasswordAndServerID(userName, password, server.ID);
                }
                if (user != null)
                {
                    _authUser = user;
                    AuthentificateUserCallback(AuthentificationCode.LoginSuccessed);
                    return;
                }

                _authUser.ServerID = server.ID;
            }
            else
            {
                server = new Server
                {
                    Address = serverUrl,
                };
                _authUser.Server = server;
            }

            _authUser.Name = userName;
            _authUser.Password = password;
            if (InternetChecker.IsInernetActive)
                new AuthentitficationDataService().AuthentificateUser(_authUser.Name, _authUser.Password, serverUrl, CheckUserDataCallback);
            else
                InvokeCallbackWithAuthCodeParameter(AuthentificationCode.NoInternetConnection);
        }
        public void InitializeViewModelExecute()
        {
            this.serverRepository = new ServerRepository();            
            this.settingsRepository = new SettingsRepository();

            currentSettings = settingsRepository.GetCurrentSettings();
            this.Refresh();
        }